Bonjour tout le monde et merci de m'aider

Apres avoir cherché dans la FAQ, je n'ai trouvé de réponse à ma question, qui pourtant je pense, doit etre simple...Mais je n'y arrive pas.


J'ai un formulaire d'ajout d'institution: "Add_Institution" ,basé sur la table "institutions" sur lequel se trouve différents champs texte dont un qui est appellé "Institution_Acronym".

Je voudrais qu'à la sortie de ce champ, si l'utilisateur lui a attribué un acronyme existant deja dans la table "Institutions", un message d'avertissement aparaisse et que ce champ redevienne null.

bref, je voudrais m'assurer que l'utilisateur ne rentre pas un acronyme existant deja.


Voila ce que j'ai pour le moment:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Private Sub Institution_Acronym_BeforeUpdate(Cancel As Integer)
' Si l'acronyme de l'institution existe deja
    If (Not IsNull(DLookup("[Institution_Acronym]", "Institutions", "[Institution_Acronym] = '" & Me.Institution_Acronym.Text & "'"))) Then
 
 
        Me!Institution_Acronym.Undo
 
 
    End If
End Sub

Cela fonctionne mais ne remet pas le textbox à blanc.

Et si j'ajoute ce code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Me!Institution_Acronym = ""
apres le undo, une erreur apparait me signifiant que le champ ne peut valoir une chaine vide ( ce qui est logique vu que c est précisé dans les propriétés de la table)


Quelqu'un aurait une solution simple pour avertir l'utilisateur lorsqu'il rentre un acronyme deja existant et qu'ensuite ce champ redevienne sans valeur (comme avant la modification) ?

(en fait une sorte de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
mais juste pour un champ)


Merci à tous!