2016-10-31 8 views
-3

fields typeЧисловой ошибка на дб доступа

У меня есть этот SQL:

SELECT * 
FROM table 
WHERE number >= '" + numberFrom + "' 
AND number <= '" + numberTo + "' 
ORDER BY number DESC 

(номер на поле "Текст")

numberFrom и numberTo являются диапазон от "1080" до «2000 », , но если у меня есть одна запись с номером« 108 », то SELECT найдет эту запись (даже если мы знаем, что это вне диапазона).

Как я могу это исправить?

+0

Тип данных столбца? (Возможно, вы выполняете сравнение строк символов, а не числовое.) – jarlh

+0

Я могу выбирать между этим полем: текст, небольшое число, целое число, байт, однократное, двойное, валюта, дата, заметка. Как выбрать цифровую строку? – Pelandro

+0

'WHERE number> = Int (" & numberFrom & ")" и т. Д. Обратите внимание, что конкатенатор в MS Access обычно имеет значение & not +, + - это другая история, но полезная. У вас также есть cint, clng и val – Fionnuala

ответ

3

Вы делаете буквенное сравнение где в этом отношении '9'> '19'.
Если вы хотите сравнить номера, вы должны использовать цифры.

+0

Что вы имеете в виду с «вы должны использовать числа»? Мне нужно число fiel, но в доступе я не могу найти его! – Pelandro

+0

@Pelandro - https://support.office.com/en-us/article/ Введение-в-типы данных-и-field-properties-30ad644f-946c-442e-8bd2-be067361987C# bm2g –

+0

@Pelandro - https://support.office.com/en-us/article/Data-types-for -Access-apps-33e10f90-5b06-4e56-ab0e-b0930f4c2367 –