Windows 7 & Office 2010 Access 2010

帳票フォームのボタンをクリックして同じIDの単票フォームを起動する

投稿日:2017年1月7日 更新日:

Accessで、帳票フォームから同じIDの単票フォームをボタンで起動する方法を解説します。

横に長い情報より、1つのウィンドウで表示したいという場合に便利です。

画像は、Acess2010ですが、他のバージョンでも同じです。

帳票フォームのIDで抽出するクエリを作成して、単票フォームのレコードソースに設定します。

帳票フォームから同じIDの単票フォームを開く

参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方にとっては、 ...

続きを見る

テーブルの確認

テーブル[T_売上]は以下のように作成しています。

テーブル[T_売上]のデザインビュー

以下は、テーブル[T_売上]のデータシートビューです。

テーブル[T_売上]のデータシートビュー

参考テーブルのデータ型については、以下で解説しています。

テーブル(フィールド)のデータ型の種類とフィールドプロパティ

文字とか数値といったデータの種類のことをデータ型と呼びます。 Accessでは、フィールドごとにデータ型が決まっていて、同じデータ型のデータしか入力で ...

続きを見る

単票フォームを作成

テーブル[T_売上]を基に単票フォームを作成します。

簡単に作成するには、テーブル[T_売上]を選択して、[作成]タブの[フォーム]グループにある[フォーム]をクリックします。

フォーム

1回に1つのレコードに情報を入力できるフォームを作成します。

[作成]タブの[フォーム]グループにある[フォーム]

単票フォームの作成(デザインビュー)

フォームウィザードを使って作成してもいいと思います。以下の記事で解説しています。

フォームウィザードでフォームを作成(クエリが認識されないことも)

Accessのフォームとはテーブルやクエリのデータをもとに、データの表示、入力、編集するためのオブジェクトです。 フォームウィザードでは、[単票形式] ...

続きを見る

帳票フォームとコマンドボタンの作成

同じようにテーブル[T_売上]を基に帳票フォームも作成します。

そして、作成した[F_帳票]フォームにコマンドボタンを1つ作成しておきます。

[デザイン]タブの[コントロール]グループにある[ボタン]を選択します。

[デザイン]タブの[コントロール]グループにある[ボタン]

ボタンには、何も設定せずに設置だけしておきます。

コマンドボタンウィザードが表示されたら、[キャンセル]ボタンをクリックして閉じます。

コマンドボタンウィザード

コマンドボタンのプロパティ[標題]に[開く]とだけ入力しておきます。

コマンドボタンのプロパティ

帳票フォームの作成は以下の記事が参考になると思います。

フォームウィザードでフォームを作成(クエリが認識されないことも)

Accessのフォームとはテーブルやクエリのデータをもとに、データの表示、入力、編集するためのオブジェクトです。 フォームウィザードでは、[単票形式] ...

続きを見る

クエリの作成

テーブル[T_売上]を基にクエリを作ります。

[作成]タブの[クエリ]グループにある[クエリデザイン]をクリックします。

クエリデザイン

新しい空のクエリをデザインビューで作成します。

[テーブルの表示]ダイアログボックスが表示され、クエリデザインに追加するテーブルまたはクエリを選択できます。

[作成]タブの[クエリデザイン]

[テーブルの表示]ダイアログボックスが表示されますので、[T_売上]を選択して[追加]ボタンをクリックします。

[テーブルの表示]ダイアログボックス

参考バージョンによって異なると思いますが、[作成]タブの[クエリデザイン]をクリックすると、Microsoft 365のAccessとAccess 2021では[テーブルの追加]作業ウィンドウとして表示されます。

クエリデザインの「テーブルの追加」は作業ウィンドウに表示される

デザイングリッドにフィールドを登録

すべてのフィールドリストをデザイングリッドにドラッグして追加します。または、各フィールドをダブルクリックして追加します。

クエリのデザインビュー

クエリの[ID]フィールドの[抽出条件]に以下のように入力します。

 [forms]![F_帳票]![ID]

そして、クエリを[Q_売上]という名前で保存します。

クエリの抽出条件などは、入力補助機能を使って入力すると簡単です。Access2010からの機能です。

入力候補一覧(補助メニュー)を活用してミスを軽減

Access2010からの機能です。 クエリの抽出条件などで、フォーム名やコントロール名を入力する際に、入力候補の一覧が表示されるようになりました。 ...

続きを見る

クエリの抽出条件へ入力

参考クエリで同じようにフォームのテキストボックスの値でレコードを抽出する方法は、以下の記事でも解説しています。

クエリの抽出条件にテキストボックスの値を設定してレコードを抽出

Accessのクエリでレコードを抽出する方法です。 クエリの抽出条件には、フォームのテキストボックスの値を指定することができます。 また、クエリを作成 ...

続きを見る

単票フォームのレコードソースを変更

