単票フォームを開いているときに、その中のフィールドについて詳細を知りたいということがあります。
例えば、売上の単票フォームがあって、その売上単票フォームに表示されている商品について、商品の内容を別フォームで表示させたいという場合があると思います。
売上フォームと商品フォームに整合性のあるフィールドがあれば、コマンドボタンウィザードを使って簡単にボタン作成できます。
参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
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で作成済みのフォームを、ボタンをクリックして開くようにする方法です。 ここでは、[ビルダーの選択]ダイアログボックスで[マクロビ ...