Difficultées avec un formulaire Ms access

Tilk -  
zenon Messages postés 729 Statut Membre -
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 265 Statut Membre 67
 
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
Tilk
 
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 265 Statut Membre 67
 
au lieu de : If Texte0.Text = "private",


met plutot

If Texte0= "private" j'ai testé, ça marche
0
Tilk
 
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
 
Bonjour,

il faut que tu utilises la fonction dlookup.

DLookup("ton_champ", "ta_table", "ton_critère")
0
zenon Messages postés 729 Statut Membre 180
 
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