Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Locate


User_OKA ©   (2003-05-03 11:33:00) 

Необходимо выполнить следующий поиск:

Locate("FIO;Adres;Ndom;",VarArrayOf([Любое значение,Edit1.Text,Любое значение]),[loCaseInsensitive])

Как задать любое значение?


VAleksey   (2003-05-05 10:24:00) [1]

Формировать надо строку "FIO;Adres;Ndom;", а так же
вариантный массив. Их и подставлять. Другого пути нет.


Zacho   (2003-05-05 10:24:00) [2]


> User_OKA © (05.05.03 09:49)

Просто перед Locate формируй динамически KeyField и KeyValues в зависимости от того, в каких Edit"ах есть значения.


User_OKA   (2003-05-05 09:49:00) [3]

Я хотел в событии Edit.OnChange определить какие из Edit-ов пустые. И если Edit пуст, то этот параметр в поиске принимал бы любое значение, а если Edit содержал бы какое-то значение, то параметр поиска соответствовал значению Edit.

Форма поиска всегда оставалась неизменной
Locate("FIO;Adres;Ndom;",VarArrayOf ([???,Edit2.Text,???]),[loCaseInsensitive])


Palladin   (2003-05-03 14:59:00) [4]

:) а в этой конференции веселые вещи встречаются


MsGuns   (2003-05-03 12:33:00) [5]

>User_OKA © (03.05.03 12:19)
>Мне нужно поиск по 3 Edit.

Тебе нужен поиск по Edit или по содержимым их св-ва Text ?
Если в каком-то Edit нет значения (пусто), надо ли это воспринимать как аргрумент поиска (значение поля не указано) или же что по этому полю искать не надо ?

Если первое, то см. MsGuns © (03.05.03 12:16) & Anatoly Podgoretsky © (03.05.03 12:27), если второе, то User_OKA © (03.05.03 11:33) с EditN.Text вместо [Любое значение]


Anatoly Podgoretsky   (2003-05-03 12:27:00) [6]

Значит не надо в ключать в поиск это поле


User_OKA   (2003-05-03 12:19:00) [7]

MsGuns> Locate("Adres",Edit2.Text,[loCaseInsensitive]) - поиск только по адресу

Мне нужно поиск по 3 Edit.



MsGuns   (2003-05-03 12:16:00) [8]

Locate("Adres",Edit2.Text,[loCaseInsensitive]) - поиск только по адресу


User_OKA   (2003-05-03 12:10:00) [9]

Например у меня есть 3 Edit.
Edit1 - FIO
Edit2 - Adres
Edit3 - NDom
По ним мне необходимо организовать поиск в БД.
В событии Edit OnChange пишу
Locate("FIO;Adres;Ndom;",VarArrayOf([Edit1.Text,Edit2.Text,Edit3.Text]),[loCaseInsensitive])
Если Edit1.Text и Edit2.Text пустые, а Edit2.Text имеет какое то значение, то поиск не работает.
Для этого я и хочу задать, если Edit.Text пустой значит любое значение.


Anatoly Podgoretsky   (2003-05-03 11:58:00) [10]

Строго как написано в твоем вопросе и в ответе, именно так и не иначе.


User_OKA   (2003-05-03 11:56:00) [11]

Ну и как это понять?


Anatoly Podgoretsky   (2003-05-03 11:52:00) [12]

Locate("FIO;Adres;Ndom;",VarArrayOf(["Любое значение",Edit1.Text,"Любое значение"]),[loCaseInsensitive])


Наверх

Титульная страница Поиск, карта сайта Написать письмо