2017-08-08 3 views
2

私はAccessでの作業に非常に新しいですし、次のようなものだろうということVBAコードを書くことでトラブルを抱えています:クエリ列を表示/非表示にするフォームでVBAコードを作成するにはどうすればよいですか? (MS-アクセス)

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 

を私は実行するフォームを持つデータベースを持っていますテキストボックスにキーワードを入力して検索するだけではなく、キーワードをクエリに入力することで、「カスタム検索」を行うことができます。私は多くのフィールドを持っており、フォームのチェックボックスに基づいてクエリの列を表示または非表示にするオプションを作成したいと考えています。

enter image description here

+0

https://stackoverflow.com/questions/1733646/hide-a-column-programmatically-in-ms-accessを – braX

答えて

0

QueryDefs.Fields.Propertiesコレクションを使用してクエリ列にアクセスして、クエリ列を表示および非表示にすることができます。

次の方法でそれを使用することができます。これは、それがリフレッシュになるまで開かれたクエリを変更しないと、永久にクエリを変更すること

CurrentDb.QueryDefs("search query").Fields("DateTested").Properties("ColumnHidden") = True 

注意を。あなたは永久にクエリを変更しないようにしたい場合は、次の操作を実行できます。

CurrentDb.QueryDefs("search query").Fields("DateTested").Properties("ColumnHidden") = True 
DoCmd.OpenQuery "search query" 
CurrentDb.QueryDefs("search query").Fields("DateTested").Properties("ColumnHidden") = False 
+0

私はそれを得ました私の質問の更新で追加したコードを使用して作業するが、私は質問を開いている間、私はデバッグの "ステップイン"ウィンドウにステップバイステップで行くときにのみ動作します。私は間違ったことをしましたか? – Yashel

+0

タグ@ErikVonAsmuth – Yashel

+0

テストしているときに正確に動作しないものは何ですか?それはエラーを投げている、または単に列を隠していないのですか? –

0

あなたがColumnHiddenCheckBox.Valueプロパティを探しています:

全部または提案のすべてのヘルプは

フォームやクエリ画像をいただければ幸いです。あなたの例のサブは、次のようになります。チェックボックスオブジェクトの

Private Sub YesNoShowHide() 

     If Forms!Search_form.DateTested_checkbox.Value = True Then 
      Forms!Search_form.DateTested.ColumnHidden = False 
     Else 
      Forms!Search_form.DateTested.ColumnHidden = True 
     End If 

End Sub 

.Valueそうでないとき、それをチェックだTrueFalseです。 Search_formをフォームの名前に置き換えます。

関連する問題