【聚杰网数据库编程】PB6中报表输出的技巧二则
一、 数据库中的两个TABLE:project(项目)、manufacture(询价厂商)。其结构如下:
project(xmbh,gg,xh,psyj……)manufacture(xmbh,csmc,xjcx,gg,xh,bj……)project表中的内容:
manufacture表中的内容:
二、 输出的报表格式:(实际报表中字的颜色均为黑色,底色均为白色)
三、实现方法
从图一中可以看出,该报表中包含project与manufacture两个table的记录,并且要求将manufacture中的记录以列的形式输出。具体实现方法如下:
方法1:
- 按图一,创建一Freeform格式的datawindow(dw_1),将project中所需的内容选出,设置其Argument为xmbh。其格式即不含灰底中内容的图一。
- 创建一Label格式的datawindow(dw_2),将manufacture中所需的内容选出,同样设置其Argument为xmbh;双击该datawindow的空白区域,打开属性对话框,主要设置Definition属性页:
(1) Label项: 设置Label的宽度、高度、每页的Label个数;
(2) Margins项:指定Label的上、下、左、右以及Label与Label之间的间距;
(3) Arrange项:Label 的安排方式:从左到右或从上至下
- 打开dw_1,插入一Nested Report控件,选择Report为dw_2。按图一灰底区域的位置与大小调整Report,同时设置该Report的General、Arguments属性页,设置General属性页的Border为None,指定Arguments页中的Expression为xmbh列(这是为了避免预览或打印时出现“Special Retrieval”对话框)。
- 调整dw_2中的Column 的高度、宽度、大小以及Column与Column的间距,直至满意为止。(为了调试方便,最好将dw_2中Column的Border设置为None)
- 最后,直接预览或打印dw_1即可!
方法2:
- 按图一,创建一Freeform格式的datawindow(dw_1),将project中所需的内容选出,设置其Argument为xmbh。其格式即不含灰底中内容的图一。
- 再创建一Freeform格式的datawindow(dw_2),将manufature中所需的内容选出,设置其Argument为xmbh。注意:要将xjcx列选出,为了不显示和打印该列,可将其foreground color设为与底色同色(不能在datawindow中将该列删除)。
- 打开dw_1,插入三个Nested Report控件,Report 都选择dw_2。按图一灰底区域的位置与大小调整三个Report,同时设置Report的General、Arguments属性页,设置General属性页的Border为None,指定Arguments页中的Expression为xmbh列。另外,对每一个Report分别设置其Criteria属性页,依次指定xjcx列的criteria值为1,2,3。
- 调整dw_2中的Column 的高度、宽度、大小以及Column与Column的间距,直至满意为止。
- 最后,直接预览或打印dw_1即可!




