Access-VBA:如何通过Forms!frmB的名称引用Forms!frmA中的变量?

问题描述 投票:0回答:1

表格frmA具有Public变量rsExample As ADODB.Recordset

frmA中,我打开另一个表格(frmB)。为了这个问题,我们假设frmName中的rsNamefrmBString变量:

frmName = "frmA"
rsName  = "rsExample" 

frmB完成其工作时,我想更新rsExample,然后关闭frmB

我尝试过...

Forms(frmName).(rsName).MoveFirst

没有用,因为Access期望Control

如何通过Recordset引用rsName

更新:

在frmB ...

Dim rs As ADODB.Recordset
Set rs = CallByName(Forms(frmName), rsExample, vbGet)
rs.MoveFirst

第3行产生

运行时错误91:未设置对象或宽度块变量

感谢提示

access-vba
1个回答
1
投票

要获取类属性,您需要使用CallByName(尽管,由于类属性是在编译时定义的,所以它是一种反模式,并且您实际上不应该在变量中使用名称)。

CallByName(Forms(frmName), rsName, vbGet).MoveFirst

但是,您应该真正考虑避免这样做的方法。

© www.soinside.com 2019 - 2024. All rights reserved.