Вниз
Скачать: CL | DM;

Фильтр БД sting&integer   Найти похожие ветки 

 
Slimer ©   (2006-12-25 14:18) [0]

Люди подскажите как правильно отвильтровать данные в таблице?
У меня есть поле N_doma (пита А). Там хранятся данные номера домов. "А" потому что дом может быть 157/15.
Когда я делаю фильтр для этого поля исходя из того какие диапазоны значений нужны пользователю - оно фильтрует не правильно.
Например если в поле есть значения: 2, 15, 45, 100 и я ставлю вильтр:
Table1.filter:="N_doma>2"
То в результате получаю: 45, а 15 и 100 исчезают.
Я так понимаю что тут дело в разнице между типами String и Integer, поэтому программа сравнивает только перный символ а не все число.
Как можно правильно реализовать этот фильтр?


 
alex_*** ©   (2006-12-25 14:22) [1]

хранить отдельно дробную часть и поле привести к integer


 
Slimer ©   (2006-12-25 14:26) [2]


> хранить отдельно дробную часть и поле привести к integer


Т.е. для дробной части создать еще одно поле????
А может как-то по другому более проще можно?


 
alex_*** ©   (2006-12-25 14:33) [3]

тогда в select"e можно, если у тебя серверная БД.
можно завести вычисляемое поле с номером дома type of INT и по нему фильтровать. (првада е помню можно ли фильтр на вычисляемые поля накладывать)


 
alex_*** ©   (2006-12-25 14:34) [4]

по любому в select"e можно формировать поле с номером дома и по нему уже пускать фильтр


 
Slimer ©   (2006-12-25 14:44) [5]

База локальная на парадоксе.
Ты прав, вычисляемые поля фильтровать нельзя.
Что ж делать, елки палки...


 
alex_*** ©   (2006-12-25 14:51) [6]

пользуй TClientDataSet - сам сделай в нем поля какие надо, вручную заполни, и радуйся жизни.


 
Anatoly Podgoretsky ©   (2006-12-25 14:54) [7]

Slimer ©   (25.12.06 14:44) [5]
Неправ, фильтровать можно что угодно, достаточно понять такой факт, что фильтры разные бывают.


 
alex_*** ©   (2006-12-25 15:11) [8]

фильтр можно еще в обработчике поставить (OnFilter...). Тогда будет работать.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.046 c
6-1155730369
Antonydee
2006-08-16 16:12
2007.01.14
Помогите разобраться


15-1166613701
petrovsky
2006-12-20 14:21
2007.01.14
Опять Access violation


2-1166721659
Tort
2006-12-21 20:20
2007.01.14
Работа с реестром


6-1149488733
sound81
2006-06-05 10:25
2007.01.14
Проверка актуальности антивирусных баз


15-1167031690
vajo
2006-12-25 10:28
2007.01.14
5% заполняемости страницы при печати.




   Наверх