如何明确引用报告的控件?隐含地按照预期工作:
Me.lblTest.Visible = True
但是,我引用控件显式的所有尝试都遇到了各种无意义的运行时错误。访问'最爱:
“您输入的报告名称'rptTest'拼写错误(它不是)或指的是未打开的报告(它是)或不是存在(它确实)。“
我已经尝试过来自MSDN和我能找到的其他任何地方的十几种语法变体,都会产生错误:
Reports!rptTest.lblTest.Visible = True
' ^--expected syntax, like Forms!frmName.ctlName.Property
Reports!("rptTest").lblTest.Visible = True
Reports![rptTest].lblTest.Visible = True
Reports("rptTest").Controls("lblTest").Visible = True
etc. etc.
这与引用表单的控件没什么区别,对吧?必须有一种方法可以明确地引用报告的控件。
答案 0 :(得分:1)
检查Access认为已打开的报告的名称。
打开报告后,转到立即窗口。 Ctrl + g 会带你去那里。
将function Example() {
alert("Click Click click")
}
$('#btn1').click(function() {
Example();
});
$('input[name=op]').click(function() {
check = $('input[name=op]:checked').val();
if (check > 0) {
$('#btn1').unbind("click");
}else{
$('#btn1').bind("click", Example);
}
});
粘贴为一行,然后按 Enter 。 Access会在看到它们时告诉您打开报告的名称。
这是我系统中的一个立即窗口示例,其中包含一个报告 rptFoo ,打开...
for each rpt in reports : ? rpt.name : next
您遇到的问题是 rptTest 已打开,但Access不同意。这种差异至少可以通过三种方式引起:
for each rpt in reports : ? rpt.name : next
rptFoo
属性,而不是其Caption
Name
集合仅包含已打开的“顶级”报告。如果您正在处理子报表,请通过其父报表引用它... Reports
其中Reports!rptParent!SubreportControl!lblTest.Visible
是包含 rptTest 的子报表控件的名称。要小心,因为该子报表控件的名称可能不是 rptTest ---您需要子报表控件的名称,而不是它包含的报表的名称。SubreportControl