[F_単票]フォームをデザインビューで開いて、プロパティシートの[データ]タブにあるレコードソースを[Q_売上]に変更します。

[F4]キーを押すと、プロパティシートを表示できます。

キーボード[F4]キー

[選択の種類]が[フォーム]になっていることを確認してください。

[F_単票]フォームを開いたときは、レコードソースは[T_売上]になっているはずですから、これを[Q_売上]に変更します。

プルダウンから選択できます。

プロパティのレコードソース

帳票フォームのコマンドボタンに設定

今度は、[F_帳票]フォームをデザインビューで開きます。

[開く]コマンドボタンのプロパティを開き、[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックします。

コマンドボタンのプロパティ[イベント]タブの[クリック時]の[...]ボタン

[ビルダーの選択]ダイアログぼっくの[マクロビルダー]か、または[コードビルダー]を選択して設定します。

どちらかで設定してください。初心者には、マクロビルダーの方がおすすめです。

[マクロビルダー]と[コードビルダー]の相違点などは以下の記事で解説しています。

マクロアクション(マクロビルダー)とVBA(コードビルダー)

Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一連の操作を ...

続きを見る

[マクロビルダー]を選択して設定する方法

[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択して、[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択

[マクロウィンドウ]が表示されますので、[新しいアクションの追加]の▼ボタンをクリックします。

[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

[新しいアクションの追加]の▼ボタン

一覧から[フォームを開く]を選択します。

一覧から[フォームを開く]を選択

[フォーム名]の▼ボタンをクリックして、リストから[F_単票]を選択します。

上書き保存して、[マクロウィンドウ]を閉じます。

マクロツールウィンドウで[フォームを開く]アクションを設定

設定後のプロパティには、[埋め込みマクロ]と表示されます。

設定後のコマンドボタンのプロパティ

[コードビルダー]を選択して設定する方法

[ビルダーの選択]ダイアログボックスで[コードビルダー]を選択して、[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックスで[コードビルダー]を選択

VBEが起動するので、コードウィンドウに以下のように入力して閉じます。

DoCmd.OpenForm "F_単票"

VBEのコードウィンドウに入力

設定後のプロパティには、[イベントプロシージャ]と表示されます。

設定後のコマンドボタンのプロパティ

ボタンをクリックして確認

[F_帳票]をフォームビューで開いて、[開く]ボタンをクリックすると、同じ[ID]の単票フォームが表示されます。

帳票フォームと単票フォーム

[フォーム]プロパティの設定

単票フォームは、プロパティで[レコードセレクタ]や[移動ボタン]などを[いいえ]にして非表示にしたほうがいいかもしれませんね。

以下の記事で解説しています。

フォームの[レコードセレクタ]と[移動ボタン]

例えば、[フォーム]プロパティの[書式]タブで以下のように設定すると、

  • 標題
    フォームのタイトルバーに表示される文字列です。
  • 境界線スタイル
    既定値は、[サイズ調整可]です。[ダイアログ]を選択すると、フォームの最大化、最小化、サイズ変更はできなくなります。
  • レコードセレクタ
    レコードセレクタを表示するか、しないかの設定です。
  • 移動ボタン
    他のレコードに移動するためのボタンです。
  • スクロールバー
    ここでのサンプルのように画面をスクロールする必要がなければ[なし]を設定していいですね。

フォームのプロパティ

単票フォームは、スッキリすると思います。

プロパティで設定後のフォームビュー

この単票フォームを編集用のフォームとして作成した場合の[保存]と[キャンセル]ボタンの設定については、以下の記事で解説しています。

編集フォームを閉じる時のボタンを設置(保存せずに閉じる処理も)

帳票フォームなどのレコード一覧から、同じレコードの詳細フォームを開いて編集することがあります。 この編集フォームを閉じる場合、編集した内容を保存して閉 ...

続きを見る

参考帳票やデータシートビューから単票フォームを開く方法は、他にもあります。

オブジェクトを増やしたくないというような場合は、以下の方法がおすすめです。マクロビルダーで設定する方法を紹介しています。

データシートの[ID]をクリックして単票(詳細)フォームを開く

フォームのデータシートビューの[ID]番号をクリックしたら、その[ID]の単票フォームを開く方法です。 データシートのフォーム名は[F_データシート] ...

続きを見る

また、帳票フォームのボタンのクリック時イベントにコードを記述する方法もあります。

帳票フォームから同じIDの単票フォームを開く(イベントプロシージャ)

帳票フォームから単票フォームを開いたときに、自動的にチェックが付くような仕組みを作ることもできます。

帳票フォームから単票を開いたらチェックを付ける(リセット方法も)

Accessで帳票フォームから、ボタンをクリックして同じIDの単票を開くように作成することはよくあります。フィールドが多い場合は、修正は横に長い帳票フ ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 7 & Office 2010 Access 2010

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.