Accessで、帳票フォームから同じIDの単票フォームをボタンで起動する方法を解説します。
横に長い情報より、1つのウィンドウで表示したいという場合に便利です。
画像は、Acess2010ですが、他のバージョンでも同じです。
テーブル[T_売上]は以下のように作成しています。
参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...
単票フォームを作成
テーブル[T_売上]を元に単票フォームを作成します。
帳票フォームとコマンドボタンの作成
同じようにテーブル[T_売上]を元に帳票フォームも作成します。
フォームの作成は以下の記事が参考になると思います。
-
フォームウィザードでフォームを作成(クエリが認識されないことも)
Accessのフォームとはテーブルやクエリのデータをもとに、データの表示、入力、編集するためのオブジェクトです。 フォームウィザードでは、[ ...
そして、作成した[F_帳票]フォームにコマンドボタンを1つ作成しておきます。
クエリの作成
テーブル[T_売上]を元にクエリを作ります。
クエリの[ID]フィールドの[抽出条件]に以下のように入力します。
[forms]![F_帳票]![ID]
そして、クエリを[Q_売上]という名前にして保存します。
単票フォームのレコードソースを変更
[F_単票]フォームをデザインビューで開いて、プロパティシートの[データ]タブにあるレコードソースを[Q_売上]にします。
[F4]キーを押すと、プロパティシートを表示できます。[選択の種類]が[フォーム]になっていることを確認してください。
[F_単票]フォームを開いたときは、レコードソースは[T_売上]になっているはずですから、これを[Q_売上]に変更します。
帳票フォームのコマンドボタンに設定
今度は、[F_帳票]フォームをデザインビューで開きます。
[開く]コマンドボタンのプロパティを開き、[イベント]タブの[クリック時]の[...]ボタンをクリックします。
そして、[ビルダーの選択]ダイアログボックスから[コードビルダー]を選択します。
VBEが起動するので、以下のように入力して閉じます。
DoCmd.OpenForm "F_単票"
コマンドボタンのプロパティシートの[イベント]タブの[クリック時]には、以下のように[イベントプロシージャ]と表示されます。
ボタンをクリックして確認
[F_帳票]をフォームビューで開いて、[開く]ボタンをクリックすると、同じ[ID]の単票フォームが表示されます。
[フォーム]プロパティの設定
単票フォームは、プロパティで[レコードセレクタ]や[移動ボタン]などを[いいえ]にして非表示にしたほうがいいかもしれませんね。
以下の記事で解説しています。
例えば、[フォーム]プロパティの[書式]タブで以下のように設定すると、
- 標題
フォームのタイトルバーに表示される文字列です。 - 境界線スタイル
既定値は、[サイズ調整可]です。[ダイアログ]を選択すると、フォームの最大化、最小化、サイズ変更はできなくなります。 - レコードセレクタ
レコードセレクタを表示するか、しないかの設定です。 - 移動ボタン
他のレコードに移動するためのボタンです。 - スクロールバー
ここでのサンプルのように画面をスクロールする必要がなければ[なし]を設定していいですね。
単票フォームは、スッキリすると思います。
参考帳票やデータシートビューから単票フォームを開く方法は、他にもあります。
以下の記事では、マクロビルダーで設定する方法を紹介しています。オブジェクトを増やしたくないというような場合は、マクロビルダー(埋め込みマクロ)で設定した方が良いと思います。
-
データシートの【ID】をクリックして単票(詳細)フォームを開く
Accessのデータシートの[ID]番号をクリックしたら、その[ID]の単票フォームを開く方法です。 データシートのフォーム名は[F_データ ...
また、帳票フォームのボタンのクリック時イベントにコードを記述する方法もあります。
帳票フォームから同じIDの単票フォームを開く(イベントプロシージャ)
帳票フォームから単票フォームを開いたときに、自動的にチェックが付くような仕組みを作ることもできます。
-
帳票フォームから単票を開いたらチェックを付ける(リセット方法も)
Accessで帳票フォームから、ボタンをクリックして同じIDの単票を開くように作成することはよくあります。フィールドが多い場合は、修正は横に ...