Частичный поиск в таблице (BDE) - PullRequest
1 голос
/ 21 октября 2010

Я создал базу данных с парадоксом 7. Обычный поиск, который я выполняю, - это синтаксис, подобный следующему:

Table.Filter := 'Country=' + QuotedStr(Edit.Text);

Это возвращает строки, в которых поле страны совпадает с введенным текстом при редактировании.когда я хочу найти страны, начинающиеся с "L", я использую этот синтаксис:

Table.Filter := 'Country=' + QuotedStr(Edit.Text + '*');

Но как мне найти поля, которые заканчиваются на "L"?этот синтаксис не работает:

Table.Filter := 'Country=' + QuotedStr('*' + Edit.Text  );

Спасибо.

1 Ответ

3 голосов
/ 21 октября 2010

Вы можете использовать событие OnFilterRecord для выполнения настраиваемой фильтрации.С твоим примером, может быть, что-то.как это:

procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
var
  s: string;
begin
  Accept := False;
  if not DataSet.FieldByName('Country').IsNull then begin
    s := DataSet.FieldByName('Country').AsString;
    Accept := Copy(s, Length(s), 1) = 'L';
  end;
end;
...