从主窗体中以子窗体形式驱动MS Access查询

时间:2012-10-10 08:10:12

标签: vba combobox ms-access-2010 subforms

我在数据表格中有一个子表单。

我希望根据主窗体上的组合框过滤此子窗体。 子表单的数据来自查询。我已将此查询的某个字段的条件设置为等于:

    [Forms]![Form_Data_Update]![cbo_ReportSelection]

主窗体是Form_Data_Update,组合框是cbo_ReportSelection。

当我更改我放入的组合框

时刷新子窗体
    Private Sub cbo_ReportSelection_AfterUpdate()
    DoCmd.OpenQuery ("Aggregate_Leanboard_Discipline_Grouping")
    End Sub

是否有另一种方法不会导致查询在新标签中打开?我希望它只是刷新子窗体。我试过了:

    Me!Form_Leanboard_Discipline_Grouping_Subform.Requery

但是这不起作用我收到错误'2465'Microsoft找不到字段'Form_Leanboard_Discipline_Grouping_Subform'。

我正在使用Access 2010。

由于

2 个答案:

答案 0 :(得分:2)

子表单包含在子表单控件中。使用子窗体控件的名称,而不是窗体的名称。他们可能有不同的名字。

Private Sub cbo_ReportSelection_AfterUpdate()
    Me!SubformControlName.Form.Requery
End Sub

答案 1 :(得分:1)

我跟着你们,我得到的错误是对我有用的编码

Private Sub cbo_ReportSelection_AfterUpdate()

    Me.What ever Your SubForm Name.Requery

 End Sub

这可能与上面的内容相同,如果它是删除但是当我阅读上面的注释时,它似乎你必须在那里放置“SubFormControl”。

对于那些不知道如何找到子表单名称的人,你可以进入设计视图并左键单击子表单,然后单击功能区中的表单名称将显示在右边的属性选项卡中屏幕的一面。

另请注意,如果您的子表单名称包含空格,则必须将“_”放在空格所在的位置。

好运的家伙我认为自己是一个新手..所以我试着尽可能多地解释那个能在我们这十年后阅读的人...我需要这个代码来完成我的搜索栏访问DB。我正在为类创建一个族谱数据库,第一个实现今天到期了,这个代码只是保存我的屁股从接收和B到可能和A ..谢谢你