【问题标题】:Requery using a variable within string使用字符串中的变量重新查询
【发布时间】:2016-03-02 14:52:48
【问题描述】:

我无法使用 SQL 字符串重新查询我的子表单,这是我的代码:

Dim Day As Integer
Day = txt_Days.Value         
SQL = "SELECT [qry_Records].[Tool_ID], [qry_Records].[Cal_Date]," _
    & "[qry_Records].[Cal_By], [qry_Records].[As_Received], " _
    & "[qry_Records].[Result], [qry_Records].[Next_Due], " _
    & "[qry_Records].[Due] FROM [qry_Records]" _
    & " WHERE [qry_Records].[Due] < Day;"

subform_View_Search_Records.Form.RecordSource = SQL

我尝试使用不同的变体在 SQL 字符串末尾引用 Day 变量,如下所示,但没有任何效果:

& " WHERE [qry_Records].[Due] < ""Day"";"
& " WHERE [qry_Records].[Due] < '"Day"';"

非常感谢您的帮助!

【问题讨论】:

    标签: sql string vba variables ms-access


    【解决方案1】:

    你只需要添加几个&符号

    & " WHERE [qry_Records].[Due] < " & Day & ";"
    

    【讨论】:

      【解决方案2】:

      我会试试这个:

      SQL = "SELECT [Tool_ID], [Cal_Date]," _
          & "[Cal_By], [As_Received], " _
          & "[Result], [Next_Due], " _
          & "[Due] FROM [qry_Records]" _
          & " WHERE [Due] < " & format$(txtDays, "\#dd\/mm\/yyyy\#")
      
      subform_View_Search_Records.Form.RecordSource = SQL
      

      最后的“;”没用。

      【讨论】:

      • 这也有效!但我认为理查德的答案是我正在寻找的答案。无论如何感谢您的帮助!
      • 它们或多或少是等价的。我刚刚添加了一些额外的格式,以确保它可以独立于用户的区域设置(例如法语或德语)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      • 2020-02-12
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多