Create Crystal Report Using Active Data,在Delphi中将数据集传给报表出错!高分酬谢!(200分)

  • 主题发起人 主题发起人 chao_jian
  • 开始时间 开始时间
C

chao_jian

Unregistered / Unconfirmed
GUEST, unregistred user!
在Crystal Report Designer中创建了报表Report1.rpt(字段定义文件为Report1.ttx),
在Delphi中调用代码如下:
Crpe1.ReportName := './Report/Report1.rpt';
Crpe1.DiscardSavedData;
Crpe1.Tables[0].DataPointer := CrpeDS1.DataPointer;
Crpe1.Show;
程序运行至第三行时出错,跟踪至Crpe32.pas,是在TCrpeTablesItem.SetBytes中的PEGetNthTablePrivateInfo(Cr.FPrintJob, FIndex, PrivateInfo)执行不成功,在线帮助没找到答案,是否是因为缺少Dll文件?
请帮忙,非常感谢!
我用的Crystal Report 9中文版,VCL8.5。
 
老大,我也遇到了这个问题,VCL8.5自带的有个例子都可以运行,我做的就不行,具体的代码是:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select a.question_id,a.Description,b.question_number,b.question_detail, b.question_type from SV_questionHdr a,SV_questionDtl b where a.question_id = b.question_id ');
ADOQuery1.SQL.Add('and a.question_id>=:questionS ');
ADOQuery1.SQL.Add('and a.question_id<=:questionE ');
ADOQuery1.Parameters.ParamByName('questionS').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('questionE').Value:=Edit2.Text;
ADOQuery1.Open;
Crpe1.ReportName:='D:/work/SurveyQuestion/rpt/question.rpt';
Crpe1.Connect.Servername := 'Hayco_SERVER';
Crpe1.Connect.UserID := 'SA';
Crpe1.Connect.PassWord := '12';
Crpe1.Connect.DatabaseName:='Project';
Crpe1.Selection.Formula.Clear;
Crpe1.ParamFields[0].CurrentValue :=Edit1.Text;
Crpe1.ParamFields[1].CurrentValue :=Edit2.Text;
Crpe1.DiscardSavedData;
Crpe1.Tables[0].DataPointer := CrpeDS1.DataPointer;
Crpe1.Show;
运行到倒数第二行时就出错。不知道是数据集的设置有问题还是别的设么原因?!
请问你是否已经解决了这个问题?如何解决的?多谢
 
后退
顶部