我正在使用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")
有人可以帮帮我吗?
通常是MS Access中新用户的错误,DoCmd.RunSQL
保留用于动作查询(即INSERT
,DELETE
,UPDATE
,ALTER
,CREATE
)而不是返回结果集的SELECT
查询。
但是,根据您的需要,考虑在VBA中运行嵌套域函数而不进行任何SQL调用。 DLookUp
使用Dmax
查找用户的更改日期与表的最大值匹配的标准。日期文字必须用#
字符括起来,而不是引号。
Me.LastUpdatedBy = DLookUp("LastUserChange", "tblStatusUpdate", "LastChangeDate = #" _
& DMax("LastChangeDate", "tblStatusUpdate") & "#")