• 締切済み

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

  • Access2000でリンクしたされたフォームについて

    管理IDを主キー(重複あり)で、フォームウィザードでリンクされたファームを作成しました。トグルボタンが自動作成され、そしてトグルボタンを押すと新しいフォームが開き、管理IDでフィルタされていると思います。そこで、新しいデータを入力すると、管理IDが0で登録されてしまいます。新しいデータは管理IDでフィルタした値で登録したいのですが、良い方法が見つからないです。 管理IDはて入力ではなく、自動的に入力する形をとりたいです。 <やりたい事> 1.管理ID=100でフィルタされているフォーム 2.トグルボタンで、リンクされたフォームを開く   (管理ID=100でフィルタさてたフォームが開く) 3.新しく開いたフォーム(2)にデータを記入 4.管理ID=100で登録する。(現状0になってしまします) 管理IDはフォームから見る事はできない状態の登録を行いたいです。良い方法はないでしょうか?

  • ACCESS の フォームに

     自作のアドレス帖を作成しているのですが、キーワードで検索して一覧を表示(別のフォームでもかまいません)するような機能を付け足したいのです、  デザインビューで フォームフィルタの基能を持ったコマンドを貼り付けたいのですが  アクセスのフォームに フォームフィルタ のボタンを、設定・設置することは、出来ますか。   

  • アクセスのメインフォームのみの表示について。

    アクセスでデータ管理をしていますが、画面上にメインフォームのみを表示させたいのですが、どのようにしたらアクセスの編集画面などを消せるのでしょうか?現在メインフォームを自動で表示するようにしてありますが、必ず、アクセスのファイル、編集、表示、挿入などが上に表示され、編集枠の中にメインフォームが真ん中に表示される状態です。どこかで見たことがあるのは、そのメインフォームのみ真ん中に表示され、後ろにはウインドウズの画面があるものでした。どなたか教えていただけないでしょうか。よろしくお願いいたします。

  • Accessフォームがメインメニューで隠れてしまう

    Accessで作成した社員情報データベースを一般の人は参照のみとし、 数人の有資格者だけデータ編集できるよう、メインメニューの中のボタンで IDとパスワード入力フォームを開き、合致した場合、編集対象フォーム、又 は別フォームメニューが開くようにしたのですが、一つ問題が。 IDとパス入力で対象フォームが無事開くのですが、画面のその対象フォーム の上というか前面にメインメニューが表示され、対象フォームがメインメニュー の背面に表示されてしまうのです。 原因と対処方が分からず、困り果てました。どうか解決策がありましたら ご教授頂けますと幸いです。 使用accessは2002です。よろしくお願い致します。

  • Access VBAでメインフォームとサブフォームを印刷するには?

    現在Access VBAを使用して開発をしております。 (Accessのバージョンは2003です。) メインフォームとサブフォームから成る画面があります。 以下、フォーム内に配置されているコントロールです。 <メインフォーム> ・コンボボックス(DB非連結) ・検索ボタン ・画面印刷ボタン <サブフォーム> ・表形式フォーム(DB連結) 画面の機能としては、メインフォームの検索ボタンをクリックしたら、 メインフォームのコンボボックスで選択されているデータに 該当するデータをサブフォーム内に表示しています。 この状態で画面印刷ボタンをクリックしたら 印刷プレビュー画面を表示しています。 ●サブフォームのデータは印刷プレビューで表示されているのですが、 メインフォームのコンボボックスで選択されたデータが表示されなくて 困っております。 メインフォームのコンボボックスをサブフォーム内に配置すれば 印刷プレビューで表示できるようになるのかもしれませんが、 できればメインフォーム上に配置しておきたいのです。 何か良い方法をご存知の方、ご教授いただきたく思います。 よろしくお願いします。

  • Access2000で検索フォームの作成方法を教えてください。

    Access2000で検索フォームの作成方法を教えてください。 Accessの知識はテーブル、クエリー、フォームの初歩的な作成方法ぐらいしか分かりません。 【今の状況】 フォームを4つ作成しています。 (1)検索条件を指定するフォーム1つ(F4)を作成済みです。 (2)フォーム(F4)には、条件を指定するコンボボックス(条件1、条件2)を2つと、  コマンドボタン(検索ボタン)を1つ作成しています。  ※コンボボックスは、非連結で、値集合タイプに値リストを設定し、値集合ソース値を指定しています。   ※コマンドボタンは、フォーム上にボタンを描いただけで何も設定していません。 (3)検索結果を表示させるフォーム3つ(F1、F2、F3)を作成済みです。 (4)それぞれメインフォーム(M)とサブフォーム(S)で構成されています。 (5)メインフォーム(M)は、3つのフォーム(F1、F2、F3)共通です。  サブフォーム(S)は、3つとも表形式ですが、表示している元データ(クエリー)が異なります。 (6)検索条件を設定したい項目は、メインフォーム(M)にも表示されている項目です。 【やりたいこと(完成イメージ)】  検索条件指定のフォームに作成している「検索ボタン」をクリックすると、  検索結果表示用のフォーム(F1、F2、F3)に検索条件に該当するデータのみ表示させたい。  (上記(6)にも書きましたが、メインフォーム(M)にも検索条件に指定した値を表示させたいです。)  検索条件は、最大6項目指定しますが、条件が選択されているもののみをAND条件で検索したいです。 【教えていただきたいこと】  コンボボックスの条件をANDで指定するには、どこに何を設定すれば良いのでしょうか?  「検索ボタン」の作成方法後に、設定をする必要があると思うのですが、どこに何を設定すれば良いのでしょうか?  検索条件フォーム(F4)の結果を、検索結果表示フォーム(F1、F2、F3)に関連付けるには、どこに何を設定すれば良いのでしょうか?  その他に設定が必要な部分はありませんか?    あと、お勧めの方法が他にあれば教えてください。 初歩的なことしか理解していませんので、 不十分な説明文で申し訳ありませんが、 よろしくお願いします。

  • ACCESSのフォーム

    アクセスのDBに テーブル(T1:レコードが100件) フォーム(F1) フォーム(F2) があります。 F1、F2はT1のデータがリンクされています。 F1を開き(全部で100件)、 フィルタをかけ(20件になる) そのままF1を開いた状態でF2を開くと、 F1でフィルタをかけた状態(20件)で表示させるには どうすればよいでしょうか。

  • ACCESSのツールバー「フォームフィルタ」「フィルタの実行」を簡単に実行するには?

    こんにちは、pulukunと申します。 ACCESSを利用してデータ検索する際、ツールバー上の「フォームフィルタ」「フィルタの実行」を実行しています。 現状は、実行する際には画面上のポインタをマウスで操作し、ツールバー上のボタンを押下している状態です。 ですが、実行するたびにマウスを操作しなくてはならず、実行回数が多くなるほどマウス操作がわずらわしくなってしまいます。 ★そこで、ACCESSのツールバー上の「フォームフィルタ」「フィルタの実行」を簡単に実行するのに、ショートカット、または他に何か方法があれば教えていただきたいです。 ちなみに、フォームを作成して検索する、ということは事情があって今の環境ではできません。 どうぞよろしくお願いいたします。

  • Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

    フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

  • ACCESSのフォームフィルタ

    ACCESS初心者です。 テーブルでフォームフィルタを使ってOR条件をつけてデータを抽出しましたが、解除ボタンで解除できるのですが、次にフィルタボタンを押すと前の条件で抽出されたデータが表示されてしまいます。 何も条件をつけなかった状態に戻すには、データウィンドウに戻るしかないでしょうか?