显示TextBox中的倒数第二条记录(上次登录时显示用户)

时间:2015-07-02 19:58:41

标签: vba ms-access ms-access-2003

当用户登录访问(通过VBA中的SQL实现)时,LoginAuditTbl

中会捕获以下信息
  • LoginAuditID - 主键,Autonumber
  • LoginTime - Date/Time字段
  • StaffID - Number,这是StaffTbl的外键
  • LoginSuccess - Yes/No字段

我有一个textBox,我想在用户上次登录时显示。 为此,我需要在StaffID上过滤表格,为此,我已在[TempVars]![currentUserID]

中存储了哪些用户已登录的值

我在默认值属性中尝试了此代码。

DLast("LoginTime","LoginAuditTbl","LoginBy = " & [TempVars]![currentUserID] & " and LoginSuccess = " & "TRUE")

但这给了最后的记录。这是当前的登录。

  • 获取最后一条记录的任何功能?
  • 或者,在VBA中设置TextBox.Value的任何技术?在表单加载事件?

我遇到了Get 2nd last record in mySQL,但这会给我一个记录,我该如何将值分配给TextBox.Value字段

1 个答案:

答案 0 :(得分:1)

首先,创建一个查询以获取每个用户的最新日期:

SELECT StaffID, Max(LoginTime) AS MaxLoginTime
FROM LoginAuditTbl
WHERE LoginSuccess = True
GROUP BY StaffID;

其次,在文本框中使用DLookUp从查询中获取值:

=DLookUp("MaxLoginTime","qryMaxLoginTimes","StaffID=" & [TempVars]![currentUserID])