急求教!(50分)

  • 主题发起人 主题发起人 ztmaster
  • 开始时间 开始时间
Z

ztmaster

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:
在FORM1里用FILTER过滤,设过滤条件为Searchwhat,而且Searchwhat是根据用户选择而动态生成的条件,在FORM1里加一按钮BUTTON1,新建一REPORT窗口,名为FORM2,设BUTTON1的单击事件为form2.Preview。在FORM2用TTABLE和TDATASOURCE分别设置好后怎么才能显示出过滤之后的记录???
 
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:='empno<'+quotedstr('10');
//這里s保存是过滤條件,可隨時改變
with table1do
begin
filter:=s;
filtered:=true;
//這里為false時就不过滤,即顯示所有記錄
end;
end;

行不行?
 
在FORM1里面已经设置好了过滤,问题是在点BUTTON1后在打开的报表中显示的是全部的记录啊(数据库是用BDE连接的ACCESS)
 
你讓form1和form2共享一個數據集,比如把數據集放在數據模塊里,再过滤應該可以,要寫上filtered:=true;
應該可以了。
 
可以过滤,但是在过滤后所定位的记录之后的记录会全部显示。
procedure TQuickReport1.QuickRepStartPage(Sender: TCustomQuickRep);
begin

DataSource1.DataSet.Refresh;
DataSource1.DataSet.Open;
DataSource1.DataSet.Active := True;
table1.Filter :=form1.Table1.Filter;
DataSource1.DataSet.Bookmark := form1.DataSource1.DataSet.bookmark;
end;

这是为什么啊。
 
后退
顶部