Sql 访问客户端上的VBA上次更新
我的一个朋友让我帮他解决访问中的一个问题。 他有一个客户列表,在表中存储一些信息,如姓名、地址等 此处还有一列,包含选项“上次更新” 现在我想弄清楚的是,当“上次更新”值大于一个月时,如何显示一个带有客户机名称的msgbox 到目前为止,我的代码如下所示:Sql 访问客户端上的VBA上次更新,sql,date,ms-access,vba,Sql,Date,Ms Access,Vba,我的一个朋友让我帮他解决访问中的一个问题。 他有一个客户列表,在表中存储一些信息,如姓名、地址等 此处还有一列,包含选项“上次更新” 现在我想弄清楚的是,当“上次更新”值大于一个月时,如何显示一个带有客户机名称的msgbox 到目前为止,我的代码如下所示: Dim DB As DAO.Database Dim RS As DAO.Recordset Dim SQL As String 'SQL = "SELECT * FROM Beheer WHERE " & Me.[Last upd
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
Dim DB作为DAO.Database
Dim RS作为DAO.Recordset
将SQL设置为字符串
'SQL=“SELECT*FROM Beheer WHERE”&Me.[Last update]&“>=(“&Date&”-间隔1个月)”
'SQL=“SELECT*FROM Beheer WHERE DateDiff(&“m”&“,”&Me.[Last update]&“,”&Date&”)试试这个-
SQL = "SELECT * FROM Beheer WHERE DateDiff('m',[Last update] , Date()) >= 1"
说明:
这将只得到经过的月数等于或大于1的记录
函数DateDiff需要是查询的一部分,而不是您编写的代码的一部分
你写的:
Me.[Last update]
使代码searh成为表单上名为“Last update”的控件
希望我能帮助您。请小心描述此问题。。。你的意思是“如果上次更新超过30天,请选择记录”吗?根据不同月份进行选择可能会导致您在2015年1月31日更新记录。实际上,我不想做的是,它会弹出一个消息框,显示“上次更新”日期早于一个月的公司名称,实际上听起来很简单,但我无法完成:首先,你没有提到你的代码在哪里,所以很难知道你想要什么。第二,你是否意识到你的代码只会显示第一条记录,因为你从来没有循环过你的记录集?最后,正如我之前问的,你对一个月的定义是什么?30天或更多?月份<当前月份?介意吗?