Bonjour,

voici les données de mon problème :
Table "Coordonnéesclients" et formulaire "Clients" avec onglets et
sous-formulaires
Champs et contrôles "Patronyme", "Prénom" , "Numérodevoie"

Je souhaite éviter les doublons involontaires dans la base mais permettre la
création d'homonymes volontaires. J'utilise donc une message box vb
YesNoCancel AVANT mise à jour par
un code évènement sur le contrôle "Prénom" avec 3 actions en fonction du
choix de l'utilisateur :
vbYes : créer homonyme en conservant [Patronyme] et [Prénom] saisis et se placer sur le contrôle suivant "Numérodevoie"
vbNo : ouvrir le formulaire en cours sur l'enregistrement déjà existant pour
ces [Patronyme] et [Prénom]
vbCancel : annuler et effacer les [Patronyme] et [prénom] saisis et se replacer sur le contrôle "Patronyme" dans le formulaire actif

La traduction erronée de tout cela donne le code ci-dessous. Quelqu'un
pourrait-il me proposer une version corrigée de ce code?

Merci beaucoup


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Prénom_BeforeUpdate(Cancel As Integer)
'variable stockant la réponse donnée dans la boite de dialogue
Dim intReponse As Integer
 
If Not IsNull(DLookup("Nom", "Coordonnéesduclient", "[Nom] ='" & Me!Nom & "' 
AND [Prénom]='" & Me.Prénom & "'")) Then intResponse = MsgBox("Ce 
bénéficiaire semble déjà enregistré. Voulez-vous saisir un HOMONYME ?", 
vbYesNoCancel + vbCritical + vbDefaultButton3, "Attention !")
    Select Case intReponse
    Case vbYes
    Forms!Coordonnéesduclient!Adresse.SetFocus
    Case vbNo
    DoCmd.OpenForm "Coordonnéesduclient", acNormal, , "[Nom] ='" & Me!Nom & 
"' AND [Prénom]='" & Me.Prénom & "'"
    Case vbCancel
    Form.Undo
    Forms!Coordonnéesduclient!Nom.SetFocus
    End Select
 
End Sub