日期:2014-05-16  浏览次数:20878 次

如何用vba控制acces报表的页数
如何用vba手動控制acces报表的页数
不是自動和數據庫關聯,報表的數據控制全部是vba控制的,記錄十條一分頁,
幫忙看看!

------解决方案--------------------
Access报表提供的接口函数有限。

要实现每页打印固定行数的需求,可以考虑对数据处理或设置页边距。

对数据处理:

追加一定的空行,用于每页打印时超出10行外的行打印。


设置页边距,也可以实现每页打印10行。

但这都是需要调试的,而不是完全自动的。
------解决方案--------------------
如是指定行数:10行/页,指定文本框内容,示例:
"文本0 "、 "文本2 "为主体内容即报表内容
文本4:控制10行/页,控件来源为1,设置运行总和为全部之上,可以设置
为不可见。
QQ2:表名,自行更改

Private Sub Report_Open(Cancel As Integer)
Set ddqq = CurrentDb.OpenRecordset( "select * from qq2 ")
Me.RecordSource = "select * from qq2 "
End Sub

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
If Not ddqq.EOF Then
Me( "文本0 ") = ddqq(0)
Me( "文本2 ") = ddqq(1)
ddqq.MoveNext
End If
If Me.文本4 Mod 10 = 0 Then
Me.Section(acdatail).ForceNewPage = 1
Else
Me.Section(acdatail).ForceNewPage = 0
End If
End Sub