質問: access2003 マクロ フィルタ こんにちは、 access2003 マクロ フィルタで あ行だけを抽出しなさいという命令を書いたところ、 [顧客名称(読み)] like "[あ-お]*"と書くと正常にあ行のリストを表示 [forms]![f_顧客リスト]![顧客名称(読み)] like "[あ-お]*"というように[forms]![f_顧客リスト]!を追加して書くと何も表示されなくなり正常な動作をしてくれませんでした。 いったいなぜでしょうか? 何かお分かりの方がいましたら教えてください。 よろしくお願いします。 顧客リストから絞り込むようなフォームを作ろうとしています。 1.[f_顧客リスト]というフォームに[frm_五十音フィルタ]という[オプショングループを作成] 2.[frm_五十音フィルタ]オプショングループ内に[tgl_あ]というトグルボタンと作成 3.[frm_五十音フィルタ]オプショングループ内に[btn_顧客名称(読み)]というコマンドボタンと作成 4.マクロで[条件]に[forms]![f_顧客リスト]![frm_五十音フィルタ]=2 [アクション]に[フィルタの実行] where条件式に上記のように、 [顧客名称(読み)] like "[あ-お]*"あるいは、 [forms]![f_顧客リスト]![顧客名称(読み)] like "[あ-お]*"と 書きました。
回答: フィルタはフォーム上のコントロールに対するものではなく、 レコードソースに対してかける物です。 たとえば、テーブルをレコードソースとしている場合、 フォーム上に、対応するコントロールが無くても フィルタをかけることが出来ますし、 コントロール名と、コントロールソース名が異なる場合には、コントロールソース名でフィルタをかけます。 > [forms]![f_顧客リスト]![顧客名称(読み)] like "[あ-お]*" この記述は、フォームのコントロール名を参照するものですから 正常に抽出されません。