【问题标题】:Select records with specific date选择具有特定日期的记录
【发布时间】:2016-05-19 19:24:28
【问题描述】:

在 Access 2007 中,我试图选择表中在字段中具有相同日期的所有记录。 我从报告的文本框中获取日期,txtDate。 我收到语法错误或参数太少,预期 2。我尝试了网上建议的不同格式函数,但没有太大成功。

select * from tbl where odatsa = #" & Me.txtDate & "#"

【问题讨论】:

  • 我有一个愚蠢的解决方法,我选择所有内容并使用 if 语句将 rs!odatsa 与 me.txtdate 进行比较。有效,但有更好的方法!
  • 这是日期/时间,调试显示 #16。 05. 2016#
  • 不使用文本框,您可以使用活动的 X 日期选择器吗?或者这就是这个领域?

标签: ms-access vba


【解决方案1】:

Jet SQL 中的日期采用月/日/年格式。如果您的区域设置不同,则应在 VBA 中修改日期:

Public Function SQLDate(dt As DateFalse) As String
    SQLDate = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#"
End Function

并使用它:

select * from tbl where odatsa = " & SQLDate(Me.txtDate) 

【讨论】:

    【解决方案2】:

    按照 marlan 的建议,这可以解决问题。 我希望使用日期会更直观

    "select * from tbl where odatsa= " & Format(Me.txtDate, "\#mm\/dd\/yyyy\#"))
    

    【讨论】:

    • 直觉与否,你必须遵守规则。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多