Office中国论坛/Access中国论坛
标题:
[求助]如何在报表中设定记录数?
[打印本页]
作者:
wlfh888
时间:
2004-7-21 18:28
标题:
[求助]如何在报表中设定记录数?
[求助]如何在报表中设定记录数?比如每页固定记录为7条记录,超过则换页.请问如何设定.
作者:
zhengjialon
时间:
2004-7-21 19:19
主题:【Microsoft KB(译文)】如何控制每页打印的记录数?发贴时间:2002/06/21 11:40pm ++++-------------------------------------------++++
++++ Ms Access Microsoft KB 汉化系列 敬请指正 ++++
++++-------------------------------------------++++ ACC: 如何控制每页打印的记录数
ID: Q119075 --------------------------------------------------------------------------------
在本文中的信息适用于: Microsoft Access 版本1.0,1.1,2.0,7.0,97
-------------------------------------------------------------------------------- 概要
适中: 要求基本的宏,编码,和联合操作性能技巧。 本文描述一种使你能控制报表每页打印记录数的方法。 更多信息
你能通过设置分页符的可见性属性来控制报表每页打印的记录数。 如下例子显示如何在报表的每页打印三个记录: 打开示例数据库 Northwind.mdb (或者 NWIND.MDB 在版本1.x或2.0里 )。 按下面的方法建立一新的宏,而然后保存宏为 Detail Page Break: 宏操作
-------------------------------------------------------
Setvalue
项目: [ PageBreak].Visible
表达式: IIf([TheCounter] Mod 3 = 0,"True", "False") 按照这些步骤建立一份基于 Suppliers 表的名为 Test1 的报表: 在数据库窗口中,单击报表标签,然后单击新建。 选择 Suppliers 表并单击 OK。 注意: 在版本1.x和2.0中,选择 Suppliers 表,然后单击空白报表。 把如下文本框添加到报表的主体: 报表: Test1
--------------------------
标题: TestReport
控件来源: Suppliers 文本框:
名称: Address
控件来源: Address
文本框:
名称: City
控件来源: City
文本框:
名称: Region
控件来源: Region 注意: 在 Microsoft Access 版本 1.x 中,名称属性被称为控件名称属性。 把一个如下属性的文本框添加到主体。 将文本框放置在 Address 控件的正上方。 此控件充当一个报表记录数的计数器: 文本框
名称: TheCounter
控件来源: =1
可见性: 否
运行总和: 全部之上
把主体的格式化属性设置为宏 Detail Page Break。 在主体左下角 Address 控件的下面添加一分页控件。 设置分页控件的名称属性为 PageBreak。 预览报表。 报表的第一页应该包含如下三个记录: Address City Region
----------------------------------------
49 Gilbert St. London
P.O.Box 78934 New Orleans LA
707 Oxford Rd. Ann Arbor MI 如果最后一个记录丢失或者仅仅部分显示,表明分页控件在报表的主体中不够下方。 你可以通过把本例子 Detail Page Break 宏中的表达式 "mod 3" 改成 "mod x" 来在每页打印任何记录数,x 是你想要每页打印的记录数。 例如,如果你想要每页打印11个记录,将表达改作:
IIf([TheCounter] mod 11 = 0, "True", "False") 参考
对于更多关于关于 Setvalue 的信息,使用 Microsoft Access 97 帮助索引搜索“Setvalue 操作”。 对于更多关于关于可见性属性的信息,使用 Microsoft Access 97 帮助索引搜索“可见性属性”。 对于更多关于分页控件的信息,使用 Microsoft Access 97 帮助索引搜索使用微软搜索“page breaks”和“分页控件”。 附加的查询词汇: page break 关键词: kbusage RptsLyt
版本: 1.0 1.1 2.0 7.0 97
平台: WINDOWS
问题类型: kbhowto
最后修正: 1999年4月6日
? 2000年微软公司。 版权所有。 使用条款。
作者:
zhengjialon
时间:
2004-7-21 19:21
以下是ACC911上的:
http://access911.net/index.asp?board=4&mode=3&recordid=73FAB01E15DC
问题:
每页打印一定行数后自动分页
方法一:
加一个分页符,在报表的代码界面里面写入以下代码:
Option Compare Database
Dim row As Long
Dim RowsInPage As Integer
Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
RowsInPage = 7
row = row + 1
If row >= RowsInPage Then
Me.PageBreak18.Visible = True
row = -1
Else
Me.PageBreak18.Visible = False
End If
End Sub
方法二:
在报表的代码界面里面写入以下代码:
Option Compare Database
Dim row As Long
Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
row = row + 1
If Me.Section(acDetail).ForceNewPage = 1 Then
Me.Section(acDetail).ForceNewPage = 0
Else
If row Mod 7 = 0 Then
Me.Section(acDetail).ForceNewPage = 1
row = 0
End If
End If
End Sub
例子下载:
http://access911.net/down/ForceNewPage.rar
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3