Windows 10 & Office 2016 Access 2016

フォームに表示されている関連付けられたフィールドを別フォームで開く

投稿日:2018年3月16日 更新日:

単票フォームを開いているときに、その中のフィールドについて詳細を知りたいということがあります。

例えば、売上の単票フォームがあって、その売上単票フォームに表示されている商品について、商品の内容を別フォームで表示させたいという場合があると思います。

売上フォームと商品フォームに整合性のあるフィールドがあれば、コマンドボタンウィザードを使って簡単にボタン作成できます。

ボタンをクリックして、別フォームの同じIDのフォームを表示

参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。

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

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

続きを見る

テーブルの確認

商品テーブル[T_商品]と売上テーブル[T_売上]の2つのテーブルの内容です。

商品テーブル

[T_商品]と名前を付けた商品テーブルは下のようになっています。

[添付型]フィールドを使用して商品の写真を添付しています。

商品テーブル

データ型の[添付型]については、以下の記事で解説しています。

[添付型]は、Access2007からの機能です。

データ型[添付ファイル]の3つの表示方法

Access2007から登場した添付ファイル型ですが、フォームでの表示方法の違いを紹介します。 [添付ファイル]の表示方法は、[画像/アイコ ...

続きを見る

売上テーブル

[T_売上]と名前を付けた売上テーブルのデザインビューは、下のようになっています。

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

データシートビューで表示すると以下のようになります。

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

リレーションシップ

リレーションシップは、下のようになっています。

[T_商品]テーブルの[商品ID]フィールドと、[T_売上]の[商品ID]フィールドを結合して参照整合性を設定しています。

リレーションシップ

リレーションシップは、[データベースツール]タブの[リレーションシップ]から確認できます。

ポップヒントには、以下のように記されています。

リレーションシップ

たとえばテーブルどうしでIDフィールドや名前フィールドが一致しなければならないなど、テーブル間のデータの関連付けを定義します。

リレーションシップのボタン

参考リレーションシップと参照整合性については、以下の記事で解説しています。

リレーションシップの作成と参照整合性の設定

Accessでは、複数のテーブルがあって、そのテーブル間の共通フィールドを関連付けることができます。この関連付けのことを[リレーションシップ ...

続きを見る

クエリの確認

[Q_売上]クエリは、下のようになっています。

[商品ID]だけでは分かりにくいので、[商品名]も表示するようにしています。

クエリのデザインビュー

フォームの確認

2つのフォームの内容です。

[T_ 商品]テーブルをもとに作成したフォーム[F_商品]と、クエリ[Q_売上]をもとに作成したフォーム[F_売上]です。

商品フォーム

[T_商品]テーブルを基に、商品の単票フォーム[F_商品]を作成しています。

商品フォーム

デザインビューの[フォーム]プロパティで、[レコードセレクタ]や、[移動ボタン]は[いいえ]の設定にしています。

フォームのプロパティ

参考フォームプロパティの書式については、以下の記事で解説しています。参考にしてください。

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

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

売上フォーム

クエリ[Q_売上]を基に単票フォーム[F_売上]を作成しています。

売上フォーム

売上フォームにコマンドボタンを作成

フォーム[F_売上]にコマンドボタンを作成します。

まず、フォーム[F_売上]をデザインビューで開きます。

コントロールウィザードの使用が有効になっているかを確認

ウィザードを使用するので、念のため[コントロール」ウィザードの使用]がオンになっているかを確認します。

[デザイン]タブの[コントロール]グループにある[その他]ボタンをクリックします。

フォームのデザインビュー

[コントロールウィザードの使用]がオンになっているかを確認します。

以下の画像のようにグレイになっていれば、オンの状態です。

そうでなければ、クリックしてオンにします。

コントロールウィザードの使用

ボタンの作成

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

デザインタブの[ボタン]

そして、詳細領域の任意の位置でドラッグして、ボタンを作成します。

ボタンの位置やサイズは作成後に調整できますので、あまり気にしなくても大丈夫です。

ドラッグでボタンの作成

コマンドボタンウィザードが表示されます。

ウィザードなので、各設問に答えていくだけで完成します。

実行する動作を指定

ボタンがクリックされたときに実行する動作を指定します。]とあります。

左側の[種類]から[フォームの操作]を選択して、右側の[ボタンの動作]では[フォームを開く]を選択します。

[次へ]のボタンをクリックします。

コマンドボタンウィザード フォームの操作

フォームを選択

コマンドボタンを使って開くフォームを選択してください。]となっていますので、ここでは、[F_商品]を選択します。

[次へ]のボタンをクリックします。

フォームを指定

特定のレコードを表示する

フォームに表示するレコードを限定するかどうかを選択してください。]とありますので、[特定のレコードを表示する]を選択して、[次へ]のボタンをクリックします。

既定では、[すべてのレコードを表示する]となっていますので、気をつけてください。

ここには、以下のように記されています。

たとえば、特定の社員や得意先に関するデータだけを表示するフォームを開くことができます。

[特定のレコードを表示する]を選択

参考ここで、[すべてのレコードを表示する]を選択してコマンドボタンを作成する方法については、以下の記事で解説しています。

