• 締切済み

Accessのフォームについて

Accessを使ってデータを管理しています。 メインメニューを作り、ボタンを一つ作って、フォームに飛ぶように設定してあります。 が、ボタンを押したら自動的にフォームがフォームフィルターになっている(検索出来る)状態にしたいのです。 簡単な事かもしれませんが、もしよろしければ教えていただきたいのですが・・ 宜しくお願いします。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

メインメニューから呼び出される方のフォームの「開く時」イベントに、マクロなどを組み込みめば可能です。 以下、フォーム名を「フォーム1」として説明します。 マクロの場合:    <アクション>      <引数>   「値の代入」     式:「True」、アイテム:「Forms!フォーム1.Visible」   「コマンドの実行」  コマンド:「フォームフィルタ」  以上のアクションを記録したマクロを「マクロ1」として保存します。  フォーム1をデザインビューで開いたら、何もないところをダブルクリックするなどして、フォームの  プロパティシートを表示させ、『イベント』タブの「開く時」に「マクロ1」と記録します。  (左端の「▼」ボタンを押して、リストから選択しても可) VBAの場合:  フォームをデザインビューで開き、何もないところをダブルクリックするなどしてフォームのプロパティ  シートを表示させたら、『イベント』タブの「開く時」にカーソルを合わせ、左端に表示される「...」  (ビルドボタン)をクリックします。  「コード ビルダ」を選択するとVBE画面が開くので、以下のコードを貼り付けます Private Sub フォーム1_Open(Cancel As Integer) On Error Goto エラー処理   Me.Visible = True   DoCmd.RunCommand acCmdFilterByForm 終了処理:   Exit Sub エラー処理:   MsgBox Err & ":" & Error$, , Me.Name & " Open"   Resume 終了処理 End Sub ・・・以上です。 なお、フォーム1の『Visible』(可視)を「True」にしているのは、念のためです。 (他のマクロなどが何も設定されていない状況で確認した限りでは、この部分を削除しても  メインメニュー側にフォームフィルタが適用されることはありませんでした)

minnie1015
質問者

お礼

回答ありがとうございます! 早速やってみたいと思います。 本当にありがとうございました★☆

関連するQ&A