【问题标题】:"Data type mismatch in criteria expression"“条件表达式中的数据类型不匹配”
【发布时间】:2015-01-26 22:35:20
【问题描述】:

我试图从一个表中选择从 date1 到 date2 的所有记录,例如 2014 年 6 月 28 日到 2015 年 1 月 5 日,以进行显示。基本上,根据日期标准对选定的记录进行分类。非常感谢,如果有人能指出我的错误。

我在这里尝试做的是允许用户从日历中选择特定日期来查看记录

我已经浏览了所有答案,但仍然找不到与我类似的解决方案。我想,我的语法可能有一些错误。

sqlDateRangeSearch = "Select * from BatteryDataTable where ((BatteryDateChanged) <= ""*" & Me.FromDTPicker.Value & "*"")" & " and ((BatteryDateChanged) <= " & """*" & Me.ToDTPicker.Value & "*""));"

Me.RecordSource = sqlDateRangeSearch

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    我注意到您在查询的搜索条件中有通配符。如果使用日期,你会想要避免这些。此外,访问查询中的日期不需要引号。如果你动态创建 SQL,我会使用类似的东西:

    sqlDateRangeSearch = "Select * from BatteryDataTable where (BatteryDateChanged <= #" & Me.FromDTPicker.Value & "#)" & " and (BatteryDateChanged <= #" & Me.ToDTPicker.Value & "#));"
    

    请注意,您的比较运算符是相同的。我想你想让它说类似的东西(记住“#”符号):

    ...WHERE (Field1 >= #Date1# AND Field1 < #Date2#);
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-18
      • 2017-06-28
      相关资源
      最近更新 更多