Msg d'erreur de doublon personnalisé

Ragus77 Messages postés 7 Statut Membre -  
 Ragus77 -
Bonjour,

J'ai un textBox "frmLabel" dans un formulaire qui pointe sur une table dans les paramèttres de ce champ, j'ai mis :
Chaine vide autorisé : OUI
Indexé : Oui sans doublons
J'ai besoin d'avoir des données vide dans ce champ MAIS je ne veut pas de doublons lors de la saisi, ça fonctionne mais le mas d'erreur d'acces (ACCESS 2007) ne m'indique pas quel est le champ qui contient l'erreur de doublon. Voici le code que j'ai mis :

Private Sub frmLabel_AfterUpdate()
'   label   :   Nom du champ de la table
'   frmLabel :  Nom de la zone de texte du formulaire
On Error GoTo rr:
Exit Sub
 
rr:
frmLabel = "": MsgBox "Ce label existe déja !"
 
End Sub 


Ca ne fonctionne pas, j'ai quand même le msg d'erreur d'access et pas le mien, j'ai essayé plein de chose comme Err.Number mais il me donne pas le N° de code qui est normalement si je ne me trompe pas : 3022

4 réponses

  1. Ragus77 Messages postés 7 Statut Membre
     
    Bonjour,

    Personne pour m'aider ?
    Si besoin je peut joindre une piece jointe épuré, pour ne garder que le pb.
    0
  2. Ragus77
     
    Bonjour,

    J'ai plusieurs textbox différents, lorsque je passe sur un autre enregistrement, je veut savoir sur quel textbox se trouve le doublon.
    Je n'arrive pas a trouver la manip si quelqu'un pouvait m'aider.
    0
  3. Ragus77
     
    Bonjour,

    Il y a cette solution qui marche très bien :

    Private Sub frmLabel_BeforeUpdate(Cancel As Integer)
    If DCount("*", "Table1", "Label = """ & frmLabel & """") <> 0 Then
        MsgBox "doublon", vbCritical
    End If
    End Sub


    MAIS si le champ "Label" est en texte, si le champ est en numérique, il y a un retour d'erreur, quelqu'un s'aurait-il modifier ce code pour les champs de type numérique ?
    0
  4. Ragus77
     
    Bonjour,

    On m'a donné la solution qui fonctionne très bien :

    Vérification doublon sur type texte
    Private Sub frmLabel_BeforeUpdate(Cancel As Integer)
    '   frmLabel   	 :   Texte ou il y a les doublons
    '   Table1    	 :   Table
    '   Label       	 :    Colonne de la table	
    If DCount("*", "Table1", "Label = """ & frmLabel & """") <> 0 Then
        MsgBox "doublon", vbCritical
    End If
    End Sub


    Vérification doublon sur type numérique
    Private Sub frmLabel_BeforeUpdate(Cancel As Integer)
    '   frmLabel   	 :   Texte ou il y a les doublons
    '   Table1    	 :   Table
    '   Label       	 :    Colonne de la table	
    If DCount("*", "Table1", "Label = " & frmLabel) <> 0 Then
        MsgBox "doublon", vbCritical
    End If
    End Sub
    0