【问题标题】:how to make query by date in access 2013?如何在access 2013中按日期查询?
【发布时间】:2014-10-06 17:45:44
【问题描述】:

我创建了访问应用程序,并且我根据日期条件构建了查询 这是我的查询

Set sales = CurrentDb.OpenRecordset("Select *  From sales where action_date = #" & date_actions & "#")

我把windows中的日期改成dd/mm/yyyy

但是当我尝试运行这个查询时,什么也没有发生 但是当我把它改成默认MM/d/yyyy 运行正常

如何解决这个问题?请,并在此先感谢

【问题讨论】:

    标签: ms-access vba ms-access-2007 ms-access-2010


    【解决方案1】:

    我建议使用这种格式:YYYY-MM-DD HH:MM:SS

    您可以按如下方式转换您的日期:

    Format(date_actions, "yyyy-mm-dd hh:mm:ss")
    

    那么你的陈述将是:

    Set ftm_date = Format(date_actions, "yyyy-mm-dd hh:mm:ss")
    Set sales = CurrentDb.OpenRecordset("Select * From sales where action_date = #" & ftm_date & "#")
    

    【讨论】:

    • Access/JET 不支持这种格式。您的答案可能适用于 SQL DB。您可以参考我的答案以获得正确的访问格式。
    • @PaulFrancis 不正确。 ACE/Jet 确实支持日期/时间文字中明确的 yyyy-mm-dd 格式。
    【解决方案2】:

    JET 引擎以美国格式处理日期,而不是常规的 DD/MM/YYYY HH:NN:SS。因此,您需要相应地格式化日期。

    Set sales = CurrentDb.OpenRecordset("SELECT * " & _
                                        "FROM " & _
                                        "sales " & _
                                        "WHERE action_date = " & Format(date_actions, "\#mm\/dd\/yyyy\#"))
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      相关资源
      最近更新 更多