![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Наложение двух условий поиска
switch © (2008-05-13 10:54:00)На главной форме есть переключатель и строка ввода условия поиска при нажатии на кнопку происходит сл.процедура:
procedure TDataModule2.clientFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
....
if main.RadioButton1.Checked=True then
Accept :=(pos(AnsiUpperCase(main.Edit1.Text),AnsiUpperCase(client.FieldByName('C_Name') .AsString))>0)
else
if main.RadioButton2.Checked=True then
Accept :=(pos(AnsiUpperCase(main.Edit1.Text),AnsiUpperCase(client.FieldByName('C_Adress ').AsString))>0);
end;
Т.е. таблица не фильтруется а только показывает записи, соответствующие условию, поэтому возникла проблема объединения этих двух условий, т.е. к примеру пользователь произвел поиск по адресу, а потом решил в оставшихся записях произвести поиск по названию.
Можно ли это сделать имеющимся способом? Заранее спасибо!
switch (2008-05-13 12:09:00) [1]
> Юрий Зотов ©
Огромное спасибо!!!
switch (2008-05-13 12:08:00) [2]
> Можно ли это сделать имеющимся способом?
> select ... where ... AND ... ?
Внимательнее читайте вопрос, я не спрашивала про SQL
Юрий Зотов (2008-05-13 11:09:00) [3]1. Тогда не надо использовать RadioButton (а надо CheckBox).
2. Объединение очень простое:
Accept :=
(not CheckBox1.Checked or Условие_1)
and
(not CheckBox2.Checked or Условие_2);
TUser (2008-05-13 11:03:00) [4]select ... where ... AND ... ?