表格frmA
具有Public
变量rsExample As ADODB.Recordset
。
在frmA
中,我打开另一个表格(frmB
)。为了这个问题,我们假设frmName
中的rsName
和frmB
是String
变量:
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:未设置对象或宽度块变量
感谢提示
要获取类属性,您需要使用CallByName
(尽管,由于类属性是在编译时定义的,所以它是一种反模式,并且您实际上不应该在变量中使用名称)。
CallByName(Forms(frmName), rsName, vbGet).MoveFirst
但是,您应该真正考虑避免这样做的方法。