VBA ACCESS SQL中的“条件表达式中的数据类型不匹配”

时间:2018-10-04 03:34:59

标签: excel ms-access

我正在尝试将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。如果有帮助。

还有一个疯狂的部分,就是上面的查询是从一个现有的工作查询中复制粘贴的,只是更改了表名和时间戳字段名。休息的一切都完全一样。 Actual query value and Access table structure

1 个答案:

答案 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#(美国日期格式),否则您可能会遇到不同区域设置的问题。