Access 2002 et les formulaires

Fermé
kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 - 27 mai 2004 à 10:24
kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 - 29 mai 2004 à 18:10
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
A voir également:

3 réponses

kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 12
29 mai 2004 à 13:04
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 Date d'inscription vendredi 3 octobre 2003 Statut Membre Dernière intervention 11 janvier 2010 50
29 mai 2004 à 18:02
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 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 12
29 mai 2004 à 18:10
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