从单独的访问数据库中提取最大日期

Pulling MAX date from a separate access database

我正在尝试从单独的访问数据库中获取 MAX 日期。

变量:

dbpath = "C:\Portal\_Dev"
dbname = "Portal.accdb"
strpassword = "OpenSesame"
tblEngage = "tbl_engagement"

我试过的代码:

CurrentDb.Execute "SELECT [MS Access;pwd=" & strpassword & ";database=" & dbpath & "\" & dbname & "].[" & tblEngage & "].CDP, Max([MS Access;pwd=" & strpassword & ";database=" & dbpath & "\" & dbname & "].[" & tblEngage & "].Open_Date) AS MaxOfOpen_Date" & _
         "FROM [MS Access;pwd=" & strpassword & ";database=" & dbpath & "\" & dbname & "].[" & tblEngage & "] " & _
         "WHERE [CDP] = '" & Text285 & "'"

由于 SELECT 没有被告知要查看外部 table:

,所以我理解的这种方法不会起作用
CurrentDb.Execute "SELECT tbl_Engagement.CDP, Max(tbl_Engagement.Open_Date) AS MaxOfOpen_Date" & _
         "FROM [MS Access;pwd=" & strpassword & ";database=" & dbpath & "\" & dbname & "].[" & tblEngage & "] " & _
         "WHERE [CDP] = '" & Text285 & "'"

收到错误:

The Select statement includes a reserved word or an argument name that is misspelled or missing

感谢任何帮助

使用 SELECT sql 语句打开并设置记录集对象。

没有密码加密的简单例子:

Dim rs AS DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Max(Open_Date) AS MaxOfOpen_Date FROM tbl_Engagement IN '" & dbPath & "\" & dbname & "' WHERE CDP='" & Me.Text85 & "'")
Debug.Print rs!MaxOfOpen_Date

对于带密码的数据库,设置并打开 ADODB 连接对象。此示例使用早期绑定,因此需要激活 MS ActiveX 数据对象库。

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbpath & "\" & dbname & ";Jet OLEDB:Database Password=OpenSesame"
rs.Open "SELECT Max(Open_Date) AS MaxOfOpen_Date FROM tbl_Engagement WHERE CDP='" & Me.Text85 & "';", cn
Debug.Print rs!MaxOfOpen_Date