显示与最大日期值记录关联的字段

问题描述 投票:0回答:1

我正在使用MS Access数据库,并且一直在尝试在主导航窗体上获取未绑定字段,以显示与上次更新的记录关联的LastUserChange。

我已经使用DMax()来识别最近更新的记录,但我似乎无法获得与该记录关联的用户ID。我在表中有一个字段,其中包含日期时间戳,用于存储用户ID,因此数据保存在同一个表中。我一直在研究的代码如下:

Private Sub Form_Load()
Dim strSQL As String

strSQL = "SELECT tblstatusupdate.LastUserChange" & _
         "FROM tblstatusupdate " & _
         "WHERE tblstatusupdate.LastChangeDate = DMax("LastChangeDate", "tblStatusUpdate")"

DoCmd.RunSQL strSQL

Me.LastUpdateBy = strSQL
End Sub

我用来获取最近更新记录日期的代码是:

= DMax("LastChangeDate", "tblStatusUpdate")

有人可以帮帮我吗?

sql vba ms-access
1个回答
1
投票

通常是MS Access中新用户的错误,DoCmd.RunSQL保留用于动作查询(即INSERTDELETEUPDATEALTERCREATE)而不是返回结果集的SELECT查询。

但是,根据您的需要,考虑在VBA中运行嵌套域函数而不进行任何SQL调用。 DLookUp使用Dmax查找用户的更改日期与表的最大值匹配的标准。日期文字必须用#字符括起来,而不是引号。

Me.LastUpdatedBy = DLookUp("LastUserChange", "tblStatusUpdate", "LastChangeDate = #" _
                            & DMax("LastChangeDate", "tblStatusUpdate") & "#")
© www.soinside.com 2019 - 2024. All rights reserved.