参考:点击下载此附件
报表中的模块:
Option Compare Database
'--------------------------------------------------------------------------------------------------------
'这个是针对已经印刷好的表格之数据打印,不含表头、页眉页脚,仅仅是数据行的定位打印。每次只能打印一行数据。
'建议从窗体中的当前记录标记,生成查询,然后根据该查询生成报表。且在窗体中使用按钮命令进行“打印”
'比如说我有几张已经印刷好的空表格,每张空表格有10行,我第一次打印的时候首条记录的ID是1,打印了ID为1的1条记录;第二次打印时首条记录ID为4的1条记录,
'那么打印的时就可以从空表中第四行的位置开始打印。最终多次打印的数据就会连续打印在同一张表格上。
'--------------------------------------------------------------------------------------------------------
Dim tid As Long '局部变量,报表数据的行数
Const startH As Long = 0 '数据行的起始位置,可以在页面高度许可的范围内自行调整,与已经印刷好的表格、本报表的主体节位置相关。
'
Private Sub Report_Open(Cancel As Integer)
'在打开报表的时候,获得排序编号的最小值,这个值决定打印位置(在已经印刷好的打印纸上的表格的第几行)
tid = Nz(DMin("id", "报表查询"), 0)
End Sub
Private Sub 页面页眉_Format(Cancel As Integer, FormatCount As Integer)
Me.Section(3).Height = tid * Me.Section(0).Height + startH '设置要打印的第一行数据的起始位置=tid*主体节的高度,主体节的高度就是每行数据的打印高度。
End Sub