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

问题描述 投票:0回答:1

我正在尝试使用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
sql ms-access access-vba
1个回答
0
投票

几种方法来实现这一目标。

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

© www.soinside.com 2019 - 2024. All rights reserved.