在OnFilterRecord事件中添加 Accept := True; if DataSet.FieldByName('Area').AsInteger <= StrToInt(edt1.Text) then Accept := False;
这个最灵活的方法是通过标准的SQL语句进行条件查询。 建议学一下SQL语句。
如果sql语句正常(也就是说必须查出那么多记录的话)可以这样。 query1.first; while not query1.eof do begin if query1.fieldbyname('字段').as类型=常量 then begin 对显示记录的控件赋值; end; query1.next; end;
query1.Filtered:=False;
query1.Filter:='设置你的条件';
query1.Filtered:=True;
Accept := True;
if DataSet.FieldByName('Area').AsInteger <= StrToInt(edt1.Text) then
Accept := False;
建议学一下SQL语句。
query1.first;
while not query1.eof do
begin
if query1.fieldbyname('字段').as类型=常量 then
begin
对显示记录的控件赋值;
end;
query1.next;
end;