SQL 查询不起作用 - 使用 Where 条件不匹配
Posted
技术标签:
【中文标题】SQL 查询不起作用 - 使用 Where 条件不匹配【英文标题】:SQL query not working - Mismatch using Where condition 【发布时间】: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 代码块,因为这实际上取决于您如何参数化日期值。
【参考方案1】:
您需要将字符串转换为日期。为此,您可以使用the msaccess FORMAT()
function
Data.`InfoCreation Date`>= Format(?, "dd/mm/yyyy")
【讨论】:
嗨,首先感谢您的帮助。~ 当我尝试您的建议时,我收到错误:预期 2 个参数以上是关于SQL 查询不起作用 - 使用 Where 条件不匹配的主要内容,如果未能解决你的问题,请参考以下文章