#sql #ms-access
#sql #ms-доступ
Вопрос:
Вот код, поле Автомобили.Описание-это экземпляр короткого текста в таблице результатов запроса Автомобили
SELECT Автомобили.НомVIN, Автомобили.ФИО, Автомобили.РегНомер, Автомобили.Описание FROM Автомобили WHERE (((Year(Now()) - CInt([Автомобили].[Описание]) = 40))) ORDER BY Автомобили.ФИО, Автомобили.Описание;
Дело в том, что если я хочу просто сравнить значения в предложении WHERE только с’=’, это кажется прекрасным, все работает правильно. Но когда я пытаюсь сравнить их по » lt; » или » gt; » или » lt; » или «gt; lt; = » или «gt;=» Доступ выдает ошибку «Несоответствие типов данных в выражении критериев». Что с этим делать?
Комментарии:
1. Попробуй
CInt(Year(Now()) - CInt([Автомобили].[Описание]))lt;=40
Ответ №1:
Year()
возвращает целое число, так что ваши примеры критериев верны и совершенно корректны. Итак, это что-то другое.
Попробуйте исключить порядок или сортировку по числовому значению:
SELECT Автомобили.НомVIN, Автомобили.ФИО, Автомобили.РегНомер, Автомобили.Описание FROM Автомобили WHERE Year(Date()) - CInt([Автомобили].[Описание]) = 40 ORDER BY Автомобили.ФИО, CInt(Автомобили.Описание);