设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2625|回复: 14
打印 上一主题 下一主题

[其它] [求助]怎样控制打印纸张

[复制链接]
跳转到指定楼层
1#
发表于 2003-8-19 06:15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
access报表的纸张以及页边距该如何控制?我打报表时经常得修正长张的大小以及边界以复合布置好的报表,请大家给于帮助,多谢了.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-8-19 15:28:00 | 只看该作者
可以通过设置printer属性进行,建立一个表[页面],将参数写入其中,然后在报表中调用该函数
Public Sub PrintMargin(r As Report)
Dim intTop As Integer '上边距
Dim intLeft As Integer '左边距
Dim intBottom As Integer '下边距
Dim intRight As Integer '右边距
Dim strPrtname As String '报表名称
Dim intpapersize As Integer '纸张大小
Dim intorientation As Integer '打印方向
strPrtname = r.Name
intTop = DLookup("[RPTTOP]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intBottom = DLookup("[RPTBOT]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intLeft = DLookup("[RPTLEFT]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intRight = DLookup("[RPTRIGHT]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intpapersize = DLookup("[papersize]", "页面", "[RPTNAME]='" & strPrtname & "'")
intorientation = DLookup("[Orientation]", "页面", "[RPTNAME]='" & strPrtname & "'")
r.Printer.PaperSize = intpapersize
r.Printer.Orientation = intorientation
r.Printer.TopMargin = intTop
r.Printer.BottomMargin = intBottom
r.Printer.LeftMargin = intLeft
r.Printer.RightMargin = intRight
End Sub
注意:必须位access xp
3#
发表于 2003-8-29 19:33:00 | 只看该作者
2000呢
4#
发表于 2003-8-29 19:35:00 | 只看该作者
我想纸张设为a3如何做
5#
发表于 2007-6-11 23:52:00 | 只看该作者
以下是引用guoya在2003-8-19 7:28:00的发言:
可以通过设置printer属性进行,建立一个表[页面],将参数写入其中,然后在报表中调用该函数
Public Sub PrintMargin(r As Report)
Dim intTop As Integer '上边距
Dim intLeft As Integer '左边距
Dim intBottom As Integer '下边距
Dim intRight As Integer '右边距
Dim strPrtname As String '报表名称
Dim intpapersize As Integer '纸张大小
Dim intorientation As Integer '打印方向
strPrtname = r.Name
intTop = DLookup("[RPTTOP]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intBottom = DLookup("[RPTBOT]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intLeft = DLookup("[RPTLEFT]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intRight = DLookup("[RPTRIGHT]", "页面", "[RPTNAME]='" & strPrtname & "'") * 567
intpapersize = DLookup("[papersize]", "页面", "[RPTNAME]='" & strPrtname & "'")
intorientation = DLookup("[Orientation]", "页面", "[RPTNAME]='" & strPrtname & "'")
r.Printer.PaperSize = intpapersize
r.Printer.Orientation = intorientation
r.Printer.TopMargin = intTop
r.Printer.BottomMargin = intBottom
r.Printer.LeftMargin = intLeft
r.Printer.RightMargin = intRight
End Sub
注意:必须位access xp

为何要在报表预览的“页面设置”调用后要按"确定"才能改变?
6#
发表于 2007-6-12 09:31:00 | 只看该作者
为何不在设计报表时就把纸张选好呢?
7#
发表于 2007-6-12 21:02:00 | 只看该作者
选好了,生成MDE文件但拿到别人的电脑上用时,又会改变的.
8#
发表于 2007-6-12 21:28:00 | 只看该作者
在生成MDE文件前,将数据库的选项设置一下就可以

工具--选项--常规--跟踪名称自动更正信息,不打勾就OK
9#
发表于 2007-6-14 21:57:00 | 只看该作者
以下是引用一点通在2007-6-12 13:28:00的发言:


在生成MDE文件前,将数据库的选项设置一下就可以

工具--选项--常规--跟踪名称自动更正信息,不打勾就OK

一点通你好,你说的我试过了,不能实现纸张规格不变,如果是系统自带的纸张规格按你的应该可以实现,但我用的是自定义的纸张规格,MDE文件拿到别人的电脑就改变了纸张规格。我发觉在本机winxp自定义纸张规格后,与别人的电脑自定义纸张规格的顺序不同,如本机是:130,但别人的或者是:131。有什么方法解决这个问题,请指教!多谢!
10#
发表于 2007-6-15 01:39:00 | 只看该作者
MDB可以把自定义纸张保存在表中调用,不会因环境的改变而变.转成MDE,有些属性不一定支持,具体没测试过

另一种方法用VSPRINT控件,但比较麻烦。要求不大的用一点通管理员的方法比较好



您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-2-25 14:03 , Processed in 0.259006 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表