如何在访问2010

时间:2017-07-06 03:17:05

标签: vba forms ms-access subforms

我有一个Access 2010数据库,主表中包含文档信息 我有表格,从表格中显示特定的文件类型信息(信用卡对帐单,发票等) 我有一个主窗体,有单独的子窗体,每个子窗体代表一个特定的文档类型。 我希望能够从主窗体中过滤,以便每个文档类型子窗体仅显示属于用户指定的美元金额范围内的文档。

我在想,如果我可以在主窗体之后打开子窗体(这是默认顺序的反面),我可以在每个子窗体的open事件中设置过滤器,从main形式,并得到我想要的结果。

我发现导致子表单在主表单后打开,是从子表单的属性表的数据选项卡中删除SourceObject;然后在主窗体的open事件中将子窗体名称分配给vba中的SourceObject属性。

我的例子是Me.MySubForm.Form.SourceObject =“frmSubFormName”,其中左边的所有内容都是逐字的,而frmSubFormName是我的子表单的名称。

这还没有超过编译器 - 它抱怨MySubForm,不幸的是,在将SourceObject属性分配给我的子表单名称时,带有该示例的帖子/博客并未指出“MySubForm”是什么。

对这种过滤方法的想法?

任何人都可以阐明设置SourceObject的语法;或者可能提供另一种方法,在主表单之后加载子表单?

提前致谢。

1 个答案:

答案 0 :(得分:2)

删除Form类对象引用。建议命名子窗体容器控件与它所拥有的对象不同,例如ctrSomething

Me.ctrSomething.SourceObject = "frmSubFormName"