
アクセス2010で、チェックボックスを用いた検索を、複数条件(AND)で行いたいです。
フィールド「個数」に、1~5いずれかの数値が入力されて、フィールド「単位」に1~5いずれかの数値が入力されたレコードがあります。
検索フォームにチェックボックス5つを2セット(名前はko1からko5までと、ta1からta2まで)を作製して、
co1とta1がチェックされた時は「個数」が1かつ、「単位」が1のレコードを、
ck1、ck2とta3、ta4がチェックされた時は「個数」が1または2かつ、「単位」が3または4のレコードを表示する
のようなコードを書きたいのですが、うまくできません。教えていただけませんか。
フィールドが一つの場合は、こちらで教えていただいたのですが、、
このようなフィールド多数の場合は、非連結のチェックボックスは、良くないでしょうか。
No.4ベストアンサー
- 回答日時:
十年ぶりくらいでアクセスさわってみました、
連結フォーム?のようなものをつっていてフィルターという項目があるなら、
ボタンを押下したときのイベントでフォームのフィルタを設定するのが簡単そうです。
private sub コマンドxx_Click()
dim strFilter as string
’個数が指定されているかのエラーチェック
if ko1.value+ko2.value+ko3.value+ko4.value+ko5.value = 0 then
msgbox ”個数を指定してください”,vbokonly
exit sub
end if
’単位が指定されているかのエラーチェック
if ta1.value+ta2.value+ta3.value+ta4.value+ta5.value = 0 then
msgbox ”単位を指定してください”,vbokonly
exit sub
end if
’フィルタ文字列の設定
strFilter = "("
If ko1.Value = True Then strFilter = strFilter & "個数 = 1 or "
If ko2.Value = True Then strFilter = strFilter & "個数 = 2 or "
If ko3.Value = True Then strFilter = strFilter & "個数 = 3 or "
If ko4.Value = True Then strFilter = strFilter & "個数 = 4 or "
If ko5.Value = True Then strFilter = strFilter & "個数 = 5 or "
strFilter = Left(strFilter, Len(strFilter) - 3) & ") and ( "
If ta1.Value = True Then strFilter = strFilter & "単位 = 1 or "
If ta2.Value = True Then strFilter = strFilter & "単位 = 2 or "
If ta3.Value = True Then strFilter = strFilter & "単位 = 3 or "
If ta4.Value = True Then strFilter = strFilter & "単位 = 4 or "
If ta5.Value = True Then strFilter = strFilter & "単位 = 5 or "
strFilter = Left(strFilter, Len(strFilter) - 3) & ") "
MsgBox strFilter
Me.Filter = strFilter
Me.FilterOn = True
end sub
でフィルターがかかります。
フィルターを解除する機能をつけるためには別なボタンでも作って、押下のイベントに
me.filteron = false
と書いておいて下さい。
データの量によっては、パフォーマンスは保証できなくなってしまうかもしれませんが、、、
そのあたりは、少し研究が必要です(ササっとはできません)。
No.3
- 回答日時:
私も、アクセス固有の機能に関しては全然詳しくないので、素直な方法になるのかわかりませんが、、、
sql を作るお手伝いなら、できると思います。
SQLはアクセスでいう所のクエリの本体に該当するもので、データベースに文字列でアクセスし、データを抽出したり、追加したり、削除したり、、、することができます。
もし、ご希望でしたら、いくつか確認をさせてください。
チェックボックスは
ko1 ~ ko5 *co、ckではないですよね?
ta1 ~ ta5
テーブルの名前、個数、単位のフィールドの名前、(仮でもよいです)をご指定ください。
チェックボックスのko1 ~ ko5 , ta1 ~ ta5 どちらもチェックが最低一個は入るという前提でよいでしょうか?
レコードの表示順があれば、そのフィールド名(仮でもよいです)と降順なのか昇順なのかを教えてください。
ありがとうございます!
チェックボックスはご指摘のとおり、
ko1~ko5、ta1~ta5
です。
ko1~ko5、ta1~ta5 は、どちらもチェックが最低1個は入ります。
テーブル名は「全件」
フィールド名は「個数」、「単位」
で作製していて、レコードの表示順はありません(入力時のID順)
助けていただけると幸いです、、
No.1
- 回答日時:
ありがとうございます。
アクセス初心者のため、SQLを理解できておらず、非連結のチェックボックスを用意して、実行ボタンにコードをいれたいと思っていたのですが、難しいでしょうか、、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
access2019 チェックボックスと連動したクエリ抽出条件について
Access(アクセス)
-
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
Access チェックボックスを利用した絞込検索のクエリ記述
その他(Microsoft Office)
-
-
4
Accessでチェックボックスで抽出するには?
その他(ソフトウェア)
-
5
フォームで複数のチェックボックスからの抽出をしたい
Visual Basic(VBA)
-
6
ACCESSでテーブルにあるチェックボックスを一括でYesにする方法を教えてください
Access(アクセス)
-
7
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
8
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
9
チェックボックスのON OFFでの切替について
Access(アクセス)
-
10
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
11
チェックボックスにチェックが入った後の挙動
Access(アクセス)
-
12
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
13
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
14
ACCESS検索★ある文字を複数のフィールドの中から検索したい
その他(コンピューター・テクノロジー)
-
15
ACCESS チェックしたものを 印刷したい
Access(アクセス)
-
16
Accessのチェックボックスで非表示
Access(アクセス)
-
17
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
18
複数条件検索について
Access(アクセス)
-
19
Accessレポートのチェックボックスを大きくする方法
Access(アクセス)
-
20
Access 複数条件検索の設定が上手く行きません
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
診断書が必要!!
-
長さの単位であるAの上に丸がつ...
-
Lとcc(車の排気量)
-
比重計算を教えてください
-
一円単位切上げとは?
-
100円単位を切り上げ
-
Wordで何cmとか指定をしたい...
-
>大阪府が学校単位で来場しな...
-
【数学】rpmとmin-1の違いって...
-
0に横に線が一本で何と読むでし...
-
10μgとは、mgに換算すると何mg...
-
g/m2 、gsm は何ミリのこ...
-
単位の書き方について 60000000...
-
エクセルで、図の書式設定の「...
-
10円未満切り上げ
-
「414百万円」って、何円ですか?
-
1/100ストップウオッチについて
-
文字式の( )について
-
1.2kって何円ですか?
-
1.5%は、数字で表すと、どのく...
おすすめ情報