こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessフォーム検索

AccessでA、B、C個別のフォーム検索があり
各々検索結果を別フォームで表示させています。
ここから更に、条件選択で表示させる方法はありますか?
例)
A:カテゴリー
B:名前
C:素材
をAND、ORでフォーム表示させたいのです。
宜しくお願い致します。

投稿日時 - 2018-07-07 23:43:21

QNo.9516202

困ってます

質問者が選んだベストアンサー

SQL文はクエリをとりあえずANDで作成して表示をSQLにしたら取り出せますので、それをもとに(場合によってはそのまま)利用できます。
テキストボックスが非連結の場合は
])='" + Me![キーワード1] + "')
のように値だけ取り出すようにします。
あとはANDのところを + op +に変更すればいいです。
SQLを取り出してからの処理はこちらの回答を参考にしてください。
https://okwave.jp/qa/q9515365/a26556221.html
クエリをテーブル作成でつくれば
Set SQLdata = dbsCurrent.OpenRecordset(SQLstr)
としなくても
DoCmd.RunSQL SQLstr
とすれば検索結果データのテーブルが作成されます。

投稿日時 - 2018-07-08 19:35:22

お礼

ご丁寧に回答ありがとうございます。
挑戦させていただきます。

投稿日時 - 2018-07-08 21:04:40

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

たぶんオプションボタンをフレームでグループにしていると思いますので
ANDオプションボタンのオプション値を 1
ORオプションボタンのオプション値を 2
と設定しているとして

If Me![フレーム].Value = 1 Then
op = "AND"
ElseIf Me![フレーム].Value = 2 Then
op = "OR"
End If

SQLstr = "SELECT 略" + _
"FROM 略 " + _
"WHERE (((略) " + op + _
" ((略) " + op + _
" ((略));"

こんな感じでSQL処理してみてはいかがでしょう。

投稿日時 - 2018-07-08 12:40:54

お礼

ご回答ありがとうございました。
「SQL処理」があまり理解できていない
状況でして。

投稿日時 - 2018-07-08 18:17:12

あなたにオススメの質問