如何解决基于进入日期的 Microsoft Access DLookup
我是 Microsoft Access 的新手,一直在努力解决一个问题。
我正在使用表格根据表格 (UpdatedFiles) 搜索申请编号。
我试图让表单显示给定申请号的最新输入状态。但是,当我尝试这样做时,结果总是在给定的申请号上提取最早输入的状态。
我的表单有代码,一旦保存记录,就会更新输入日期 (ENTRYDT)。
当我搜索申请号 (APPID) 时,我基本上是在尝试使用最新的 ENTRYDT。 APPID 是表的主键。
这是我的代码的样子:
Private Sub SearchCommand_Click()
Dim strfilapp As String
Dim strcheck As Variant
strfilapp = "[APPID] = " & "'" & Me!APPID & "'"
strcheck = DLookup("[APPID]","UpdatedFiles",strfilapp)
If Not IsNull(strcheck) Then
On Error Resume Next
[APPID] = DLookup("[APPID]",strfilapp)
[LN] = DLookup("[LN]",strfilapp)
[FN] = DLookup("[FN]",strfilapp)
[PAPERAPP] = DLookup("[PAPERAPP]",strfilapp & "[ENTRYDT]" >= # LATEST #)
On Error GoTo 0
Else
Me.APPID = ""
MsgBox ("No file with an hyperlinked paper application found for your search. Searching for a file without...")
strcheck = DLookup("[APPID]","InitialFiles",strfilapp)
If Not IsNull(strcheck) Then
On Error Resume Next
[APPID] = DLookup("[APPID]",strfilapp)
On Error GoTo 0
Else
Me.APPID = ""
MsgBox ("No file found for your search. Try again.")
Me.SearchField.SetFocus
End If
End If
End Sub
当我执行 APPID 搜索时,我一直在获取首次输入数据库的应用程序,而不是最新的(基于 ENTRYDT)。
我尝试将 ENTRYDT 添加到 [PAPERAPP] 行,作为 DLookup 中的参数,但似乎无法弄清楚如何去做。你能帮我吗?
谢谢!
解决方法
如果您希望 PAPERAPP 与给定 APPID 的最新日期相关联 - 如 Max() - 日期,则可能需要另一个域聚合函数。
[PAPERAPP] = DLookup("[PAPERAPP]","UpdatedFiles",strfilapp & " AND [ENTRYDT] = #" & _
DMax("ENTRYDT","APPID='" & [APPID] & "'") & "#")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。