繁体   English   中英

尝试使用变量名访问表单和子表单时收到无效限定符错误?

[英]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属性打印出myFormmySubForm的名称,它似乎显示了每个的正确名称。

有人可以指出我如何准确地使用变量名称代替表单和子表单的实际名称的正确方向吗? 正确的语法应该是什么?

谢谢!

删除那些.name东西。 他们不应该在那里:

With Forms!myForm.mySubForm.Form.RecordsetClone
   ...
End With

如果你要使用声明的子表单变量,那就更简单了:

With mySubForm.Form.RecordsetClone
    ...
End With

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM