Windows 8 & Office 2013 Access 2013

ボタンをクリックしてサブフォームのIDに関連づけられたフォームを表示する

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

サブフォームのIDで抽出するクエリを作成し、そのクエリをもとにフォームを作成します。

下のように[F_商品]フォームには[F_商品のサブフォーム]と名前が付いたサブフォームがあります。

このサブフォーム内のレコードを選択して、[修正フォームを開く]ボタンをクリックすると[F修正フォーム]を開くように作成します。

ボタンをクリックしてフォームを開く

参考サブフォームの作成については、以下の記事を参照してください。

サブフォームを含むフォームを簡単作成

Accessで1つのフォーム上に2つのテーブルの情報を表示して、同時に閲覧できると便利な場合があります。 たとえば、[得意先]テーブルと[受 ...

続きを見る

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

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

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

続きを見る

クエリの作成

サブフォームのIDを取得するクエリは、クエリの抽出条件に、以下のように入力して、このクエリを基に[F修正フォーム]を作成しています。

フォームのコントロールを参照するには、フォーム名のあとに[!](感嘆符)を付け、プロパティ名をつなぐときは[.](ドット)を付けます。

サブフォームを参照するときは、特殊なプロパティ[Form]を使用します。

[Forms]![F_商品]![F_商品のサブフォーム].[form]![ID]

クエリのデザインビュー

作成したクエリは、[Q_売上ID]と名前を付けて保存します。

クエリをもとに単票フォームを作成

クエリをもとに単票フォームを作成します。

フォームプロパティの[レコードソース]は[Q_売上ID]です。

プロパティの表示/非表示は、[F4]キーで切り替えられます。

フォーム名は、[F_修正]とします。

フォームのプロパティ

参考フォームの作成については、以下の記事で解説しています。ウィザードで作成する方法を解説しています。

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

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

続きを見る

サブフォームのレコードを選択して[修正]フォームを開く

フォーム[F_商品] をデザインビューで開いて、コマンドボタンを作成して、フォーム[F_修正]を開くようにします。

[デザイン]タブの[コントロール]グループにある[ボタン]を選択して、フォームヘッダーにボタンを作成します。

コマンドボタンの作成

ボタンのプロパティを表示して[クリック時]イベントの[ビルダー選択]ボタン[…]をクリックして、

[イベント]タブの[クリック時]のビルドボタン

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

ビルダーの選択-[マクロビルダー]

[マクロウィンドウ]が表示されます。

[新しいアクションの追加]で[フォームを開く]を選択します。

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

[新しいアクションの追加]で[フォームを開く]を選択

そして、[フォーム名]の▼ボタンをクリックして、[F_修正]を選択します。

[上書き保存]をクリックして、閉じます。

アクション[フォームを開く]

これで、[修正フォームを開く]ボタンをクリックして、フォーム[F_修正]を開けるようになります。

ボタンをクリックしてフォームを開く

データを更新

フォーム[F修正フォーム]でデータを更新したら、サブフォームのデータも更新したいですね。

閉じる時に、データが更新されるようにしてもいいですが、ここでは、フォーム[F修正フォーム]を開いたまま、データの更新が確認できるように、[更新]ボタンを作成します。

フォーム[F_修正]をデザインビューで開き、コマンドボタンを作成します。

標題は、[更新]とします。

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

[イベント]タブの[クリック時]で[マクロビルダー]を選択します。

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

[新しいアクションの追加]で[再クエリ]を選択します。

一番下までスクロールすると、見つけられます。

[コントロール名]は空白のままでOKです。

[上書き保存]をクリックして、閉じます。

[再クエリ]を選択

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

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

参考[ビルダーの選択]ダイアログボックスで[コードビルダー]を選択するのであれば、

ビルダーの選択-[コードビルダー]

以下のように入力します。マクロビルダーで設定しても、コードビルダーで設定しても同じです。

Docmd.Requery

フォームで動作を確認します。

関連サブフォーム関連のページです。

オプションボタンでサブフォームに表示するデータを切り替えるには

オプションボタンでサブフォームのソースオブジェクトを変更する方法です。 下のようなオプショングループを設置して、サブフォームを組み込んだフォ ...

続きを見る

検索

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

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 8 & Office 2013 Access 2013

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

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