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
Partager