- 締切済み
Accessのフォームについて
Accessを使ってデータを管理しています。 メインメニューを作り、ボタンを一つ作って、フォームに飛ぶように設定してあります。 が、ボタンを押したら自動的にフォームがフォームフィルターになっている(検索出来る)状態にしたいのです。 簡単な事かもしれませんが、もしよろしければ教えていただきたいのですが・・ 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DexMachina
- ベストアンサー率73% (1287/1744)
メインメニューから呼び出される方のフォームの「開く時」イベントに、マクロなどを組み込みめば可能です。 以下、フォーム名を「フォーム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」にしているのは、念のためです。 (他のマクロなどが何も設定されていない状況で確認した限りでは、この部分を削除しても メインメニュー側にフォームフィルタが適用されることはありませんでした)
お礼
回答ありがとうございます! 早速やってみたいと思います。 本当にありがとうございました★☆