merci,mais si j'ai bien compris, ton code ne fonctionne pas avec les sous-formulaires? :?
Version imprimable
merci,mais si j'ai bien compris, ton code ne fonctionne pas avec les sous-formulaires? :?
Oui, elle fonctionne également avec les sous-formulaires, pourquoi cette question ?
schwarzy2,
tu n'as pas essayé ce que je t'ai proposé: :(
j'ai finalement réussit à bricoler ta base pour pouvoir faire cet essai:
qui fonctionne même avec les boutons de navigations.Code:
1
2
3
4
5
6
7
8 Private Sub Référence_facture_BeforeUpdate(Cancel As Integer) If (Not IsNull(DLookup("[ref_facture]", _ "Table_devis", "[ref_facture] ='" _ & Me.Référence_facture & "'"))) Then MsgBox "Cette référence facture existe déja, merci d'en prendre une autre." Cancel = True End If End Sub
si je l'ai essayé!
C'est ce que j'ai fait. Mais ça fait que si je modifie mon champ Référence_facture et que je clique sur un bouton de navigation, pour passer à un autre enregistrement, alors j'ai mon message "vous n'avez, etc."puis je passe quand mêm à l'enregistrement suivant,et ensuite si je passe à l'enregistrement précédent, j'ai efectivement mon champ vide, il n'y a pas de fausse valeur mais moi ce que je veux c'est revenir aussitôt dessus.
ce code ne marche que si le changement de Référence_facture n'est pas le dernier champ auquel on touche avant de changer d'enregistrement.
d'où mon problème! c'est pour ça que je pense que je vais prendre la solution de bernardmichel.
à moins que tu aies quelque chose de plus simple à me proposer..8-)
tu as bien mis:
?Code:Cancel = True
tu as raison, j'avais oublié le Cancel=True!!!!!!!
du coup ça marche très bien, et j'ai pas à ajouter une barre d'outils partout!!!
merci vodiem!
ceci dit, je garde de coté l'idée de la barre d'outils, je trouve que ça donne une bonne maitrise des évènements...
mmerci donc à vous deux bernardmichel et vodiem!
:merci: et à plus!