:: Visual Foxpro, Foxpro for DOS
Поиск в форме по нескольким полям
Алла

Сообщений: 25
Дата регистрации: 09.02.2005
У меня есть таблица - адресная база. Нужно по нескольким полям найти нужную информацию.
Я сделала форму, в ней несколько textBox - tRn, tUl, tDom, tKw, tFio (могут быть еще добавлены).
Они заполняются известной информацией, и выполняется поиск:

select rn, ul, dom, kw, fio; && и еще множество полей, по которым требуется получить информацию
from c:/adress;
where lower(alltrim(tRn.value))$ lower(rn);
and lower(alltrim(tUl.value))$ lower(ul);
and lower(alltrim(tDom.value))==lower(dom);
and lower(alltrim(tKw.value))==lower(kw);
and lower(alltrim(tFio.value))$ lower(fio);
into cursor dom

Но не всегда есть возможность заполнить все textBoxы (неизвестны значения), и в этом случае выдается пустой курсор.
А мне нужно, если неизвестен № дома, не заполнять поле tDom - и мне выйдут все дома, по которому остальные критерии совпадают.
Как это сделать?
Ratings: 0 negative/0 positive
Re: Поиск в форме по нескольким полям
Pliskin

Сообщений: 2959
Откуда: Новосибирск
Дата регистрации: 19.11.2003
... and (lower(alltrim(tDom.value))==lower(dom) or empty(tDom.value))...
Ratings: 0 negative/0 positive
Re: Поиск в форме по нескольким полям
Alv
Автор

Сообщений: 259
Дата регистрации: 27.10.2002
ИМХО, быстрее искать будет так:
lсWhere='.t.'+iif(empty(tRn.value),'',' and lower(alltrim(tRn.value))$ lower(rn)')+...
select rn, ul, dom, kw, fio from c:/adress into cursor dom ;
where &lсWhere
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 34 (Гостей: 34)

© 2000-2024 Fox Club 
Яндекс.Метрика