我正在尝试将Access表中的数据提取到Excel工作表中。当执行到达Open查询时,下面提到的SQL查询抛出错误“条件表达式中的数据类型不匹配” 。
我搜索了所有可能的修复程序。所有人都说这个数字可能用引号引起来。我仍然对其进行了毫无意义的查询,查询非常简单,其中我尝试从DD-MMM-YYYY格式(03-OCT-2018)的用户窗体文本框中选择数据,并与时间戳字段的日期部分和客户的订单进行对应id字段
SELECT * FROM Master_Intrpay_Cash where DateValue(LAST_UPDATE_TIMESTAMP)>=#" & Trim(startdate.value) & "# and DateValue(LAST_UPDATE_TIMESTAMP)<=#" & Trim(enddate.value) & "# ORDER BY CUSTOMER_ID
下面显示的是显示正在传递的查询的msgbox。如果有帮助。
还有一个疯狂的部分,就是上面的查询是从一个现有的工作查询中复制粘贴的,只是更改了表名和时间戳字段名。休息的一切都完全一样。
答案 0 :(得分:1)
尝试不使用DateValue
:
SELECT *
FROM Master_Intrpay_Cash
WHERE LAST_UPDATE_TIMESTAMP >= # " & Trim(startdate.value) & " #
AND LAST_UPDATE_TIMESTAMP <= # " & Trim(enddate.value) & " #
ORDER BY CUSTOMER_ID
DateValue
期望使用String作为参数,您的列为Date / Time
此外,日期的首选格式为#mm/dd/yyyy#
(美国日期格式),否则您可能会遇到不同区域设置的问题。