设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[报表] 报表页边距设置如何捕获错误代码?

[复制链接]
跳转到指定楼层
1#
发表于 2010-12-5 12:31:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在代码中设置报表的页边距,当设置值超出范围时,不能捕获错误代码,如下提示,请问要如何才能捕获这样的错误代码呢?



我写的代码如下:
On Error GoTo Err_View
    If CurrentProject.AllReports(strReport).IsLoaded Then
        Set ActPrinter = Application.Printers(mm)                               ''为选定的打印机选取打印机对象。
        With ActPrinter                                                                       ''读取用户指定的设置。
            .PaperSize = Me.Cmb纸张
            .TopMargin = Me.Text上 * 56.7
            .BottomMargin = Me.Text下 * 56.7
            .LeftMargin = Me.Text左 * 56.7
            .RightMargin = Me.Text右 * 56.7
            .Orientation = Me.Frm方向
            .DataOnly = Me.Chk数据
        End With
        
        'DoCmd.OpenReport strReport, acViewPreview                   ''以预览模式打开报表。
        ActReport.Printer = ActPrinter                                             ''将报表的打印机设置为已修改的打印机对象。
    End If
    Exit Sub
   
Err_View:
    MsgBox Err.Description, vbExclamation, CurrentDb.Properties("AppTitle")

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2010-12-5 21:12:50 | 只看该作者
大家都在干嘛呢,都过来这里瞧瞧啊,说点什么都行!

点击这里给我发消息

3#
发表于 2010-12-6 09:12:40 | 只看该作者
试试返回err.number,可否取到, 或者可否把这个设置页面的窗体上传上来, 我们来帮你试试
4#
 楼主| 发表于 2010-12-6 15:13:00 | 只看该作者
本帖最后由 mrd_wxqs 于 2010-12-8 19:05 编辑
tmtony 发表于 2010-12-6 09:12
试试返回err.number,可否取到, 或者可否把这个设置页面的窗体上传上来, 我们来帮你试试


回tmtony,谢谢您的关注!

err.number也不能得到错误代码,根本不能捕获错误。

我将窗体代码附上如下:

当页边距的设置值达到或超出纸张大小的值时,就出现如下错误,Access崩溃退出:


下面这个错误点击“取消”也会崩溃退出:


是否报表的错误不能用on error来捕获呢?如果不能捕获错误,那么所有的代码都变得没有意义了,呵呵!

谢谢!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

5#
发表于 2010-12-6 17:14:33 | 只看该作者
我试过可以啊,不会出错. 完全正常啊
正常设置如果你的边距是超过纸的大小,也是可以设置的,但再打开 会变成 纸张的最小边界

点击这里给我发消息

6#
发表于 2010-12-6 17:15:17 | 只看该作者
可能跟你的打印机或你的电脑有关系
可以这样排除
在另一台电脑,使用最常见的epson 1600K打印机 驱动来设置
如果不出错,就是你电脑的问题
7#
 楼主| 发表于 2010-12-6 18:51:39 | 只看该作者
谢谢tmtony的解答。
这些代码我在两台电脑上试了,都会出错。刚好周六重装了一台电脑,今天上午试了同样也会出错,很是纳闷!比如使用hp-lj1320激光打印机的A5纸(148*210),当上下边距各设置为100时,就崩溃了。
我再多试,主要是想解决在MDE下调整报表页边距的问题!

点击这里给我发消息

8#
发表于 2010-12-6 21:02:35 | 只看该作者
奇怪了,我调到0.01 都可以哦,只不过保存后再打开,变成了打印机允许的最小值
9#
 楼主| 发表于 2010-12-6 21:15:40 | 只看该作者
tmtony 发表于 2010-12-6 21:02
奇怪了,我调到0.01 都可以哦,只不过保存后再打开,变成了打印机允许的最小值

哦,是吗,是将页边距往大的方向设置哦!不是往小的方向设置。比如纸高为210,当上下页边距都设置为100时,就会出错崩溃的。

我又重装了一遍电脑,依然如故。

不是用Access自带的“页面设置”来设置,而是用我的“Fs_页面设置”窗体来设置,先预览报表,然后从工具栏的“页面设置”来调用进行设置。
10#
发表于 2010-12-6 22:40:47 | 只看该作者
哎,想帮你看看都要收费,没道理!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-1 21:09 , Processed in 0.105012 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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