VB技巧问答10000例 VB技巧问答10000例
源代码在线查看: 能否利用crystal reports打印data控件的recordset对象的虚拟表.txt
VB 5.0附带的Crystal Reports 4.x提供了对Recordset对象的支持。若要实现数据控件的报表输出,需要使用Crystal Reports的ActiveX控件。所以,你需要先从控件列表中选择Crystal Reports Control 4.6,放一个控件在Form中,并设置好Data控件的有关属性。
设置Crystal Reports控件的DataSource属性为Data控件(如Data1),再设置ReportSource属性为3。若ReportSource属性为0,表示使用报表文件,若为3表示数据控件。在运行时,调用CrystalReport1.Action = 1就可以输出报表。与此相关的属性还有BoundReportFooter和BoundReportHeading,它们决定是否打印页眉和页脚。当然,采用这种形式输出的报表绝对称不上美观。
若要使报表美观,需要对报表格式进行修改。如果在设计时改变报表格式,在完成对Crystal Reports控件的设计后,选择Custom(自定义)属性,在属性页对话框中选择Data-Bound Report标签(见图),按Save Report As按钮,将数据保存为报表样板。在Crystal Reports Desiner中打开该样板,修改字体等属性,使报表更美观。打印修改后的报表的方法同前面的方法不同,应将ReportSource属性为0,将ReportFileName设为报表样板文件。报表样板也可以在程序运行时生成。首先如前设置好Crystal Reports控件,将打印输出Destination属性设为0,即Preview Window,运行程序,在打印预览窗口选Export按钮,以.RPT格式输出。编辑和打印该报表样本的方法同前。Crystal Report对于这种自定义格式的报表有一个限制,就是Data控件的RecordSource属性在报表修改前后不能改变。