[英]Microsoft Access: Attempting to detect an insert triggered by a subform within the parent form
[英]Receiving Invalid Qualifier error when attempting to access a form and subform using variable names?
我正在尝试执行RecordsetClone
但我不断收到
无效的限定符
编译错误。
目前我有一个表单,其中有一个包含Datasheet
的子表单。 我创建了一个函数来传递表单的名称以及子表单的名称:
Public Sub testModel(nameOfForm As String, nameOfSubform As String)
Dim myForm As Access.Form
Dim mySubForm As Access.SubForm
If formIsOpen(nameOfForm) = False Then
DoCmd.OpenForm nameOfForm, acNormal
End If
Set myForm = Forms(nameOfForm)
Set mySubForm = myForm.Controls(nameOfSubform )
With Forms!myForm.name.mySubForm.name.Form.RecordsetClone
...
End With
End Sub
为表单和子表单使用变量的原因是因为不同的表单和子表单将使用此函数。
该错误肯定与Forms!myForm.name.mySubForm .name.Form.RecordsetClone
语法Forms!myForm.name.mySubForm .name.Form.RecordsetClone
,我非常确信它是不正确的。
我也试过:
Forms!myForm.name.mySubForm.Form.RecordsetClone
如果我替换掉,直接用表单名和子表单名,没有问题,即:
Forms!frmParentForm.frmChildSubForm.Form.RecordsetClone
我已经通过其.name
属性打印出myForm
和mySubForm
的名称,它似乎显示了每个的正确名称。
有人可以指出我如何准确地使用变量名称代替表单和子表单的实际名称的正确方向吗? 正确的语法应该是什么?
谢谢!
删除那些.name
东西。 他们不应该在那里:
With Forms!myForm.mySubForm.Form.RecordsetClone
...
End With
如果你要使用声明的子表单变量,那就更简单了:
With mySubForm.Form.RecordsetClone
...
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.