Access 2002 et les formulaires

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

  1. 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
    1. 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
      1. 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