Office中国论坛/Access中国论坛

标题: 弹出窗体无法打印 [打印本页]

作者: fswxs    时间: 2007-12-18 08:36
标题: 弹出窗体无法打印
有些数据以弹出数据表窗体显示,但是打印的时候却打印的是背景。是不是因为弹出窗体不能获得焦点的缘故?有解决办法吗?
作者: Victor_Duane    时间: 2007-12-18 08:38
不知你的代码是如何写的
作者: fswxs    时间: 2007-12-18 09:21
没有写代码的,直接按菜单上的打印
作者: Victor_Duane    时间: 2007-12-18 10:31
那是一定打不了的了,呵呵
作者: andymark    时间: 2007-12-18 10:48
DoCmd.OpenReport "报表"
作者: fswxs    时间: 2007-12-18 11:01
是这样的,程序有个背景,在自定义菜单中选某个查询,查询结果用数据表窗体显示。为了不使点背景的时候查询窗体消失,所以设置为弹出。有时候想直接打印出来(当然粘贴到EXCEL没问题了,麻烦),不是生成报表,就直接按文件——打印。
作者: andymark    时间: 2007-12-18 11:39
调用报表打印,能生成各种复杂的报表,就如同窗体作为输入界面一样, 为什么非要在表里输入呢
作者: fswxs    时间: 2007-12-18 13:00
谢谢版主!
不是输入是显示。不想那么多报表,只是一些随机的查询结果而已,有时候想打印出来看的清楚些。
看来只能粘贴到EXCEL,或者不要设置为弹出了。
作者: t小宝    时间: 2007-12-18 14:09
标题: 用自定义工具栏按钮打印弹出窗体
建一个自定义工具栏按钮,引用以下的公共函数,即可打印当前激活的窗体(包括弹出窗体):
Public Function Prtfrm()
On Error Resume Next
    DoCmd.SelectObject acForm, Screen.ActiveForm.Name, True
    DoCmd.PrintOut
End Function
作者: fswxs    时间: 2007-12-18 15:57
t小宝的代码好厉害,竟然会跳出数据库窗口,怎么办
作者: t小宝    时间: 2007-12-18 16:12
本来数据库窗口是隐藏的?
作者: t小宝    时间: 2007-12-18 16:18
要隐藏数据库窗口,改成这样:
Public Function Prtfrm()
On Error Resume Next
    DoCmd.SelectObject acForm, Screen.ActiveForm.Name, True
    DoCmd.PrintOut
    DoCmd.SelectObject acForm, , True
    DoCmd.RunCommand acCmdWindowHide
End Function

[ 本帖最后由 t小宝 于 2007-12-18 17:11 编辑 ]
作者: fswxs    时间: 2007-12-18 16:53
感谢t小宝先!我在启动里设置是隐藏数据库窗口的。上面的代码确实可以打印弹出窗体,但是数据库窗口还是会出现,打印的时候和弹出窗体一起消失了。还有办法吗
作者: t小宝    时间: 2007-12-18 17:10
使用PrintOut方法须要打开数据库窗口,但是上面的代码弹出窗体应该不会消失的吧,
可以把第2句
DoCmd.SelectObject acForm, Screen.ActiveForm.Name, True
改为
DoCmd.SelectObject acForm, , True
比较好.
作者: fswxs    时间: 2007-12-18 23:10
谢谢t小宝!修改第2句就可以了
你也可以做版主了
作者: tz-chf    时间: 2007-12-19 09:12
直接按ctrl+p,或者建一个宏,做一个菜单执行这个宏。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3