![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
регистр при фильтрации
linox © (2009-08-03 21:42:00)Доброго время суток,.. у меня вопрос...
есть база Access. Данные в DBGrid выводятся с помощью ADOQuery. Запрос через SQL. Есть фильтрация по полю, но вильтрация учитывает верхний или нижний регистр... как сделать, чтобы этого учета не было
StriderMan (2009-08-04 13:00:00) [1]а Фильтрация на клиенте или в запросе ?
Если первое - то [18],
если второе то...UPPER(<поле>) LIKE UPPER(<шаблон>)илиCONTAINING(...)
Anatoly Podgoretsky (2009-08-04 12:29:00) [2]> brother (04.08.2009 12:16:17) [17]
Остальные быстро решают задачу, либо с помощью форума, либо самостоятельно, поэтому в общем потоке незаметны.
Виталий Панасенко (2009-08-04 12:18:00) [3]
> linox (04.08.09 10:48) [9]
>
> 2 Виталий Панасенко
> >приведи к общему регистру значение и условие фильтра
> как?
мдя......используй функции AnsiUpperCase/AnsiCompareText(кажись так) на выбор
brother (2009-08-04 12:16:00) [4]> Но автор стойкий партизан.
последнее время, одни стойкие идут)
Anatoly Podgoretsky (2009-08-04 12:14:00) [5]Но автор стойкий партизан.
Anatoly Podgoretsky (2009-08-04 12:13:00) [6]
> SELECT "1"="2", "Компьютер" = "компьютер", "компьютер"="КОМПЬЮТЕР",
> True
Вообще то вопрос про фильтр, а не про выборку.
Во вторых вопрос про компьютер Ы, а не про компьютер, но тут возможно он просто описался
Ну и в третьих цитата
> но вильтрация учитывает верхний или нижний регистр... как
> сделать, чтобы этого учета не было
brother (2009-08-04 12:06:00) [7]> хм. так ему похоже наоборот нужно сделать регистрозависимость,
> а не убрать ее.
нет
> Затем что например среди 64000 записей есть например 1500
> компютеров, некоторые записаны "Компьютер" , " компьютер",
> "КОМПЬЮТЕР", и нужно выбрать только компьютеры....
именно регистронезависимость
> но вильтрация учитывает верхний или нижний регистр... как
> сделать, чтобы этого учета не было
sniknik (2009-08-04 11:57:00) [8]>> "КОМПЬЮТЕР", и нужно выбрать только компьютеры
> Вы, эта, сами-то понимаете, что вам нужно?
хм. так ему похоже наоборот нужно сделать регистрозависимость, а не убрать ее.
sniknik (2009-08-04 11:55:00) [9]> некоторые записаны "Компьютер" , "компьютер", "КОМПЬЮТЕР"
и что? с точки зрения jet/ADO это ОДНО И ТОЖЕ. так же как MSSQL или другой движок имеющий понятие "коллатион". и также как устроен фильтр локального рекордсета в ADO.
для тех кто понимает проверка
SELECT "1"="2", "Компьютер" = "компьютер", "компьютер"="КОМПЬЮТЕР", True
вернет
0, -1, -1, -1
brother (2009-08-04 11:21:00) [10]> А может у него ошибка в программе?
строку мы знаем)
Anatoly Podgoretsky (2009-08-04 11:19:00) [11]А может у него ошибка в программе?
linox (2009-08-04 10:48:00) [12]2 Виталий Панасенко
>приведи к общему регистру значение и условие фильтра
как?
Плохиш (2009-08-04 10:47:00) [13]
> linox (03.08.09 21:42)
> Есть фильтрация по полю, но вильтрация учитывает верхний
> или нижний регистр... как сделать, чтобы этого учета не
> было
> linox (04.08.09 09:35) [4]
>
> Затем что например среди 64000 записей есть например 1500
> компютеров, некоторые записаны "Компьютер" , "компьютер",
> "КОМПЬЮТЕР", и нужно выбрать только компьютеры
Вы, эта, сами-то понимаете, что вам нужно?
Виталий Панасенко (2009-08-04 10:45:00) [14]Если уж внатуре что-то начудил, используй OnFilterRecord, там приведи к общему регистру значение и условие фильтра
Anatoly Podgoretsky (2009-08-04 10:01:00) [15]Зациклился
Palladin (2009-08-04 09:51:00) [16]А не нужно допускать такое заполнение БД.
linox (2009-08-04 09:35:00) [17]Затем что например среди 64000 записей есть например 1500 компютеров, некоторые записаны "Компьютер" , "компьютер", "КОМПЬЮТЕР", и нужно выбрать только компьютеры....
sniknik (2009-08-03 22:30:00) [18]читать умеешь, где написано что нельзя? написано что оно УЖЕ так есть, зачем что то делать?
linox (2009-08-03 22:03:00) [19]и никак нильзя? есть 64000 записей... и некоторые большими буквами а некоторые маленькими... и нужно чтобы выдавало все записи.. (
sniknik (2009-08-03 21:55:00) [20]ничего не делать, оно так и есть.