访问表单和子表单

Posted

技术标签:

【中文标题】访问表单和子表单【英文标题】:Access forms and sub-forms 【发布时间】:2011-05-27 23:03:34 【问题描述】:

我正在 MS 2003 上构建一个数据库。我有一个需要一系列选项的表单。此表单基于通过客户 ID 链接到主表的“类别”表。

现在,两种形式一起出现在同一个屏幕上,我要做的是让人们选择一个或多个类别,然后按下命令按钮,然后选择的那些类别将显示其各自的形式。在被选中和按下命令按钮之前,表单是不可见的。

由于它们是两种不同的表单(一个类别中的类别)和另一个表单上的输入表单,我如何编程命令按钮以使输入表单从另一个表单可见?

子表单位于选项卡中。我不想将其显示为弹出窗口,而是在它所在的选项卡中可见

【问题讨论】:

Alex,我建议你更改这篇文章的标题。你不能指望用这样的标题得到太多帮助。此外,如果以下答案之一帮助您找到解决方案,那么您应该接受而不是回答。 【参考方案1】:

如果表单打开但不可见,那么您可以将其称为表单集合的成员并使其可见:

forms("myForm").Visible = true

如果表单未打开,则从项目的 AllForms 集合中获取其名称,然后使用 OpenForm 方法:

docmd.OpenForm currentproject.AllForms("myForm").Name, acNormal

【讨论】:

我的情况是子表单嵌入在一个选项卡中,这意味着每个类别都有不同的选项卡,并且在选项卡中是不可见的。所以我想要另一个表单上的按钮使子表单可见。不是作为弹出窗口,而是在选项卡中。 我可能会误解这个问题,但这不仅仅是选择选项卡并将子表单设置为可见的情况。比如:Me.tabDetails.SetFocusMe.subDetails.Visible = True 谢谢。屏幕左侧有一个名为Catagories 的表单,右侧有许多页面的TabControl,每个类别都有一个选项卡,每个类别都有自己的表单。右侧(选项卡下)的表单是不可见的,我想让用户在索引上选择(检查)一个类别(一个或多个),然后单击命令按钮并根据他选择的相应表单右侧变得可见。由于它们是两种不同的形式,因此代码找不到它,这意味着我不能写“me.bla form.visible=true”。任何帮助都会很棒 如果您想引用其他表单上的内容,那么“me.blaform”将不起作用,因为“me”只会将您引导至当前表单上的内容集合。表单集合为您提供每个打开表单的引用:forms("blaForm").visible = True 一定是我运气不好。它不会读它。它说它找不到它。有没有办法连接或添加表格?【参考方案2】:

伪逻辑:您基本上会希望在表单的 Open 事件期间将所有表单的 Visible 属性设置为 False。您应该将此 Visible = False 代码放在单独的子例程中,以便在其他事件期间也可以调用代码结构。 (例如,您可能希望提供一个重置按钮,以便用户可以重置表单,或者在选择新的客户 ID 时触发“设置为假”代码。)然后,对于每个选定的类别,您都可以将其关联的表单属性设置为可见通过设置 Visible = True。

【讨论】:

以上是关于访问表单和子表单的主要内容,如果未能解决你的问题,请参考以下文章

使用表单和子表单访问 VBA 代码格式更新表

MS 访问 Not In List 事件和子表单

访问组合框和子窗体

我在 Access 中的导航表单搞砸了我的查询和子表单

MS Access - 基于同一张表但不同记录的表单和子表单

如何确保 MS Access 中的有界表单和子表单仅在单击按钮后提交到数据库?