fastreport的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 wjames
  • 开始时间 开始时间
W

wjames

Unregistered / Unconfirmed
GUEST, unregistred user!
我在同一个query中,用了3中格式进行数据的打印,第一个格式是没有问题的,但是后面的2中格式只出现了标题,数据的标签都没出现,不知道是我那里出错了还是fastreport本身的问题
我在query中设定了3中格式所需要的数据,分别是iType=1,2,3,当itype=1的时候,三种格式都可以显示,后面几种就都不行了,问下大家是什么原因???
 
我在同一个query中,用了3中格式进行数据的打印,第一个格式是没有问题的,但是后面的2中格式只出现了标题,数据的标签都没出现,不知道是我那里出错了还是fastreport本身的问题
我在query中设定了3中格式所需要的数据,分别是iType=1,2,3,当itype=1的时候,三种格式都可以显示,后面几种就都不行了,问下大家是什么原因???
 
看了老半天還是看不懂你的意思.:)
說詳細些吧。
 
呵呵,语文没学好啊,后悔ing....
就是我有3个格式文件,当query的条件不同的时候,分别加载不同的格式文件,当第一个条件iType=1的时候,3个格式文件加载打印都是正常的,当itype=2和3的时候,,只能打印出标题了,其他的都没打印出来,但是query中是有数据的
 
忘记说了,我用的是d7+access+fastreport 2.5
 
打印的代码是这样的
procedure TfrmMain.btnPrintClick(Sender:TObject);
var strFormat:string;
strTmp:string;
report:TfrReport;
frc:TfrCompositeReport;
begin
frReport1.Clear;
frc:=TfrCompositeReport.Create(self);
report:=frc;
strTmp:=copy(query1.sql.text,length(query1.sql.text)-1,1);
if strTmp='1' then
frReport1.LoadFromFile('format1.frf')
else
if strTmp='2' then
frReport1.LoadFromFile('format2.frf')
else
frReport1.LoadFromFile('format3.frf');
//接下来就是打印的代码,各个格式都是一样的,应该不会有什么问题吧;
frc.DoublePass:=true;
frc.Reports.Clear;
frc.Reports.Add(frReport1);
Report.Preview:=frPreview1;
if Report.PrepareReport then
report.showReport;
frc.free;
end;
 
仔細看看這句代碼:
strTmp:=copy(query1.sql.text,length(query1.sql.text)-1,1);
追蹤看看StrTmp的值是不是固定的?
 
值是对的,分别显示‘1’‘2’‘3’
 
设断点跟一下....看着好象没有问题.
 
所以我现在也迷糊了~~~是不是我的fastreport版本不对啊,我再去下个2。53的来试试看
 
'format2.frf''format3.frf'格式不对吧
 
但是当iType=1的时候,format2.frf、format3.frf 打印是正常的
 
iType=2,3时候query没有返回数据集
 
query中有数据的
 
format1.frf
format2.frf
format3.frf
在代码里换一下位置,看一看。。。。。。
 
换了试过,现在还是第一次加载的格式文件是可以打印的,后面加载的都不行
 
感觉问题不在fp,还是你的Query有问题
 
Query应该是没有问题的,数据都是正常、准确的
 
勸你盡量不要用fastreport,bug超多,語法也怪怪的,資料又少,如果只用來打印簡單標簽可以考慮一下,做複雜的報表有你受的.
 
晕啊,那按照你说,应该用什么报表工具?ReportBuilder?RM?Rave Report?
 
后退
顶部