Valide si ?

cs_lucy64 Messages postés 13 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 2 décembre 2004 - 9 juin 2004 à 13:24
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 - 9 juin 2004 à 22:04
Salut à tous,

Je travaille sous Access 2000.

Dans un formulaire, une zone de texte permet de renseigner une table. Je voudrais que cet enregistrement soit valide si le texte entré est contenu dans une autre table.

Merci à tous,

Jeune et Jolie

2 réponses

Mooiz Messages postés 128 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 juillet 2005
9 juin 2004 à 17:01
Salut à toi

dans l'evenement qui te fait valider le contenu de ta textbox (clic sur un bouton par exemple) tu fait un truc dans le genre :

'construction de la requete, avec TEXTBOX le nom de ta zone de texte et TABLE le nom de la table dans laquelle il faut rechercher ton textesql "select * from TABLE where NOM'" & TEXTBOX.Text & "'"

'execution de ta requête
dim rst as reccordset
set rst = currentdb.openreccordset(sql)

'si tu récupère un recordset vide, ca veut dire qu'il n'existe pas de chaine qui correspond à ce que tu as ecrit dans ta zone de texte. Si ton recordset est vide, alors il est en fin de fichier (eof). Donc :

if not rst.eof then
'ici le cas ou l'enregistrment est valide
else
'l'autre cas
endif

et voila

PS : waiting for ur MPs
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
9 juin 2004 à 22:04
Salut ;O)

Plus simplement en utilisant la fonction de domaine DCOUNT, dans l'événement BeforeUpdate de ton TextBox, place ceci :

Private Sub MyTextBox_BeforeUpdate(Cancel As Integer)

Dim X as Long

X = DCount("FieldToReturn", "MyTable", "FieldToReturn='" & Me.MonTexte.Value & "'")

If X then
MsgBox "L'enregistrement existe déjà"
'ceci permet d'annuler l'entrée de la TextBox
Cancel= -1
end if

End Sub

Espérant aider...

Guy
0
Rejoignez-nous