Microsoft Access 掲示板

パラメータを複数入力したい

2 コメント
views
4 フォロー

1A、1B、1C、2A、2Bなどの値が格納されている「タグ」というフィールドにおいて
クエリデザインで抽出条件の欄に
=[タグ情報を入力してください]
と記入して、入力されたパラメータに一致するもののみを抜き出すクエリを書いているのですが、
ここでパラメータを複数入力(例えば、1Aと3Cと5Bのタグがついているものが欲しい)する場合、どうすれば良いのでしょうか?
単純に考えて、パラメータ入力を求められた際に
“1A” Or “3C” Or “5B”
と入力したのですが正確なデータが取得できませんでした。
よろしくお願いいたします。

tabu
作成: 2021/07/19 (月) 15:28:00
最終更新: 2021/07/19 (月) 15:40:47
通報 ...
1

クエリデザインで下記のように設定してください。

フィールド "," & [タグ情報を入力してください(カンマ区切)] & ","
抽出条件 Like "," & [タグ] & ","

これで、パラメータに 1A,3C,5B とカンマ区切りで入力すると該当のタグで抽出できます。

ただし、件数が多いと重くなるので(インデックスが効かないので)、その場合は、
条件入力用のテーブルを作成して、そのテーブルと結合させるクエリにした方がいいでしょう。

条件入力用テーブルをレコードソースとするフォームを作成して、ユーザーにはそこで条件を入力させて、コマンドボタンでクエリを開くようにすればいいでしょう。

2
hiroton 2021/07/19 (月) 16:54:08 77018@f966d >> 1

速度関係はよくわかりませんが

式1: InStr("," & [タグ情報を入力してください(カンマ区切)] & ",","," & [タグ] & ",")>0

これをTrueで抽出するとかどうですかね?


余談
カンマ区切りにしてみたら] & ",","," & [この辺でめっちゃ混乱しそうでした