MS Access 表单开发:按下选项按钮时隐藏对象,无需对需要隐藏的每个对象进行编码

Posted

技术标签:

【中文标题】MS Access 表单开发:按下选项按钮时隐藏对象,无需对需要隐藏的每个对象进行编码【英文标题】:MS Access Form Development: Hide Objects when an Option Button is Pressed without coding for each Object that needs to be hidden 【发布时间】:2016-04-13 18:10:38 【问题描述】:

MS Access 开发问题:

我有 3 个选项,我需要每个选项与一组不同的对象相关联。因此,如果您单击选项 1,一组对象将出现在我称为“报告参数”的框中。如果我单击选项 2,“报告参数”框中的对象将消失,并会出现一组新的对象。

我不想编写代码来将每个对象从可见 = true 切换到可见 = false。我认为这会花费太长时间,尤其是如果选项按钮或与之相关的对象数量增加的话。

所以我正在尝试几件事......

我尝试将所有与特定选项相关的对象放在一个子表单中。因此,我将拥有三个子表单,它们将位于我的主表单的相同位置。当您单击一个选项时,该选项的子表单将变为可见,其他任何内容都被隐藏。但是我有一张需要在主窗体上可见的背景图片,并且您不能使子窗体背景透明。

我使用了标签控件;但是,我不想使用选项卡来控制对象之间的切换。我可以隐藏选项卡,但如果单击选项卡应该所在的空间,您仍然可以在它们之间切换。不过,它可以变得透明,这很有帮助。

我需要介于 SubformTab Control 之间的东西,但我遇到了死胡同。有没有人有任何其他的建议或建议?还是我为每个对象都卡住了编码?

我是一位经验丰富的 VBA 开发人员。我的最后一个选择是对表单运行查询并提取所有对象名称并将其保存到表中。由于每个对象的名称语法将其连接到一个按钮,因此如果对象的名称与特定选项相对应,我总是可以运行一个循环,使所有对象可见/不可见......但是......我想我正在尝试寻找捷径。让我知道你的想法!谢谢。

【问题讨论】:

【参考方案1】:

我能够解决我的问题。我只是需要做一些思考......所以写这个问题有点为时过早。如果有人遇到与我相同的问题,我会写下我所做的事情。

首先,我使用 Tab Control 对象来解决我的问题。我使控件透明并命名每个页面以反映我选择的选项按钮。

然后,我将每个选项映射到按钮的 VBA 代码中的一个按钮。因此,当按钮被选中时,它会做几件事。

首先,它使任何其他选项的默认值等于false。我还将其相应页面的可见性设置为 false

其次,我选择我需要可见的页面并将可见性设置为true。我也将其设为我的活动页面。

最后,作为一项安全措施,如果选项按钮已被选中,并且您再次选择它,则将该选项的值设置为 true。这是为了防止它变成false。应始终选择一个选项。

希望一切都有意义!

【讨论】:

以上是关于MS Access 表单开发:按下选项按钮时隐藏对象,无需对需要隐藏的每个对象进行编码的主要内容,如果未能解决你的问题,请参考以下文章

按下导航按钮时访问 2013 表单未更新

MS Access 表单上的密码保护提交按钮仍会导致按钮提交

如何创建一个通用的 MS Access 表单?

按下按钮后在 MS Access 中导入 .DBF 文件,使用 VBA

如何在运行时使用 VBA 将按钮添加到 MS Access 表单并将代码添加到 _Click() 事件

MS Access 2003 - Unbound Form 使用 INSERT 语句保存到表中;子表单呢?