Помогите правильно организовать поиск в Access
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 жмем кнопу и вот наш результат.
(<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 '%как%' вернёт то же, и ещё "обкакался", "поскакал". :)