如何以显示/隐藏查询列的形式制作vba代码?(MS-Access)

Yas*_*hel 5 ms-access vba

我对使用 Access 非常陌生,并且在编写将执行以下操作的 VBA 代码时遇到困难:

Private Sub YesNoShowHide ()

        If DateTested_checkbox = 'yes'
            Then show 'DateTested' column in 'search query' query
        Else DateTested_checkbox = 'no'
            Then hide 'DateTested' column in 'search query' query 
End Sub
Run Code Online (Sandbox Code Playgroud)

我有一个数据库,它有一个表单,可以通过在文本框中输入关键字并点击搜索来执行“自定义搜索”,但会将关键字输入到查询中。我有很多字段,想要创建一个选项,根据表单中的复选框显示或隐藏查询中的列。

任何帮助或建议将不胜感激

表格及查询图片:

在此输入图像描述

Eri*_*k A 2

您可以通过使用QueryDefs.Fields.Properties集合访问查询列来显示和隐藏它们。

您可以通过以下方式使用它:

CurrentDb.QueryDefs("search query").Fields("DateTested").Properties("ColumnHidden") = True
Run Code Online (Sandbox Code Playgroud)

请注意,这不会更改打开的查询,直到刷新为止,并且会永久更改查询。如果您想防止永久修改查询,可以执行以下操作:

CurrentDb.QueryDefs("search query").Fields("DateTested").Properties("ColumnHidden") = True
DoCmd.OpenQuery "search query"
CurrentDb.QueryDefs("search query").Fields("DateTested").Properties("ColumnHidden") = False
Run Code Online (Sandbox Code Playgroud)