怪----简单QuickRep1.Preview问题(50分)

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

zy155

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tfmspcgsh.SpeedButton1Click(Sender: TObject);
begin
form4.QuickRep1.Preview //产生错误EAccessvidation with message'Access vidation at address...,read od address 0000000
end;
form4里的数据源连在fmsocgsh里面的ADOquery
请高手指点一下可能是什么问题!!!!!
 
还用quickreport ,它问题多多,改用fastreport或其它吧!
 
不要用了
 
form4有没有生成呢?
 
有几个你确定一下:
1、Tfmspcgsh是否已经引用了form4所在的单元
2、你在这个方法里没有创建from4这个窗体,你在哪创建他(这是必须的)
procedure Tfmspcgsh.SpeedButton1Click(Sender: TObject);
begin
form4.QuickRep1.Preview //产生错误EAccessvidation
end;
3、QuickRep1的DATASET属性你设置了么,而且是否在Preview前,DATASET有数据
4、前三点没问题了理论上不应该有错
5、我给你一点步骤(是在前三点没问题的基础上):
步骤:
1、quickrpt属性:
QuickRep1.Bands.HasColumnHeader:=true;
QuickRep1.Bands.HasDetail:=true;
QuickRep1.Bands.HasSummary:=true;
2、加控件
qrgroup,qrband
属性设置 qrgroup.footerband:=qrband
qrband.bandtype:=rbGroupFooter
qrgroup.expression:=你的分组字段(多字段要建立多个qrgroup)
3、在qrband加:qrlabel1,qrexpr
qrexpr1.expression:=sum(你的小计字段)
qrexpr1.resetAfterPrint:=true;
4、在summaryband加:qrlabel(合计),qrexpr2
qrexpr2.expression:=sum(你的合计字段)
qrexpr2.resetAfterPrint:=false;
注意:以上属性设置大多不要写代码,直接设置就行了
 
我现在改成:
procedure Tfmspcgsh.SpeedButton1Click(Sender: TObject);
begin
form4.show
end;
procedure TForm4.FormShow(Sender: TObject);
begin
QuickRep1.Preview //还是有同样的问题
end;
pandababy提出的可能性我也查了。
还是不对啊!!!!!
 
是不是QRBand设置错误啦!!
我设置的是:
page header
Detail
Group header
Sub Detail
Group Footer
 
form4应该在程序初始化时创建。
打开工程设置,把form4加入到自动创建栏目。
程序中直接Form4.QuickRep1.Preview即可。
 
我试了,还是有同样的错!!!!!!!
 
估计是窗体未创建或顺序错误!
建议您加个DataModule数据模块
New...里有
将Query加在这个窗体里
其它调用的窗体分别Use一下
就OK了


 
应该是FORM4还没有被实例化
FORM4:=TFORM4.CREATE(APPLICATION);
Form4.QuickRep1.Preview;
 
还是不对啊!!!!!
急死人了!!!!!!!!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
994
import
I
I
回复
0
查看
712
import
I
I
回复
0
查看
655
import
I
后退
顶部