【问题标题】:SQL query not working - Mismatch using Where conditionSQL 查询不起作用 - 使用 Where 条件不匹配
【发布时间】:2019-02-06 15:15:06
【问题描述】:

我正在尝试将一个数据库连接到 excel。

当表格在没有任何条件的情况下链接时可以完美运行。 当我尝试设置 WHERE 条件时,出现类型不匹配错误。

Where Data.`InfoCreation Date`>= ?

在访问时,该字段使用日期/时间作为数据类型,它看起来像:

InfoCreation Date
18/12/2018 05:49:00

我正在尝试在 excel 中匹配日期格式类型,例如:18/12/2018

我想要的是选择某一天之前的所有日期。

有人可以帮我解决这个问题吗? 谢谢

【问题讨论】:

  • 请发布更多代码。这是在 Excel 子查询或 Access 查询中吗?您似乎正在尝试参数化 WHERE 中的值,可能使用 ADO?
  • SELECT Data.Ticket Mask ID, Data.Department, Data.InfoCreation Date, Data.InfoResolved Date, Data.InfoResolved Date, Data.Owner, Data.Subject, Data .Country,数据.Status FROM O:\05 - Reports\Daily Dashboards\ALL LOBS\ALL_DB.accdb.Data 其中数据.InfoCreation Date>=?是的,我正在使用 ADO 连接
  • 请使用查询而不是在 cmets 中编辑您的帖子,您可以看到它受到反引号的影响。
  • 请同时显示您的 ADO 代码块,因为这实际上取决于您如何参数化日期值。

标签: sql excel ms-access


【解决方案1】:

您需要将字符串转换为日期。为此,您可以使用the msaccess FORMAT() function

Data.`InfoCreation Date`>= Format(?, "dd/mm/yyyy")

【讨论】:

  • 嗨,首先感谢您的帮助。~ 当我尝试您的建议时,我收到错误:预期 2 个参数
猜你喜欢
  • 1970-01-01
  • 2013-12-31
  • 2018-04-10
  • 1970-01-01
  • 2017-08-03
  • 2016-04-17
  • 2018-06-02
  • 1970-01-01
  • 2013-03-31
相关资源
最近更新 更多