Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何用代码设置报表页眉高度

白桦林  发表于:2019-08-07 13:41:35  
复制

我希望在生成报表时,报表页眉的高度能根据条件查询到的首条记录的ID自动调整。

具体请需要请看附件实例。点击下载此附件

哪位大侠能帮我在报表中加入代码自动实现上述需求。

非常感谢!!!!

 

Top
白桦林 发表于:2019-08-08 15:08:26

 这个功能还是很实用的,可以用来在提前打印好的空表格里的指定位置套打报表数据。 

比如说我有几张打印好的空表格,每张空表格有10行,我第一次打印的时候首条记录的ID是1,打印了ID为1至3的3条记录;第二次打印时首条记录ID为4,那么打印的时就可以从空表中第四行的位置开始打印。最终多次打印的数据就会连续打印在同一张表格上。

很实用的实例,希望哪位朋友能帮我实现。

谢谢您啦!!!



西出阳关无故人 发表于:2019-08-09 15:45:35

以下代码可以控制报表页眉的高度

Private Sub Report_Load()
    Dim rec As Recordset
    Set rec = CurrentDb.OpenRecordset("select * from [成绩表 查询]")
    Me.Section(1).Height = rec.Fields("id")
End Sub
但是,能不能一张纸多次打印,并且实现你的目的,要自己测试。



wyh99999 发表于:2019-08-10 09:11:21

关注楼1所描述的结果!



沈军 发表于:2019-08-10 22:30:21

思路:

1、建仓一个辅助表结构与主表完全相同

2、通过删除查询、追加查询、更新查询等 完成向辅助表中添加数据,打印后 更新主表中的数据

3、报表中打印辅助中的数据 就可以



西出阳关无故人 发表于:2019-08-12 11:02:28

参考:点击下载此附件

报表中的模块:

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


总记录:5篇  页次:1/1 9 1 :