Difficultées avec un formulaire Ms access

Fermé
Tilk - 24 févr. 2006 à 10:07
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 - 1 mars 2006 à 14:30
Bonjour,

je suis en face d'un formulaire sous microsoft access qui contient deux objets : une zone de texte independante et un bouton de commande qui doit ouvrir un formulaire.

je voudrais que le bouton de commande n'ouvre son formilaire qu'apres test et validation de l'entrée de la zone de test !!!

Comment faire ?

4 réponses

darwin42 Messages postés 259 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 21 juillet 2008 67
24 févr. 2006 à 11:28
salut, si j'ai bien compris ce que tu voulais :

précision --> je ne me souviens plus vraiment de la syntaxe VBA, mais ça doit donner un truc du style...

If Text1.Text<>"" Then
Docmd.Open "MonFormulaire"
End

ou si l'utilisateur doit rentrer une valeur particulière dans le champs :

If Text1.Text="mavaleur" Then
Docmd.Open "MonFormulaire"
End
0
Slt darwin42 !

j'ai testé ton code mais il me renvoi une erreur
"impossible de faire reference à une propriete ou de la definir pour un controle si ce dernier n'est pas activé"
voici la procedure en question
"Private Sub Commande2_Click()
On Error GoTo Err_Commande2_Click

Dim stDocName As String
Dim stLinkCriteria As String

If Texte0.Text = "private" Then
DoCmd.OpenForm "Menu"
End If
Exit_Commande2_Click:
Exit Sub
Err_Commande2_Click:
MsgBox Err.Description
Resume Exit_Commande2_Click

End Sub

Que faut il faire? une idée ?

merci à tous
0
darwin42 Messages postés 259 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 21 juillet 2008 67
24 févr. 2006 à 18:55
au lieu de : If Texte0.Text = "private",


met plutot

If Texte0= "private" j'ai testé, ça marche
0
Merci Darwin42

c'est bon merci baucoup ca marche
Mais je voudrais aller plus loin !
je voudrais qu'au lieu de faire la comparaison avec la valeur fixe "private" dans le code, que cette comparaison soit faite avec une valeur dans un champs d'une table par ex: le champs "Nom" de la table "CLIENT"
comment s'y prendre ?

Merci
0
Utilisateur anonyme
1 mars 2006 à 10:49
Bonjour,

il faut que tu utilises la fonction dlookup.

DLookup("ton_champ", "ta_table", "ton_critère")
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 181
1 mars 2006 à 14:30
On peut faire mieux, je pense

Par exemple en créant avec l'assistant une zone de liste modifiable fondée sur la table clients (incluant au moins la clé primaire (cachée) et le nom du client)

et, dans les propriétés, sur clic, une macro ou du code permettant d'ouvrir le formulaire client au bon enregistrement:

DoCmd.OpenForm "NomDuFormulaire",,"Forms!NomDuFormulaire!N°Client=ListeModifiable"
0