MS Access窗体开发:当按下选项按钮时隐藏对象,而不对每个需要隐藏的对象进行编码



MS Access开发问题:

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

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

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

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

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

我需要介于子窗体选项卡控件之间的东西,但我遇到了死胡同。有人有其他建议吗?还是我一直在为每个对象编码?

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

我能够解决我的问题。我只是需要做一些思考。。。所以写这个问题有点为时过早。如果有人和我有同样的问题,我会写下我做了什么。

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

然后,我将每个选项映射到按钮的VBA代码中的一个按钮。因此,当选择该按钮时,它会执行以下几项操作。

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

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

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

希望一切都有意义!

最新更新