- 締切済み
Access VBA チェックボックスで抽出、表示
初めまして。 いつもみなさんの質問と回答を見て参考にさせてもらってます。 わからないところがあるので質問させてください。 Windows7、Access(2007-2010)です。 チェックボックスで抽出をかけて、その結果をサブフォームに表示したいのですが、 どうしてもうまく表示されません。 メニューというテーブルに、 メニュー番号|メニュー名|ピーマン|ニンジン|タマネギ|ハクサイ|ジャガイモ| という項目を作りました。 ピーマンから右は「Yes/No型」のチェックボックスにしていて、 そのメニューにニンジンが入っていたらニンジンにチェック、 そのメニューにニンジンとジャガイモが入っていたらニンジンとジャガイモにチェックしてます。 たとえば「肉じゃが」の場合だと M001|肉じゃが| |(チェックマーク)|(チェックマーク)| |(チェックマーク)| といった具合です。 検索フォームにチェックボックスを5つ用意し、 「検索」というボタンを押したらその野菜が入っているメニューを抽出して サブフォームに表示できるようにしたいです。 チェックボックスの名前は ピーマン ch0 ニンジン ch1 タマネギ ch2 ハクサイ ch3 ジャガイモ ch4 としています。 ______ Option Compare Database Private Sub 検索btn_Click() Dim sqlcode As String Dim aryFldName(4) As String Dim i As Integer aryFldName(0) = "ピーマン" aryFldName(1) = "ニンジン" aryFldName(2) = "タマネギ" aryFldName(3) = "ハクサイ" aryFldName(4) = "ジャガイモ" For i = 0 To 4 If Me("ch" & i) Then End If Next End Sub _______ たくさん調べていろいろ試したのですが、 どこがいけないのかがよくわかりません。 どうすればサブフォームに結果が表示されるのか、 どうすれば結果の抽出ができるのか、 もしわかる方がいらっしゃいましたら教えてください。 どうぞよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- bin-chan
- ベストアンサー率33% (1403/4213)
考え方は ・サブフォームのクエリを先に作る。 ・その上で、検索条件を「パラメータ」で渡す。 具体的には 1)全件検索するクエリを最初に作成 2)材料の列毎に検索条件を設定。 ピーマン [forms]![メインフォーム].[ch0] ニンジン [forms]![メインフォーム].[ch1] タマネギ [forms]![メインフォーム].[ch2] ハクサイ [forms]![メインフォーム].[ch3] ジャガイモ [forms]![メインフォーム].[ch4] 3)これを元にサブフォームを作成する。
お礼
bin-chan様、早速のご回答ありがとうございます! 丁寧に書いてくださったのですが、 すみません; 初心者なもので、パラメータで渡す方法がわかりません どのようにしたらよいですか? 材料の列毎にというのはAnd条件とすれば よいのでしょうか? 質問ばかりですみません