我使用悖论7创建了一个数据库。我通常进行的搜索是这样的语法:
Table.Filter := 'Country=' + QuotedStr(Edit.Text);
这将返回那些国家字段与编辑中输入的文本相同的行。当我要搜索以“ L”开头的国家时,我使用以下语法:
Table.Filter := 'Country=' + QuotedStr(Edit.Text + '*');
但是,如何搜索以“ L”结尾的字段?此语法不起作用:
Table.Filter := 'Country=' + QuotedStr('*' + Edit.Text );
谢谢。
最佳答案
您可以使用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;
关于delphi - 表中的部分搜索(BDE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989982/