Msg d'erreur de doublon personnalisé

Fermé
Ragus77 Messages postés 6 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 29 novembre 2013 - 12 juin 2013 à 08:57
 Ragus77 - 26 août 2013 à 16:34
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
A voir également:

4 réponses

Ragus77 Messages postés 6 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 29 novembre 2013
17 juin 2013 à 13:38
Bonjour,

Personne pour m'aider ?
Si besoin je peut joindre une piece jointe épuré, pour ne garder que le pb.
0
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
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
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