设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2926|回复: 4
打印 上一主题 下一主题

[报表] 代码创建报表实例,里面的控件不能被引用

[复制链接]
跳转到指定楼层
1#
发表于 2016-5-4 10:43:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
用下面代码创一个报表实例

Dim Rpt As Report
Set Rpt = New Report_PypzyPrint4   '报表的类对象的一个实例

PypzyPrint4是已经存在的一个报表,这个报表中有一个控件名为JID,它的数据源来自于一个查询中的JID字段

现在在报表PypzyPrint4的主体的Format事件有一行代码:

debug.print me.jid

如果直接打开报表,或用docmd.openreport来打开这个报表,这一行可以正常执行,但是如果用创建的报表实例来打开它,就会提示:

你所输入的表达式中,使用了 XXX系统 找不到的字段、控件或属性名称

不知是什么原因造成的。

用报表实例来打开报表,而不直接打开,是因为要用报表实例来实现打印边距、纸张、打印机的预设

请各位高手给点意见,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
5#
 楼主| 发表于 2016-5-5 16:48:10 | 只看该作者
本帖最后由 zyp 于 2016-5-5 16:49 编辑
tmtony 发表于 2016-5-4 10:46
把报表对象先显示出来看看 让报表可见。看看是否可以


谢谢王站!

不知王站所说的让报表可见是什么意思,是不是直接打开报表,然后再用程序去创建它的实例,如果是这样的话,我电脑直接报Runtime Error,然后就退出ACCESS了

我要做的是下面这样的报表

图片是存在电脑某个目录中,在报表中用代码来得图片控件指定其路径(比如第一张图片的路径就是E:\TP\4221.jpg),如果不用程序创建报表的实例来打开报表,运行一切正常,图片什么的都没有问题,但是,如果不用程序创建报表的实例来打开报表,在ACCESS2003中,没有办法预先设定打印(用一个表来保存在每一台电脑用哪一台打印机和什么纸张来打印这个报表,这样用户就不用每次来选打印机和纸张了)

好像创建的报表实例,在该报表的代码中,无法用 me或reports!报表名称   的方式来引用它,只能用  reports(index) 来引用,同样,引用报表中的某个控件,也只能用reports(index).controls(index)来引用,但是就算这样,也不能取得这个控件的值,reports(index).controls(index)这条语句就会报错,但用reports(index).controls(index).name又不会出错,还可以输出正常的结果,比如结果为"jid"

想了好多方法,都实现不了,真是头痛!



本帖子中包含更多资源

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

x
4#
 楼主| 发表于 2016-5-5 16:35:03 | 只看该作者
roych 发表于 2016-5-4 14:23
大概是这样吧【水印部分为:MsgBox Report_area!ID】
不过,这样只能读取到最后一条记录。

谢谢Roych

在报表打开的状态下,用一个表单来运行下面代码:

MsgBox Report_PypzyPrint4!Jid

还是报同样的错误(你所输入的表达式中,使用了 XXX系统 找不到的字段、控件或属性名称),而用:

MsgBox Reports(0)!Jid      ‘PypzyPrint4是唯一打开的报表

就可以,就像你说的一样,只能读取到最后一条记录;

而在报表里运行代码,不论哪一条语句,都报同样的错误


在报表里, 可以运行下面代码:

Debug.Print Reports(0).Controls(26).name

输出 Jid

但不能运行

Debug.Print Reports(0).Controls(26)



Debug.Print Reports(0).Controls(26).value

运行上面这两条语句就报同样的错误
3#
发表于 2016-5-4 14:23:34 | 只看该作者
大概是这样吧【水印部分为:MsgBox Report_area!ID】
不过,这样只能读取到最后一条记录。

本帖子中包含更多资源

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

x

点击这里给我发消息

2#
发表于 2016-5-4 10:46:28 | 只看该作者
把报表对象先显示出来看看 让报表可见。看看是否可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 03:27 , Processed in 0.091903 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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