Bonjour,
Dans un formulaire, j'ai un DTPicker. Je renseigne une table avec la date récupérée de ce DTPicker avec d'autres informations. Pour l'enregistrement, il n'y a aucun problème, la date est enregistrée dans le bon format (Date, abrégé).
Je voudrais avant l'enregistrement savoir si la date existe déjà (à savoir que pour la même date, j'enregistre plusieurs informations).
J'ai donc fait ce bout de programme en VBA :
Me.Choix_date étant le DTPicker.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim msg As String Dim rst As Recordset Set rst = CurrentDb.OpenRecordset("Tbl_enr", dbOpenDynaset) 'dbOpenDynaset dbOpenSnapshot rst.FindFirst ("Date=" & Me.Choix_date) If Not rst.NoMatch Then msg = MsgBox("Date existante", vbCritical) Set rst = Nothing Exit Sub End If Set rst = Nothing
Mon problème est qu'il ne voit jamais la date qui est pourtant dans la table.
Dans le doute, j'ai essayé :
pour voir si c'était à cause du format, mais rien à faire, je ne parviens pas à faire le test de la présence de la date dans la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 a = CDate(Format(Me.Choix_date, "dd/mm/yyyy")) rst.FindFirst ("Date=" & a)
Si je fais le test sur un autre champ de la table qui n'est pas une date, le code fonctionne.
Quelqu'un a-t-il une idée de ce qui cloche dans le code ?
Merci
@+++
Partager