{Access} renseigner nom table et champ en VBA

Résolu
sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   -  
sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   -
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. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  2. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    Merci de ta réponse, Je regardes ça et je reviens vous voir si ya quelque chose qui coince.

    A+
    0
  3. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    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
  4. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Dans une seule table et un seul champ de cette table ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    Oui en effet.
    0
  7. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Un truc comme ça devrait faire l'affaire :

    If Not IsNull(DLookup("champ", "table", "champ = '" & textbox.Value & "'")) Then
        MsgBox "trouvé"
    End If
    
    0
  8. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    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
  9. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    La macro 'annuler événement ' ne fonctionne pas non plus...
    0
  10. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    C'est quoi qui a déjà été fait ?
    0
  11. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    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
  12. blux Messages postés 2045 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  13. sliverpopop Messages postés 924 Date d'inscription   Statut Membre Dernière intervention   77
     
    Oh pinaize bien sur, merci. Problème réglé.

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

    A+
    SliverPopop
    0