Access 2003 - Erreur d'unicité d'un champ dans un formulaire

tototiti2008

XLDnaute Barbatruc
Bonjour à toutes et tous ;)

Pour info j'ai déjà ouvert un fil sur developpez.com sur le sujet :
[AC-2003] Erreur unicité dans un formulaire - Forum des professionnels en informatique

J'ai donc un formulaire de saisie en mode entrée de données lié directement à une table, l'utilisateur est donc amené à saisir un nouvel enregistrement

un des champs à saisir est unique (Indexé : Oui - Sans doublons)
Lorsque l'utilisateur saisit un enregistrement avec une valeur en doublon sur ce champ, j'ai donc un message qui empêche de valider l'enregistrement, rien de plus normal
Message du genre

Modifications non effectuées: risque de doublons...

La question : est-il possible d'intercepter ce message d'erreur pour le substituer par un message plus parlant pour l'utilisateur, sans pour autant passer par un formulaire complètement déconnecté de la table et devoir tout gérer en VBA ?

Merci de vos pistes de réflexion :)
 

Pièces jointes

  • essai.zip
    9.6 KB · Affichages: 73
  • essai.zip
    9.6 KB · Affichages: 69
  • essai.zip
    9.6 KB · Affichages: 73
Dernière édition:

chris

XLDnaute Barbatruc
Re : Access 2003 - Erreur d'unicité d'un champ dans un formulaire

Bonjour
Bise à toi Tototiti

Sauf erreur de ma part, le message se fait au moment de l'ajout de l'enregistrement dans la table.
Donc on peut capturer l'événement "avant insertion", via une requête tester si la valeur existe (on doit même pouvoir associer la requête à un champ masqué pour ne pas tout faire en VBA) et envoyer le msg qui va bien.
 

tototiti2008

XLDnaute Barbatruc
Re : Access 2003 - Erreur d'unicité d'un champ dans un formulaire

Re,

Bon, j'ai eu une réponse sur l'autre forum, c'est l'évènement Form_error qui permet de gérer ça

Merci à ceux qui m'ont lu :)

Bing : Merci chris, la solution BeforeInsert est bien aussi, c'est une autre façon de voir les choses, analyser pour éviter les erreurs ou traiter les erreurs
Merci à toi et bises
 
Dernière édition:

stefan373

XLDnaute Occasionnel
Re : Access 2003 - Erreur d'unicité d'un champ dans un formulaire

Bonsoir tototiti, chris et le forum,

A placer dans votre formulaire


Code:
Private Sub Form_Error(DataErr As Integer, Response As Integer)

If DataErr = 3022 Then
MsgBox "erreur de doublon"
Response = acDataErrContinue
End If

End Sub

Voilà ce que j'ai trouvé pour vous aider à mon tour. :)

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87