• ベストアンサー

AccessのDoCmd.ApplyFilterの使い方をおしえてください。

社内で素人アプリケーション開発担当を買って出ているばか者です。 どうかこの私を助けてください。 商品マスターのようなものをサブフォームにして作っております。 メインフォームのコンボボックスの更新後処理イベントプロシージャに、そのサブフォームへDoCmd.ApplyFilterを実行させようとしてもうまく行きません。 「実行時エラー”2491”フォームがテーブルまたはクエリーを元に作成されていないので、このアクションは向こうです。」となってしまいます。ツールバーの選択フィルター使うとできるのですがイベントプロシージャでは不可能なのでしょうか。ご指導の程宜しくお願い致します。

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

サブフォームにフィルタを適用するには、以下のようにします。 Private Sub コマンド1_Click()   'フィルタを設定(IDが10以下)   Me.サブフォーム名.Form.Filter = "ID <= 10"   '[フィルタの使用]プロパティを「はい」に設定   Me.サブフォーム名.Form.FilterOn = True End Sub Docmd.ApplyFilter を使ったやり方も試してみたんですが、どうもうまく出来ませんでした。ちょっとした工夫でいけると思うんやけどなぁ。

その他の回答 (1)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

ツールバーの選択フィルターで動作するのであれば、 VBA(モジュール)からDoCmd.DoMenuItemまたは DoCmd.RunCommandで代替出来ると思います。 DoCmd.RunCommand acCmdFilterBySelection で選択フィルターと同じ動きをすると思います、 # 試していないので何ともいえませんが、、、

関連するQ&A