下列的代码哪儿出错了?执行后dbgrid里面是空的,为什么?(有满足条件的记录)
datamodule1是数据模块
Tjbqk是数据模块里面的表
procedure TForm2.SpeedButton1Click(Sender: TObject);
begindatamodule1.Tjbqk.Active:=false;
datamodule1.Tjbqk.Filter:='bkmc= "人民日报"';
datamodule1.Tjbqk.Filtered:=true;
datamodule1.Tjbqk.Active:=true;end;

解决方案 »

  1.   

    datamodule1.Tjbqk.Filter:='bkmc= "人民日报"';
    好像你引号使用错了。
      

  2.   

    datamodule1.Tjbqk.Active:=false;
    datamodule1.Tjbqk.Active:=true;
    datamodule1.filtered := false;
    datamodule1.Tjbqk.Filter:='bkmc="人民日报"';
    datamodule1.Tjbqk.Filtered:=true;
      

  3.   

    Filter是在数据集打开之后才能生效的:if (datamodule1.Tjbqk.Active = false) then
      datamodule1.Tjbqk.Active:=true;datamodule1.Tjbqk.Filtered:=False;
    datamodule1.Tjbqk.Filter:='bkmc= ''人民日报''';  //最好还是用跟标准sql符合的单引号
    datamodule1.Tjbqk.Filtered:=true;