Débutante - Code VBA pour MsgBox avec actions multiples
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:
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 |