IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

DLookup sur deux critères


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Points : 96
    Points
    96
    Par défaut DLookup sur deux critères
    Bonjour,

    Je cherche à envoyer un message à l'utilisateur lorsqu'il veut saisir un numéro d'inventaire qui existe déjà dans la base, pour le site donné.

    Pourriez-vous me dire comment corriger mon erreur, s'il vous plaît ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub N°Inventaire_AfterUpdate()
     
        'Vérification si présence de doublons
        If Not IsNull([N°Inventaire]) Then
            If Not IsNull(DLookup("N°Inventaire", "CeramProtoR", "[Site]='" & Me.cbo_Site & "'" And [N°Inventaire] = Me.N°Inventaire)) = True Then
                MsgBox "Ce numéro d'inventaire a déjà été saisi", vbCritical + vbOKOnly, "Saisie de doublon"
                [N°Inventaire].SelStart = 0
                [N°Inventaire].SelLength = Len([N°Inventaire])
                Cancel = True
            End If
        End If
        Exit Sub
     
    End Sub
    Le N°Inventaire a la forme : ####.###.####

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 361
    Points
    34 361
    Par défaut
    salut,
    esasie avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub N°Inventaire_AfterUpdate()
     
        'Vérification si présence de doublons
        If Not IsNull([N°Inventaire]) Then
            If Not IsNull(DLookup("N°Inventaire", "CeramProtoR", "[Site]='" & Me.cbo_Site & "' And [N°Inventaire] = " & Me.N°Inventaire )) = True Then
                MsgBox "Ce numéro d'inventaire a déjà été saisi", vbCritical + vbOKOnly, "Saisie de doublon"
                [N°Inventaire].SelStart = 0
                [N°Inventaire].SelLength = Len([N°Inventaire])
                Cancel = True
            End If
        End If
        Exit Sub
     
    End Sub

  3. #3
    Membre régulier Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Points : 96
    Points
    96
    Par défaut
    J'ai un message d'erreur 3464 : Type de données incompatible dans l'expression du critère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub N°Inventaire_AfterUpdate()
     
        'Vérification si présence de doublons
        If Not IsNull([N°Inventaire]) Then
            If Not IsNull(DLookup("N°Inventaire", "CeramProtoR", "[Site]='" & Me.cbo_Site & "' And [N°Inventaire] = " & Me.N°Inventaire )) = True Then
                MsgBox "Ce numéro d'inventaire a déjà été saisi", vbCritical + vbOKOnly, "Saisie de doublon"
                [N°Inventaire].SelStart = 0
                [N°Inventaire].SelLength = Len([N°Inventaire])
                Cancel = True
            End If
        End If
        Exit Sub
        
    End Sub

    Edit : Erreur de ma part... ça fonctionne avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub N°Inventaire_AfterUpdate()
     
        'Vérification si présence de doublons
        If Not IsNull([N°Inventaire]) Then
            If Not IsNull(DLookup("N°Inventaire", "CeramProtoR", "[Site]='" & Me.cbo_Site & "' And [N°Inventaire]='" & Me.N°Inventaire & "'")) = True Then
                MsgBox "Ce numéro d'inventaire a déjà été saisi", vbCritical + vbOKOnly, "Saisie de doublon"
                [N°Inventaire].SelStart = 0
                [N°Inventaire].SelLength = Len([N°Inventaire])
                Cancel = True
            End If
        End If
        Exit Sub
     
    End Sub
    Merci jpcheck de m'avoir mise sur la voie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtre sur deux critères Hfiltre
    Par reamgm dans le forum WinDev
    Réponses: 10
    Dernier message: 28/05/2013, 01h46
  2. Tri sur deux critères
    Par Flo4594 dans le forum Access
    Réponses: 2
    Dernier message: 22/12/2006, 14h55
  3. Afficher un résultat sur deux critères du même champ
    Par julien6660 dans le forum Access
    Réponses: 2
    Dernier message: 20/04/2006, 11h30
  4. Sélection sur deux critères
    Par Hbenne dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 16h18
  5. concaténation sur deux critères
    Par stéphane_ais2 dans le forum Access
    Réponses: 7
    Dernier message: 29/11/2005, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo