Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите правильно организовать поиск в Access

63K
16 сентября 2010 года
wasja_1
1 / / 16.09.2010
Имеется база Access с простой функцией поиска реализованной с помощью TADOQuery. В запросе прописана строчка:
SELECT * FROM base, rayon WHERE Район LIKE :Район AND base.районгор=rayon.key1
Поиск выполняется через заполнение поля в элементе TEdit и запускается с кнопки TBitBnt по коду:
procedure TSearchForm.BitBtn1Click(Sender: TObject);
begin
DataModule1.Search1Query.Active:=False;
DataModule1.Search1Query.Parameters.ParamByName('Район').Value:=SearchEdit.Text;
DataModule1.Search1Query.Active:=True;
Search1Form.ShowModal;
end;
Результат выводится в соответствующей форме.
А теперь просьба: как правильно создать запрос в TADOQuery чтобы запрос можно было формировать одновременно по 2 параметрам в полях TEdit и TEdit1, т.е. забиваем данные в TEdit и TEdit1 жмем кнопу и вот наш результат.
8
17 сентября 2010 года
mfender
3.5K / / 15.06.2005
Если я правильно понял, то поиск по двум полям? Тогда как-то так:
(<Field1> LIKE '<Param1>') OR (<Field2> LIKE '<Param2>'), где Param1 и Param2 - строки из двух TEdit.
Если в одном поле по двум строкам, то чуток иначе:
(<Field1> LIKE '<Param1>') OR (<Field1> LIKE '<Param2>')

Соответственно, если тебе надо True по обоим параметрам поиска, то вместо OR используй AND.

И ещё. Если ты ищешь строку целиком, то можно и просто <Field1> = '<Param1>'. LIKE хорош тем, что можно получить True в поиске подстроки. Например, если запрос <Field1> LIKE 'как%' вернёт все слова, типа "как", "какашка", "какаду", то <Field1> LIKE '%как%' вернёт то же, и ещё "обкакался", "поскакал". :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог