Bonjour à tous,
Dans un formulaire, j'ai une zone de texte dont le contenu change sur l'évènement Activation (Form_Current) du formulaire pour afficher un contenu correspondant à la date de l'enregistrement le plus récent (je récupère le contenu du champ "bilanControle"). Cette date est renseignée dans le champ "dateControle".
Ce que je ne comprends pas, c'est pourquoi certaines dates provoquent le message "erreur 3021 - aucun enregistrement en cours", et pas d'autres.
Exemple : si j'essaye d'entrer une date pour le mois de septembre, entre le 1er et le 8 le message d'erreur apparaît. Si je mets le 9 il n'apparait pas. Du 10 au 12 il apparaît. A partir du 13 et + il n'apparait plus.
Quelqu'un a t-il une idée sur ce qui ne va pas dans le code ci-dessous ? C'est la ligne 31 qui cloche, la suite est sans importance.
Merci
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
30
31 Dim db As DAO.Database: Set db = CurrentDb Dim rst As DAO.Recordset Dim strSQL As String Dim daDate As Date strSQL = "SELECT Max(T_CommercesControles.dateControle) AS MaxDeDateControle FROM T_CommercesControles " _ & "GROUP BY T_CommercesControles.idCommerce_FK " _ & "HAVING T_CommercesControles.idCommerce_FK=" & Me.idCommerce_PK & ";" Set rst = db.OpenRecordset(strSQL) If rst.EOF Then Me.SF_Installations.Form.txtCommerceControle.Value = "Contrôle à effectuer" rst.Close Set rst = Nothing Set db = Nothing Exit Sub End If daDate = rst("MaxDedateControle") rst.Close Set rst = Nothing strSQL = "SELECT T_CommercesControles.dateControle, T_CommercesControles.bilanControle " _ & "FROM T_CommercesControles " _ & "WHERE T_CommercesControles.dateControle =#" & daDate & "# AND T_CommercesControles.idCommerce_FK=" & Me.idCommerce_PK & " ; " Set rst = db.OpenRecordset(strSQL) If Year(rst("dateControle")) < Year(Date) Then
Partager