做报表的疑惑:请指教一下 (40分)

  • 主题发起人 主题发起人 huanteng
  • 开始时间 开始时间
H

huanteng

Unregistered / Unconfirmed
GUEST, unregistred user!
我做成两个Form;
Form2为报表,Form1上放置了一个RadionGroup,有4个选项,一个Button.
疑惑出现了:
我想当RadionGroup选择一个以后,按下Button,(Button同时充当报表的预览的的按键的功能),报表就启用相应SQL 语句,并将查询结果预览出来,
本意是这样的:
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.open;
if RadioGroup1.ItemIndex=0 then
adoquery1.sql.add('select * from AA');
if RadioGroup1.ItemIndex=1 then
adoquery1.sql.add('select * from AB');
if RadioGroup1.ItemIndex=2 then
adoquery1.sql.add('select * from AC');
if RadioGroup1.ItemIndex=3 then
adoquery1.sql.add('select * from AD');
adoquery1.open;
Form2.QuickRep1.preview;
end;
(aa,ab,ac,ad是4张表,但是形式是一样的)
但是我就不知道ADOConnect和ADOQuery1控件是应该放在哪里?Form1上吗?还是Form2报表那里呢?
如果不是放在报表哪里的话?我的报表的Dataset怎么设置呢?有其是当我仅需要显示表的name,id,fen这三列的时候?
真的无从下手了
请高手们指教一下
附:
我知道必须的在Uses中引用Unit1
我想知道的关键是:
Form1中应该怎么样连接数据集了
看来是必需要用程序来实现了
比如说:QuickRep的Dataset和DBText怎么用程序与相关的ADOQuery和DataField连接起来????
这个是我想知道的关键
 
我补充一下哦
如果放在Form1中的话,那我的QuickRep怎么设置他的数据连接呢?
而且放置的DBText也没有办法设定连接了
总而言之,就是要实现在多表中显示所选择的表的name,id fen这三列
(希望我描述的够清楚)
 
uses
form1-->unit
 
我知道必须的在Uses中引用Unit1
你没有明白我的意思
我的意思是那么Form1中应该怎么样连接数据集了
看来是必需要用程序来实现了
比如说:QuickRep的Dataset和DBText怎么用程序与相关的ADOQuery和DataField连接起来????
这个是我想知道的关键
 
form2.dbtext.dataset:=adoquery1
form2.dbtext.datafield:='name'
 
这样的话
不用放置多个ADOQuery拉
一个ADOQuery就可以OK?
 
form2.dbtext.dataset:=adoquery1
form2.dbtext.datafield:='name'
写在那一个过程名下?
 
接受答案了.
 
后退
顶部