2010-10-21 4 views
1

Я сделал базу данных с парадоксом 7. Обычного поиском я делаю, это синтаксис, как это:Частичный поиск в таблице (BDE)

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

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

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

Но как я могу искать полей тех, которые закончили с «L»? этот синтаксис не работает:

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

Спасибо.

ответ

3

Вы можете использовать событие 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;