Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Поиск в БД Access


Автор: Novichek27 5.12.2010, 00:58
Привет всем. Не получается подставлять имя поля в процедуре поиска. Чтобы была возможность искать по разным полям.

var FieldName: string;
begin
case ComboBox1.ItemIndex of
0: FieldName := ADOQuery1.Fields[1].FieldName;
1: FieldName := ADOQuery1.Fields[2].FieldName;
2: FieldName := ADOQuery1.Fields[3].FieldName;
3: FieldName := ADOQuery1.Fields[4].FieldName;
4: FieldName := ADOQuery1.Fields[5].FieldName;
end;
with ADOQuery1 do
  begin
    Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT *FROM tablename');
    ADOQuery1.SQL.Add('WHERE(FieldName LIKE "%' + Edit1.Text + '%")');
    ADOQuery1.Open;
end;
end;

Сообщение: "FieldName не является параметром по умолчанию"

Подскажите что не так пожалуйста, и вообще что и как работать с параметрами, задавать по умолчанию.

Автор: Данкинг 5.12.2010, 01:07
Код

ADOQuery1.SQL.Add('WHERE('+FieldName+' LIKE "%' + Edit1.Text + '%")');

Автор: Novichek27 5.12.2010, 01:16
Спасибо Данкинг smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)