【发布时间】:2015-04-26 01:49:53
【问题描述】:
我的一个朋友让我帮助他解决 Access 中的问题。 他有一个客户列表,其中存储了一些信息,例如姓名、地址、...。
这里也是一个带有“上次更新”选项的列
现在我想弄清楚的是,当“上次更新”值大于一个月时,如何显示带有客户名称的 msgbox。
到目前为止,我的代码如下所示:
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim SQL As String
'SQL = "SELECT * FROM Beheer WHERE " & Me.[Last update] & " >= (" & Date & " - INTERVAL 1 Month)"
'SQL = "SELECT * FROM Beheer WHERE DateDiff(" & "m" & "," & Me.[Last update] & "," & Date & ") <= 1"
Set RS = CurrentDb.OpenRecordset(SQL)
If RS.EOF Then
MsgBox "No batch ID found.", vbOKOnly + vbInformation, "Last Batch"
Else
MsgBox "Last batch ID is " & RS![Customer name] & ".", vbOKOnly + vbInformation, "Customer To update"
End If
RS.Close
DB.Close
Set RS = Nothing
Set DB = Nothing
如您所见,我评论了两个 SQL 查询导致表单出现错误,我无法通过。
有人可以帮我吗?
最好的问候
【问题讨论】:
-
小心你如何描述这个问题......你的意思是“如果最后一次更新大于 30 天,则选择记录”?根据不同月份进行选择可能会导致您在 2015 年 1 月 31 日更新记录。
-
实际上我想做的是它会弹出一个消息框,显示公司名称,其中“上次更新”日期超过一个月。 ,实际上听起来很简单,但我无法完成:s
-
首先,您没有提及您的代码所在的位置,因此更难知道您想要什么。其次,您是否意识到您的代码将只显示第一条记录,因为您从不遍历记录集?最后,正如我之前问过的,你对一个月的定义是什么? 30天或更长时间?月份