Access 2002 et les formulaires

kubito Messages postés 320 Statut Membre -  
kubito Messages postés 320 Statut Membre -
slt a tous,

Allez bien ?
Voila le topo :

Private Sub cmdValider_Click()

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("identite")
rs.AddNew
rs.Fields("Nom") = Me.txtNom
rs.Fields("Prénom") = Me.txtPrenom
rs.Fields("N° de secu") = Me.txtNSecu
rs.Update

End Sub

A la ligne 7, 8 et 9 on a apres le sigle "=" des ME.quelque chose. Ce code marche tres bien mais je voulais savoir pourquoi en mettant, a la ligne 7 par ex, txtNom.text a la place de Me.txtNom, ca ne marche pas ; car a la base, quand on recupere les valeurs d'une zone de texte en VB, on a l'extension .text, non ?
Si vous avez des éléments de reponse, je suis preneur.
Merci d'avance.

bye

_______________________________
SCV ready to go sir

3 réponses

kubito Messages postés 320 Statut Membre 12
 
je voudrais rajouter : quand on fait appel a un formulaire X a partir d'un formulaire Y, on est bien d'accord qu'il faut creer un autre formulaire. Je veux dire par la que dans la petite fenetre ou il est affiché les tables, requetes,..., macros et modules dans la rubrique formulaire, on doit voir le X et le Y ?
Esyt ce exact ?
Merci

bye

_______________________________
SCV ready to go sir
0
goldenboy68 Messages postés 130 Statut Membre 50
 
Alors, oui, X et Y apparaîtront dans "Formulaires" (la petite fenêtre). Ca c'est logique!

Sinon pour le "Me", en fait, il veut dire qu'on se rapporte au formulaire actif...exemple:

Ton formulaire "X" avec un champ qui s'appelle "texte1"
Pour afficher la valeur du champ, tu peux écrire:
MsgBox Me.texte1.Value
ou
MsgBox X.texte1.Value

Le "Me" est un raccourci! (dans l'exemple, c'est pas le cas puisque "X" est plus court...une exception!)

Si ton formulaire s'appelle "Le Formulaire 1" tu dois écrire ça:
MsgBox Me.texte1.Value
ou
MsgBox [Le Formulaire 1].texte1.Value 'Là, le "Me" est plus court!

Rq: tu pourras trouver un "!" après le "Me", mais ça change rien du tout!

Dernière chose: le fait de toujours avoir "Me" ou le nom du formulaire devant le nom du champ, permet d'avoir un champ "Texe1" sur le formulaire "X" et un autre du même nom sur le formulaire "Y"!

Encore un truc: tu peux appeler la valeur du champ "Texte1" du formulaire "Y" à partir du formulaire "X"...et dans ce cas, tu ne pourras pas utiliser le "Me"!

Voilà, on a fait le tour je crois!
0
kubito Messages postés 320 Statut Membre 12
 
merci pour ces precieuses infos.
Cela dit, pourkoi on peut ecrire en vb : string = me.texte1.text
alors que sous access, ca marche pas, il faut mettre string = me.texte1 sans l'extansion "text" ?
Merci d'avance

_______________________________
SCV ready to go sir
0