从Excel中的ACCESS获取选定date之前的最后date

我有一个表中的date列的Access DATABASE,datesorting,但可能会缺lessdate。 问题是在inputdate之前获取最新的date。 例如,我设法解决这个问题在Excel表中只有这个{=MAX(IF(A1:A10<=C1,A1:A10,0))}公式,但我有一个数据库大量的数据,需要用公式从DB调用它。

我试图写一个代码,但它不工作。 我不明白为什么? 任何人都可以帮我解决这个问题吗? 谢谢。

 Public Function GetDateDB(TBL As String, COLMN As String, DT As String) As Variant Dim DB As Database Dim RS As Recordset Dim DBfile DBfile = Application.ThisWorkbook.Path & "\myDatabase.accdb" Set DB = DBEngine.OpenDatabase(DBfile) Set RS = DB.OpenRecordset("SELECT MAX(" & COLMN & ") as MaxDate FROM " & TBL & " WHERE MaxDate <= #" & Format(DT, "m\/d\/yyyy") & "# ", dbOpenDynaset) If RS.RecordCount > 0 Then RS.MoveFirst GetDateDB = RS!MaxDate End If End Function 

据我所知,你只需要replace... WHERE MaxDate <= ... ... WHERE MaxDate < ... (只要删除等号)

当您使用<=进行search时,在大多数情况下您将获得inputdate。