Не удается сравнить значения в access

#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(Автомобили.Описание);