bonjour a tous.
J'ai écrit une fonction qui est censée me renvoyer le service d'affectation (numérique) d'un équipement donné durant une daté donnée
La requête est faite sur trois tables.
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 Public Function ServiceDate(VarNumero As Long, VarDate As Date) As Long Dim db As DAO.Database Dim rs As DAO.Recordset Dim sSQL As String sSQL = " SELECT tblMouvementsDetails.NumInvFk, tblMouvements.RefServiceFk, tblMouvementsDetails.DateMouvement" _ & " FROM tblMouvements INNER JOIN ((SELECT tblMouvementsDetails.NumInvFk, Max(DateMouvement) AS MaxDate FROM tblMouvementsDetails GROUP BY NumInvFk) AS X" _ & " INNER JOIN tblMouvementsDetails ON (x.MaxDate = tblMouvementsDetails.DateMouvement) AND (X.NumInvFk = tblMouvementsDetails.NumInvFk)) ON tblMouvements.RefMouvement = tblMouvementsDetails.RefMouvementFk" _ & " WHERE X.MaxDate <= Cdate('" & VarDate & "') and X.NumInfFk=" & VarNumero Set db = Application.CurrentDb Set rs = db.OpenRecordset(sSQL, dbOpenDynaset) ServiceDate = rs("RefServiceFk") rs.Close db.Close Set db = Nothing Set rs = Nothing End Function
Le problème est que la fonction rend zéro résultat considérant que la date est le 30/12/1899.
quelqu'un peut aider ?
Partager