Bonjour,
j'avais trouvé une formule pour éviter les doublons qui fonctionnait très bien :
(ceci est inscrit dans "After_update" de mon formulaire sur la case [référence facture])
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'If Not IsNull(DLookup("[référence facture]", "Factures", "[référence facture]='" & Me.référence_facture & "'")) Then 'MsgBox "Cette référence existe déjà"
Cependant, j'aurai voulu aller un peu plus loin et faire en sorte que le message d'erreur apparaisse lorsque je clique sur le bouton "Ajouter" si la référence ET le Montant ET la date sont les mêmes qu'un ancien enregistrement. J'ai essayé avec des select case ou alors Iif AND, mais chaque fois il me débogue.
J'ai vu aussi la proposition avec l'indexe sans doublon, mais il ne l'applique que pour une colonne.
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 Private Sub Commande9_Click() Select Case [référence facture] Case Not IsNull(DLookup("[référence facture]", "Factures", "[référence facture]='" & Me.référence_facture & "'")) Case Not IsNull(DLookup("[Montant]", "Factures", "[Montant]='" & Me.Montant & "'")) MsgBox "enregitsrement déjà présent" Case Else DoCmd.GoToRecord , , acNext End Select End Sub
Est-ce qu'il est possible de faire en sorte qu'il empêche l’enregistrement si les 3 composantes d'un enregistrement sont les mêmes qu'un précédent ?
merci bien
Partager