Поиск по нескольким полям

  • Автор темы Brunetka
  • Дата начала
B

Brunetka

#1
Есть БД, нужно в каждой отдельной таблице осуществить поиск по 1 или нескольким полям. Вот мой код на дельфи:
[codebox]procedure TForm1.Button3Click(Sender: TObject);
var
LocOpts : TLocateOptions;
t : string;
n: array of variant;
index: integer ;
begin
LocOpts :=[];
IF CheckBox8.Checked THEN LocOpts := LocOpts + [loPartialKey];
IF CheckBox9.Checked THEN LocOpts := LocOpts + [loCaseInsensitive];


case RadioGroup1.ItemIndex of
0:
begin
IF Edit1.Text<>'' THEN
begin
t := t+'KEY_BALETI;';
index := Length(n);
SetLength(n, index + 1);
n[index] := Edit1.Text;
end;

IF Edit2.Text<>'' THEN
begin
t := t+'NAME_BALETA;';
index := Length(n);
SetLength(n, index + 1);
n[index] := Edit2.Text;
end;

IF Edit3.Text<>'' THEN
begin
t := t+'DATA_SOZD;';
index := Length(n);
SetLength(n, index + 1);
n[index] := Edit3.Text;
end;

DataModule2.IBQuery1.Locate(t, n, LocOpts);

end;
end;[/codebox]
Здесь у меня RadioGroup1 это выбор таблиц (пишу, соответственно, пока для первой), Edit1, Edit2, Edit3 -поля, по которым ищу.
Ошибок не выдает, но и не работает((БД, подключена. посмотрите, пожалуйста, ошибок не видите? Или я что-то еще забыла сделать...
 
E
#2
Locate - это функция. Смотрите что она возвращает и "пляшите" отсюда. И 2 параметр у вас по моему неправильный, смотрите справку, там есть примеры.