Bonjour,
J'ai le formulaire suivant
Dans le quel le champ Jalon est en fait un id d'un autre table, je souhaite rendre obligatoire la saisie de ce champ, j’ai donc mis dans la BDD Null interdit à OUI, mais le message n'est pas clair pour l'utilisateur, en effet, voila le message:
Je pensais modifier le code que j'ai mis dans le BEFORE UPDATE de mon formulaire ressemble actuellement à
Mais je ne vois pas comment faire car je voudrais afficher un message explicite et ne pas tenter de faire un save qui va redonner le même message.
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
21
22
23
24
25
26
27
28
29 Dim SID As String Dim stLinkCriteria As String Dim rsc As DAO.Recordset If IsNull(Me.id_name) Then MsgBox "Le JALON est obbligatoire!", vbCritical, "INFO MANQUANTE" Exit Sub End If Set rsc = Me.RecordsetClone stLinkCriteria = "[id_name]=" & Me![id_name] & " And [id_propale] = " & Me.id_propale If DCount("id", "T_jalons", _ stLinkCriteria) > 0 Then 'Undo duplicate entry Me.Undo 'Message box warning of duplication MsgBox "Ce jalon exite déjà, merci de modifier celui qui existe ou d'en sélectionner un non utilisé" _ & vbCr & vbCr & _ "Nous allons vous positionner sur le jalon qui existe déjà.", _ vbCritical, "Saisie interdite" 'Go to record that alreadyexists rsc.FindFirst stLinkCriteria Me.Bookmark = rsc.Bookmark End If
Je ne veux pas devoir faire un UNDO car l'utilisateur perdrait toutes ses modifs, or il manque juste peut être un seul champ.
En gros, une fois que je sui dans le BEFORE save, je suis fichu, car soit je continue et j'ai un message d’erreur moche, soit fais un UNDO qui ne me plait pas !
Il faudrait que je trouve ou mettre mon code qui vérifie intégrité des champs requis.
J'ai besoin de blinder la saisie dans le formulaire pour éviter les problèmes car la BDD sera utilisée par des néophytes.
Comment faire ?
Je sui preneur de toute idée, je suis sur qu'il doit y avoir une solution toute bête !
Merci de votre aide
Partager