Rechercher : dans
Par :

Difficultées avec un formulaire Ms access

Dernière réponse le 1 mar 2006 à 14:30:46 Tilk, le 24 fév 2006 à 10:07:17 
 Signaler ce message aux modérateurs

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 ?

1

darwin42, le 24 fév 2006 à 11:28:52

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

Répondre à darwin42

2

Tilk, le 24 fév 2006 à 18:29:52

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

Répondre à Tilk

3

darwin42, le 24 fév 2006 à 18:55:24

Au lieu de : If Texte0.Text = "private",


met plutot

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

Répondre à darwin42

4

Tilk, le 1 mar 2006 à 09:47:15

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

Répondre à Tilk

5

HDU, le 1 mar 2006 à 10:49:16

Bonjour,

il faut que tu utilises la fonction dlookup.

DLookup("ton_champ", "ta_table", "ton_critère")
TCHUZZZZZZZZZZZZZZ
@+

Répondre à HDU

6

 zenon, le 1 mar 2006 à 14:30:46

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"

Répondre à zenon