更改子表单源对象

时间:2014-05-02 13:59:36

标签: vba ms-access access-vba ms-access-2010

在Access 2010数据库中,我有一个主表单 FormMaster 和一个子表单 SubFrm ,我也有选项组,其中有两个选项optionA,主表单上的选项B

我想要实现的是当用户更改选项时,我想将 frmOpA 绑定到子表单,当用户检查选项BI eant将 frmOpB 绑定到子表单FormSub时/ p>

我能够使用以下代码

使用选项组的更新后事件来实现此功能
Private Sub FrameTgt_AfterUpdate()
Select Case FrameTgt.Value
Case 1
Forms("FormMaster").Form.SubFrm.SourceObject = "frmOpA"

Case 2
Forms("FormMaster").Form.SubFrm.SourceObject = "frmOpB"
End Select

End Sub

代码更改了子表单源对象,但它似乎没有提取数据,即它没有重新查询

我试过了

 Case 1
    Forms("FormMaster").Form.SubFrm.SourceObject = "frmOpA"
    Me!Subfrm.Form.Requery

但它似乎没有刷新 我也尝试在vba中链接master和child字段但没有用!

任何想法?

2 个答案:

答案 0 :(得分:0)

您是否已经开始使用frmOpA创建两个FormMaster而使用frmOpB创建另一个? 然后,您可以使用选项组的on click事件在表单之间移动。

答案 1 :(得分:0)

您的SourceObject字符串应以“ Form”作为前缀。使其与“表”,“查询”或“报告”之类的其他对象类型区分开来。

尝试:

Forms("FormMaster").Form.SubFrm.SourceObject = "Form.frmOpA"

Forms("FormMaster").Form.SubFrm.SourceObject = "Form.frmOpB"

相反。希望这会有所帮助。