Я работаю над оператором sql, где я пытаюсь захватить все проекты, которые меньше или равны дате разработки. Тем не менее, я получаю сообщение об ошибкеОшибка сравнения даты доступа
«несоответствие типов данных в выражении критериев»
Я искал и искал, но я не смог найти что-нибудь.
Необработанные результаты выглядят примерно так:
| Title | devTerm | pilotTerm |
+-------+---------+-----------+
| Ex1 | 201401 | 201404 |
| Ex2 | 201301 | 201401 |
| Ex3 | 201504 | 201601 |
Вот мой запрос:
SELECT *
FROM projects
WHERE Len(devTerm)>0
AND Len(pilotTerm)>0
AND Date() >= CDate(DateSerial(Left(devTerm,4),Right(devTerm,2),1))
Что я делаю неправильно?
p.s. Я бы не использовал Access, если бы мне не пришлось.
Я ссылки в этой статье: Convert Text to date
Скриншот:
Каких типов данных являются ваши столбцы? Если devTerm и pilotTerm не являются текстом, это может вызвать ошибку. – Ditto
Они оба «shorttext» –
@Ditto Почему они бросают ошибку, если они не являются текстом? В моем ближайшем окне я протестировал 'MsgBox CDate (DateSerial (Left (« 201401 », 4), Right (« 201401 », 2), 1))' и 'MsgBox CDate (DateSerial (Left (201401, 4), Right (201401, 2), 1)) 'оба работали. – Newd