{Access} renseigner nom table et champ en VBA

Résolu
Bonjour à tous,

Voici ma question :
Pouvez-vous me donner la synthaxe pour renseigner le nom d'un d'une table dans du code VBA.
Je m'explique :
J'ai besoin de vérifier si la valeur rentrée dans une textbox n'existe pas déjà dans une cham d'une table.

Ce serait un truc du genre :

Private Sub copie_seq_Click()

If Textbox.Value = [Nom_Table]![Nom_Champ] then
DoCmd.CancelEvent
End If

Je ne connais pas la synthaxe de ce que j'ai mis en gras.

Quelqu'un peut-il m'aider ??

Merci à vous

SliverPopop
--
J'sais pas c'qui t'ont fait si c'est un ch'val ou une truie là, t'as vu ta tronche ou quoi,ils t'ont pas raté. On peut aussi faire un bouquin sur halloween si tu veux ? Vas te faire refaire va.... Alien !!!
Configuration: Windows XP Internet Explorer 6.0

12 réponses

  1. Modérateur
    Salut,

    ca ne marchera pas, tu ne vas pas tester la valeur du champ avec le contenu de la table, mais tu vas tester si la valeur du champ possède le même nom qu'un champ...

    Ce qu'il te faut dans ce cas, c'est utiliser la fonction dlookup. Regarde l'aide à ce sujet et reviens nous voir si tu n'as pas tout compris...
    0
    1. Merci de ta réponse, Je regardes ça et je reviens vous voir si ya quelque chose qui coince.

      A+
      0
      1. J'ai l'impression que cette fonction ne répond pas totalement à mes besoins.
        Je souhaiterai que lorsque je clic sur le bouton, il vérifie si la valeur de la textbox n'existe pas dans une de mes tables, et si c'est le cas, il stop l'action engagée par le clic sur le bouton.

        Merci de votre aide
        0
        1. Modérateur
          Dans une seule table et un seul champ de cette table ?
          0
          1. Modérateur
            Un truc comme ça devrait faire l'affaire :

            If Not IsNull(DLookup("champ", "table", "champ = '" & textbox.Value & "'")) Then
                MsgBox "trouvé"
            End If
            
            0
            1. Salut,

              Merci, ça marche parfaitement, maintenant jer souhaiterai annuler l'action commencée par le clic du bouton.
              Ce n'est pas DoCmd.CancelEvent, qu'est ce donc alors ??? ^^

              SliverPopop
              0
              1. La macro 'annuler événement ' ne fonctionne pas non plus...
                0
                1. Modérateur
                  C'est quoi qui a déjà été fait ?
                  0
                  1. Voici le code du bouton (pas très long) :

                    Private Sub copie_seq_Click()

                    If Not IsNull(DLookup("Part_Number", "Machine", "Part_Number = '" & New_PN.Value & "'")) Then
                    MsgBox "trouvé"
                    End If

                    DoCmd.OpenQuery "Ajout_PN"
                    DoCmd.OpenQuery "Ajout_PN_mach"
                    DoCmd.OpenQuery "afficher_seq"
                    DoCmd.OpenQuery "afficher_seq_mach"
                    Me.Recalc

                    End Sub

                    Je souhaite annuler les 'DoCmd.OpenQuery' si New_PN.value est dans le champ Part_Number de la table Machine.
                    Aurais-tu une idée ?
                    0
                    1. Modérateur
                      Rien n'a été fait, donc rien n'est à annuler, il faut juste quitter la procédure.
                      If Not IsNull(DLookup("Part_Number", "Machine", "Part_Number = '" & New_PN.Value & "'")) Then
                          Exit sub
                      End If 

                      Tout simplement...
                      0
                      1. Oh pinaize bien sur, merci. Problème réglé.

                        Merci encore.
                        Je mets ce post en résolu.

                        A+
                        SliverPopop
                        0