【问题标题】:Passing a function through an SQL Statement通过 SQL 语句传递函数
【发布时间】:2020-07-03 12:55:28
【问题描述】:

我对 Access 比较陌生,希望您能帮助解答一个问题。

Private_Sub Form_Load()

Dim db as DAO.Database
Dim rs as DAO.Recordset
Dim StrSQL as String

Set db = CurrentDb

StrSQL = "Select GetDateDiff(Date1, Date2) as DateDifference from tblDattes"
Set rs = db.OpenRecordset(StrSQL)

.....

End Sub

GetDateDiff 是一个将两个参数作为变量的函数。我不确定如何在 SQL 代码中使用函数。

【问题讨论】:

    标签: sql vba function ms-access


    【解决方案1】:

    假设 Date1 和 Date2 是表 tblDattes 的字段。

    StrSQL = "Select GetDateDiff(Date1, Date2) as DateDifference from tblDattes" 
    Set rs = db.OpenRecordset(StrSQL)
    

    会工作。 但是您应该问自己为什么要在 GetDateDiff 函数中使用 Variant 参数。一般来说,避免变体并选择日期字段。如果参数之一(或两者)为 Null,您的函数必须执行检查。

    附:还要确保您的表的名称确实是 tblDattes(带有两个 't')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      相关资源
      最近更新 更多