我正在尝试使用Access从我的数据库中选择一个特定字段(使用SQLserver)。数据类型是一个日期,我要检查的是我选择的日期和当前日期之间的日期差异是否小于我在Access中写入此日期的4天,因为这是我的软件所在的位置。我收到错误“运行时错误13:类型不匹配”。数据类型是我想要获取的列中的日期(ReleaseDate)。
Dim SQLVerDate As Date
SQLVerDate = "SELECT ReleaseDate FROM tblVersionReleasesNew ORDER BY ReleaseDate DESC"
If DateDiff("d", Date, SQLVerDate) < 4 Then
VerLbl.ForeColor = 0
Else
VerLbl.ForeColor = 10
End If
几种方法来实现这一目标。
如果您只想要表中的最新发布日期,请在查询中使用Max()函数:
Dim rs AS DAO.Recordset
Set rs = CurrentDb.OpenRecordset "SELECT Max(ReleaseDate) FROM tblVersionReleasesNew"
If Date() - rs!ReleaseDate < 4 Then
VerLbl.ForeColor = 0
Else
VerLbl.ForeColor = 10
End If
或者使用域聚合函数:
If Date() - DMax("ReleaseDate","tblVersionReleasesNew") < 4 Then
VerLbl.ForeColor = 0
Else
VerLbl.ForeColor = 10
End If
或者代替VBA和标签控件,在文本框中使用文本框和条件格式与域聚合表达式。