Crystal Reports似乎每组限制为80个部分
Environment:
Microsoft Windows XP
Professional
Version 2002
Service Pack 3
Crystal Reports XI (Release 1)
Calling the Crystal Reports Engine crpe32.dll version 11.0.0.1445
Via Crystal VCL 11 libraries
Via Borland C++Builder 6 Enterprise Suite Version 6.0 (Build 10.166)
我发现该报告包含86个部分(在一个组中) 使用在的Crystal Reports XI exe运行得很好 C:\ Program Files \ Business Objects \ Crystal Reports 11 \ crw32.exe
然而,当我从编译的可执行文件中调用相同的报表时 使用Borland C ++ Builder - > VCL电话 - > CRPE32.DLL 它不打印。
我花了很多令人沮丧的时间来调试exe。 我使用了分而治之的调试方法并设计出来 一个状态机,在记录每个时都会执行以下操作 沿途的状态:
我发现该报告在OpenJob中出错了
Crpe1->Status()
状态crsJobFailed
Crpe1->LastErrorNumber()
为"505: No print destination specified"
以下是播放的剧本(我将其输出到文件中):
LoadEngine() started
LoadEngine() completed. The handle to CRPE32.DLL is: 728956928
EngineOpen() started
EngineOpen() completed. Engine is already opened.
JobIsOpen() started.
JobIsOpen() completed. The PrintJob is open.
Execute() started
Status() crsJobFailed
Execute() failed.
Error state.
LastErrorNumber 505: No print destination specified.
C:\REPORTS\ProblemReport.rpt
Please first call PEOutputToWindow or PEOutputToPrinter!
Execute <PEStartPrintJob>
Finished state.
返回报告:
从报告中删除一些/*comment*/
部分会带来数量
部分下降到78,瞧...报告打印出来就好了
在Borland C ++ Builder上编译的可执行文件 - &gt; VCL电话 - &gt; CRPE32.DLL
我的结论: 避免在一个组中创建超过80个部分。
作为解决方法,您可以添加其他组
相同的GROUP BY
列(基本上,重复
同一组)并创建所需的所有额外部分
在新组(重复组)中。
这相当于编写以下SQL
SELECT
column1
column1
FROM table
GROUP BY
column1,
column1;
还有其他人有这个问题吗? 如果是,您设计了什么解决方案?