Access 2013, Ближайшее значение в таблице

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
АлександрВысотков
Сообщения: 2
Зарегистрирован: 29 мар 2017, 14:33

29 мар 2017, 14:51

Доброго времени суток.
Можно ли как ни будь реализовать, что бы при поиске по таблице не найдя нужного значения было взято ближайшее.
Например в таблице есть значения 450 и 455 а ввели на поиск 453, что бы не выдавал ошибку, а брал ближайшее значение.
PS: Буду очень благодарен и признателен :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

29 мар 2017, 18:01

а) не понятно что такое "ближайшие". 1 и 1000 будут ближайшими, если введено 450?
б) в стандарт ANSI SQL-92 входит оператор between. Стандарт поддерживается в т.ч. и Access (любым)

Код: Выделить всё

SELECT column_name
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
Осталось только value1 и value2 заменить на переменные в соответствии с синтаксисом Access.
Даже самый дурацкий замысел можно воплотить мастерски
АлександрВысотков
Сообщения: 2
Зарегистрирован: 29 мар 2017, 14:33

29 мар 2017, 18:16

AiK писал(а):а) не понятно что такое "ближайшие". 1 и 1000 будут ближайшими, если введено 450?
Ближайшее значение в данном случае будет 1 т.к. разница между 1 и 450 будет 449, а разница с 1000 будет 550.
Ответить