访问子表单源对象

Baw*_*awn 6 sql ms-access ms-access-2007 access-vba

我想要实现的是一个组合框(Combo_sf)选择来指定子窗体控件中的窗体(sf_record)我有大约10个窗体,它们的名字在组合框数据中.我是VBA的新手,不确定我的方法是否正确:

Private Sub Combo_sf_AfterUpdate()
    Dim strLoadTable As String  

    strLoadTable = "Form." & Me.Combo_sf.Value
    MsgBox strLoadTable

    Forms![frm_Mnu_Manage Configuration Settings]!sf_record.Form.SourceObject = strLoadTable

End Sub
Run Code Online (Sandbox Code Playgroud)

我在更新后的事件中将它放在组合框中,但是当我做出选择时,表单中没有任何反应.我接近这个权利还是会以另一种方式更好地运作?

Gor*_*son 5

你的方法应该有效.我cbxSubform在我的主窗体上放了一个命名框,并在其AfterUpdate()事件处理程序中添加了一行代码...

Private Sub cbxSubform_AfterUpdate()
Me.mySubform.SourceObject = Me.cbxSubform.Value
End Sub
Run Code Online (Sandbox Code Playgroud)

...并且更改组合框中的选择会立即切换子表单.你确定AfterUpdate()你的组合框的代码实际上是在解雇吗?(你可以添加一个MsgBox或一个Debug.Print来检查.)