来自不同数据库的计算列案例输出

时间:2019-03-13 13:58:37

标签: sql ms-access access-vba

我正在尝试使用Access从数据库中选择特定字段(使用SQLserver)。 数据类型是一个日期,我要检查的是我选择的日期与当前日期之间的日期差是否小于4天 我正在Access中编写此文件,因为这是我的软件所在的位置。 我收到错误“运行时错误13:类型不匹配”。 我要获取的列(ReleaseDate)中的数据类型为Date。

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

1 个答案:

答案 0 :(得分:0)

完成此操作的几种方法。

如果只想在表中使用最新的ReleaseDate,请在查询中使用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和标签控件,使用文本框和条件格式,并在文本框中使用域聚合表达式。