访问VBA客户端上的最新更新

时间:2015-02-24 12:27:21

标签: sql date ms-access access-vba

我的一位朋友让我帮他解决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查询导致表单错误我无法通过。

有人可以帮我请求吗?

祝你好运

1 个答案:

答案 0 :(得分:0)

试试这个 -

SQL = "SELECT * FROM Beheer WHERE DateDiff('m',[Last update] , Date()) >= 1"

说明: 这只会让你获得的记录表明月份通过的数量是equl或gratter而不是1 ....

函数DateDiff需要是查询的一部分 - 不是你编写代码的一部分....

你写的是什么:

Me.[Last update]

使代码成为名称为&#34;最后更新&#34;

的表单上的控件 希望我帮助你。