用fastreport的做动态分组报表遇到的难题? 王寒松大侠快来,report machine也如此 (100分)

  • 主题发起人 主题发起人 misai
  • 开始时间 开始时间
M

misai

Unregistered / Unconfirmed
GUEST, unregistred user!
我用fastreport制作动态分组报表时遇到的问题时,用了以下一段代码:
//创建并添加 groupheader
gz_x:=left_side;
b := TfrBandView(frCreateObject(gtBand, ''));
b.SetBounds(gz_x, 200, 400, 0);
b.BandType := btgroupheader;
b.Prop['formnewpage'] := True;
b.name:='groupheader1';
b.Prop['condition'] :='[adoquery1."部门号"]';
Page.Objects.Add(b);
//创建并添加 groupheader
每次启动后,第一次运行正常,接下来再运行时就会出现 'access violation at address...'错误,经反复检查,发现屏蔽掉'b.Prop['condition'] :='[adoquery1."部门号"]';'这一句就一切正常,可这句是分组条件,不可缺少,进退两难,不知如何是好,请高
人指点,分数不够可再加?
我用的是delphi5.0+access+fastreport2.42。我在其它的电脑上也试过,同样错误。
 
我也想知道,帮你。
 
没有这样做过,不过你可以先试试直接做好FASTREPORT的报表。
另外你要运行EXE,不要在调试阶段去运行报表,很容易发生类型转换错误!
以前觉得FASTREPORT很好,不过现在看来也不过如此,特别是你封装到DLL的时候你会发现
一些奇怪问题的!
 
做好报表再调用是没有问题的,我已试过,就是动态生成后调用有问题。
 
你可能搞错了一样东西啦
b.Prop['condition'] :='[adoquery1."部门号"]';
到底adoquery1中否有"部门号"此字段啊?
或者说在创建此报表前adoquery1是否已经OPEN?
因为b.“Prop”中的东西报错,fastreport是返回不了真正的错误信息
 
to delphilove:
adoquery1中确有"部门号"字段,我用的是access数据库,用的是中文字段名,
在创建此报表前adoquery1已经OPEN,并且程序第一次运行时结果是正确的,
报表确实已按部门号分组,只是第二次点击时才出错,若把程序完全退出,再
运行时,第一次仍然正常,第二次点击时出错。
 
难道真的没人做过delphi的动态分组报表?
 
难道真的没人做过fastreport的动态分组报表?
 
DocMode := dmDesigning;
////////////////////////

gz_x:=left_side;
b := TfrBandView(frCreateObject(gtBand, ''));
b.SetBounds(gz_x, 200, 400, 0);
b.BandType := btgroupheader;
b.Prop['formnewpage'] := True;
b.name:='groupheader1';
b.Prop['condition'] :='[adoquery1."部门号"]';
Page.Objects.Add(b);
 
有没有谁知道了,在fastreport怎么引用jpg 的图片了,那位老大教教我了,谢谢
 
以下是我的代码,运行没有错误。
b := TfrBandView.Create;
b.SetBounds(0, MastBandTop - 50, 0, 0);
b.GroupCondition := '[DM.PrintQ."' + PrintQ.Fields[0].FieldName + '"]';
b.BandType := btGroupHeader;
b.Name := 'GroupHead1';
Page.Objects.Add(b);
 
to whf:
do
cMode := dmDesigning;
最重要
深表感激,银子奉上,再次感谢。
 
后退
顶部