コマンドボタンウィザードを使用したボタンの作成

Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...

続きを見る

フィールドの関連付け

関連付けるフィールドを指定します。これらのフィールドのデータが一致するレコードが抽出されます。]とあります。

[F_売上]の[商品ID]を選択します。[F_商品]の[商品ID]を選択します。

そして、中央にある[<->]ボタンをクリックします。

そうすると、[関連付けるフィールド]に[商品ID <-> 商品ID]と表示されます。

[次へ]のボタンをクリックします。

関連付けるフィールドを指定

ボタンに表示する文字列を入力

ボタンに表示する文字列またはピクチャを指定します。]とあります。

ここでは、[文字列]を選択します。テキストボックス内に任意の名前を入力します。

名前は、作成後でプロパティから変更できます。[次へ]のボタンをクリックします。

ボタンに表示する文字列を入力

参考[文字列]か[ピクチャ]を選択するようになっていますが、これは完成後にプロパティで変更できます。

文字列もピクチャも両方を表示することもできます。

ボタン名を指定

ボタン名を指定してください。]とありますので、分かりやすいボタン名を付けます。

ここでは、[商品フォームを開くボタン]としています。

[完了]ボタンをクリックします。

ボタン名を入力

[F_売上]の詳細領域に以下のようなボタンが作成できたと思います。

サイズや位置は、ドラッグで調整します。

デザインビューの詳細領域に作成されたボタン

ボタン操作の確認

フォームビューに切り替えて、ボタンをクリックした時の動作を確認します。

[商品フォームを開く]ボタンをクリックすると、[F_売上]フォームに表示されている[商品ID]と同じ商品の[F_商品]フォームが表示されると思います。

フォームビューでコマンドボタンの動作の確認

埋め込みマクロの編集

再度、[F_売上]をデザインビューで開いて、作成した[商品フォームを開くボタン]のプロパティを表示します。

参考プロパティシートは、[F4]キーで表示/非表示の切り替えができます。

クリック時イベントに[埋め込みマクロ]と表示されていると思います。

コマンドボタンウィザードで、埋め込みマクロを作成したわけです。

クリック時イベントの[埋め込みマクロ]

[埋め込みマクロ]を表示してみます。

[埋め込みマクロ]と表示されている右横の[...]ボタンをクリックします。

埋め込みマクロを開く

以下のような[マクロツール]画面が表示されます。

[コマンドボタンウィザード]で作成した内容が、だいたい分かりますね。

マクロのデザイン

ただ、[フォーム名]だけは、何だろう?という感じです。

ここは、[フォーム名]に直しておいた方が後々分かりやすいと思います。

アスキーコードが表示されたフォーム名

以下のように[F_商品]と入力します。

[フォーム名]は間違えないようにしてください。

参考[フォーム名]に表示されているコードを削除すると、右端に▼ボタンが現れると思いますので、そのボタンをクリックしてプルダウンメニューの中から、フォーム名を選んだ方がいいと思います。

[閉じる]ボタンをクリックして閉じます。

フォーム名を入力

メッセージウィンドウが表示されます。

[はい]をクリックします。

メッセージウィンドウ

参考コマンドボタンウィザードを使用したときの[埋め込みマクロ]については、以下の記事で解説しています。

コマンドボタンウィザードによるボタン作成後の[埋め込みマクロ]について

Accessでは、ウィザードを使用して簡単にボタンを作成することができます。 これについては、ウィザードを使ったコマンドボタンの作成で解説し ...

続きを見る

コマンドボタンのカスタマイズ

ボタンの背景色などを変更する方法は、以下の記事で解説しています。

フォームとレポートに[書式]タブが追加されプロパティの設定が増えた

Access2010では、フォームやレポートのデザインビューが大きく変わっています。 [デザインツール]タブに[書式]タブが追加されて、Of ...

続きを見る

コマンドボタンのスタイルも変更できます。

いろいろ楽しんでみてください。

コマンドボタンのスタイル変更

Accessのフォームでコマンドボタンを作成して、そのコマンドボタンのスタイルを変更する方法です。 [書式]タブの[クイックスタイル]や[図 ...

続きを見る

関連コマンドボタンウィザードを使用したボタン作成については、以下の記事でも解説しています。

[フォームを開く]ボタンを作成するときに、ウィザードで[すべてのレコードを表示する]を選択しています。

コマンドボタンウィザードを使用したボタンの作成

Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...

続きを見る

マクロを使ったコマンドボタンの作成方法については、以下の記事で解説しています。

独立マクロを作成してフォームを開くボタンを設置

Accessで作成済みのフォームを、ボタンをクリックして開くようにする方法です。 ここでは、独立マクロを作成してボタンに登録する方法を解説し ...

続きを見る

埋め込みマクロについては、以下の記事で解説しています。

ボタンをクリックしてフォームを開く(マクロビルダーで設定)

Accessで作成済みのフォームを、ボタンをクリックして開くようにする方法です。 ここでは、[ビルダーの選択]ダイアログボックスで[マクロビ ...

続きを見る

検索

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

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 10 & Office 2016 Access 2016

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

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