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 :

Msgbox si doublons


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Décembre 2016
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Msgbox si doublons
    Bonjour,

    j'ai passé ma matinée à essayer de triturer un bout de code et de l'adapter à mon cas, mais sans succès.
    J'ai un formulaire qui sert à mettre à jour les informations concernant un fournisseur.
    J'ai un code identifiant mes fournisseurs, qui peut revenir plus d'une fois si le fournisseur exerce dans différentes régions.
    Lorsque je sélectionne ce code pour afficher et mettre à jour les infos, j'aimerais qu'une msgbox s'affiche, si il y a plus qu'un code identique dans ma db, afin de savoir qu'il existe d'autres entrées à mettre à jour.
    Mes données:
    Table = T_Fournisseur
    Code identifiant`= Code_Space
    Nom de la zone de liste déroulante servant à choisir le code: Modifiable216

    J'ai essayé de rentrer ceci entre autres, mais je ne comprends pas vraiment la syntaxe.... :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Modifiable216_Change()
    If DCount("*", "[T_Fournisseur]", "[Code_Space]='" & Me!Modifiable216.Value & "'") > 1 Then
      MsgBox "Fournisseur présent plus d'uen fois dans le bottin !", vbCritical
      Cancel = True
    End If
    End Sub
    Merci pour votre aide.

    Laurent.

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 181
    Points : 5 512
    Points
    5 512
    Par défaut
    Bonjour,

    L'événement "change" ne peut être annulé (Cancel = True)

    Il faut aller sur l'événement "Avant MAJ", qui peut être annulé, et y créer la procédure événementielle suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Modifiable216_BeforeUpdate(Cancel As Integer)
       If DCount("*", "[T_Fournisseur]", "[Code_Space]='" & Me!Modifiable216 & "'") > 1 Then
          MsgBox "Fournisseur " &  Me!Modifiable216 & " présent plus d'une fois dans le bottin !", vbCritical, "Anomalie" 
          Cancel = True
       End If
    End Sub
    Le DCount() va compter le nombre de fois que la valeur sélectionnée dans le déroulant est présente dans la table T_Fournisseur.

    L'annulation va faire que la valeur sélectionnée ne sera pas acceptée (retour à la valeur initialement affichée dans le déroulant).

    Bonne continuation.

Discussions similaires

  1. [XL-2013] Msgbox détection doublon sans détection des lignes vides
    Par borisp dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/05/2016, 16h27
  2. [AC-2007] MsgBox Saisie Doublons dans formulaire
    Par borisp dans le forum IHM
    Réponses: 20
    Dernier message: 21/09/2011, 09h19
  3. [AC-2003] Alerte MSGBOX sur doublons
    Par Joss0109 dans le forum IHM
    Réponses: 2
    Dernier message: 08/12/2010, 09h25
  4. Faire apparaître un msgbox lors de la suppression de doublons
    Par dandy87 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2010, 18h32
  5. msgbox doublons
    Par philpaul dans le forum Access
    Réponses: 3
    Dernier message: 13/02/2006, 14h07

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