質問: access で マクロの中でフィルタを使用する方法 access初心者です フォームを使用してテーブルのデータを単にマクロでフィルタ実行をかけて検索をしたいのですが、where条件式のところで文字列をあいまい検索したいのです。(フォームでテーブルの項目の一部を入力して検索をかけたい)like * を使用したいのですが記述の方法がわかりません。教えてください。 よろしくお願いいたします!
回答: vbaのコードではなく、『マクロ』オブジェクトでの「フィルタの適用」アクションの引数についてのご質問、 ということでよろしいでしょうか。 でしたら、『where条件式』には下記のように、対象フィールド名を角括弧([ ])で囲んで左辺に指定し、 「like」を挟んで、右辺に検索したい文字列とワイルドカード文字「*」をダブルクォーテーション「" "」で 括って指定します。 フォームのコントロール名ではなく、レコードソースのテーブルやクエリのフィールド名を指定することに 注意してください。 (フィールド名とコントロール名が同じなら問題ありませんが) a)『商品名』が「チョコ」を含むものを抽出 →「[商品名] like "*チョコ*"」 b)『商品名』が「アップル」で始まるものを抽出 →「[商品名] like "アップル*"」 c)『商品名』が「ケーキ」で終わるものを抽出 →「[商品名] like "*ケーキ"」 d)『商品名』が「チョコ」か「ショコラ」を含むものを抽出 →「[商品名] like "*チョコ*" or [商品名] like "*ショコラ*"」 e)『商品名』が「チョコ」を含み、「ケーキ」で終わらないものを抽出 →「[商品名] like "*チョコ*" and [商品名] not like "*ケーキ"」 f)『商品名』が「レモン」を含み、『発売日』が空白(null)のものを抽出 →「[商品名] like "*レモン*" and [発売日] is null」 ※矢印と括弧『→「 」』はwhere条件式への入力は無用です。括弧内の文字列だけを入力して下さい。