«Несоответствие типов данных в выражении критериев» в VBA ACCESS SQL - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь извлечь данные из моей таблицы Access в лист Excel.В приведенном ниже SQL-запросе выдается ошибка «Несоответствие типов данных в выражении критерия» , когда выполнение достигает открытого запроса.

Я погуглил все возможные исправления.Все говорят, что число может быть передано в кавычках.я проверил это по-прежнему невежественно, запрос довольно прост, когда я пытаюсь выбрать данные из текстового поля пользовательской формы в формате DD-MMM-YYYY (03-OCT-2018) и сопоставить с частью даты поля метки времени и заказом моего клиентаполе идентификатора

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 голосов
/ 04 октября 2018

Попробуйте без 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 ожидает строку в качестве аргумента, ваш столбец - дату / время

Кроме того, предпочтительным форматом для даты является #mm/dd/yyyy# (формат даты в США), в противном случае у вас могут возникнуть проблемы с разными локалями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...