bonsoir,

j'ai un champ indéxé sans doublons "reference_devis" dans ma table "Table_devis", et je veux que ce ne soit non pas le message d'erreur d'Access qui s'affiche mais le mien.

J'avais donc mis ce code dans le formulaire qui contenait le champ "reference_devis":
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 reference_devisf_LostFocus()
Dim maDb As Database
Dim matab As TableDef
Dim ch As Field
 
Set maDb = CurrentDb()
Set matab = maDb.TableDefs("Table_devis")
Set ch = matab.Fields("reference_devis")
 
If ch.ValidateOnSet = False Then
MsgBox ("garagle")
SetWarnings = True
Else: SetWarnings = False
End If
End Sub
mais ce code m'est refusé parce que l'opération ch.ValidateOnSet est déclarée comme non valide.
(J'ai pourtant bien dans les propriétés de la table la propriété "Indexé sans doublons".)
Voilà je ne comprends donc pas comment faire, il s'agit pourtant d'un problème basique!(et je n'ai rien trouvé dans les FAQs qui s'occupent de problèmes plus compliqués!)
j'avoue que j'ai un peu honte de poser une question aussi simple mais ça fait une heure et demie que je suis dessus, en essayant pas mal de trucs différents, sans plus de résultats...

alors voilà merci pour votre aide!(et encore désolé pour le niveau de la question!)

cordialement

schwarzy2