微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MS Access Form 上的条件可见性 - 如何用 VBA 或宏编写

如何解决MS Access Form 上的条件可见性 - 如何用 VBA 或宏编写

我有一些非常(非常)基本的 MS Access 知识。我试图扩展到 VBA 或宏中,因为我想为我的表单添加一些条件可见性。基本上,我有一个复选框。如果选中,我希望再弹出三四个字段。有人能够指出我的基本 VBA 公式 if (this checkBox) = true then,(fieldx).visible = true,else,(fieldx).visibility = false,end if.

但我对此很陌生,需要更多帮助和解释。我试着把它放进去,但无法让它工作(没有错误信息,只是什么都没改变)。

具体问题:

-这个公式看起来对吗?

-如果我希望多个字段可见,我可以将它们组合成一个公式还是应该为所有字段创建一个新的“if”语句?

-我在哪里输入此代码?我正在运行 Office 365 版本。据我所知,我什至没有把它放在正确的地方。

-如何确定字段名称以替换公式中的 (this checkBox) 和 (fieldx)?我尝试输入我将字段命名为的名称,但是名称中包含空格时我收到一条错误消息,如果没有空格,则什么也没有发生。是否有特定的命名约定将字段名称转换为适合公式的标题?名字是否在某处列出?

-一旦我输入了公式,我需要做些什么才能让它运行/生效吗?我尝试保存、关闭和重新打开,没有任何更改。

-这是最好的方法吗?

如果您认为我应该知道其他任何事情,我很想听听 - 但请记住,我非常对此很陌生,所以如果您可以将它保持在“虚拟”或ELI5 级的解释,我很感激!

解决方法

创建一个包含 4 个文本框和一个复选框的表单后,将表单置于设计模式(右下角选择了设计模式,选择一个文本框并点击功能区上的属性表(或 f4)。 在属性表上注意可见属性。将可见属性设置为 false。现在,当表单启动时,文本框将不可见。

enter image description here

提示您可以同时选择所有文本框并一次性设置它们的属性。

表单上的每个控件,甚至表单的各个部分都有您可以设置和使用的属性。例如,您可以为任何控件指定任何名称。在属性表上转到另一个选项卡并设置名称属性。

enter image description here

提示:选择一个您会记住的名称,而无需查找它并描述控件功能。
接下来选择复选框(不是复选框的标签)。在属性表上转到事件选项卡并选择点击事件。点击省略号并选择代码生成器。访问是事件驱动的。我们希望在选中复选框时显示文本框,因此我们将该代码放入复选框单击事件中。

enter image description here

选择代码生成器后,我们会看到代码窗口,我们可以在其中浏览所有表单的所有事件。现在你应该看到的是:

Private Sub mycheckbox_Click()

End Sub

因此插入一些代码来处理复选框,例如:

Private Sub mycheckbox_Click()
If mycheckbox = True Then
txtbox1.Visible = True
txtbox2.Visible = True
txtbox3.Visible = True
txtbox4.Visible = True
Else
txtbox1.Visible = False
txtbox2.Visible = False
txtbox3.Visible = False
txtbox4.Visible = False
End If
End Sub

现在当未选中复选框时,文本框不可见。 enter image description here

但是当复选框被选中时,它们会出现

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。