Access

サブフォームをダブルクリックして別のフォームに飛ぶ(Access)(サンプル付き)

2019年10月3日

在庫管理システム⇩を作る過程で必要になったことです。

あわせて読みたい
めいあんのIT格闘記
簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)

必要に迫られてAccessにて在庫管理・在庫検索・入出庫処理・入出庫履歴・在庫転送・単位変換、マスターデータの修正等々を装備したデータベースを構築しました。フォーム(分割フォームやサブフォーム)・クエリ・VBAを使っています。

続きを見る

入出庫履歴から、該当の部品の在庫を知りたいとき、いちいちフォームを開き直すのが面倒なため、サブフォームをダブルクリックすることで、開きたい別のフォームに飛ぶということをやりました。

あるフォームにサブフォームコントロールを配置して、項目をダブルクリックすることによって他のフォームのテキストボックスに値を渡すVBA記述です。

サンプル追加

2020年6月2日:ごく簡単なサンプルを作成し、ダウンロードできるようにしました。

概要

上記の在庫管理システムでは、「入出庫履歴のサブフォーム」から該当の「部品型式」の列でダブルクリックすると、「在庫検索フォーム」へ飛ぶようになっています。

サブフォームに表示のテーブル内容を更新する

この場合、フォームのデザインから、サブフォームの中の「部品型式」のテキストボックスを選び、【プロパティシート】を開きます。【イベント】タブの【ダブルクリック時】にて【イベントプロシージャ】を選択し、右横の【…】ボタンをクリックしますとVBエディタが開きます。

サブフォームから別のフォームへ飛ぶ 2

VBAのコードを書きます。

「F_在庫検索」と言う名のフォームに「Q_集計のサブフォーム」があります。フォームには「txt_部品型式」というテキストボックスがあり、「F_入出庫履歴」にあるサブフォームの部品型式の所(「Me!部品型式」)でダブルクリックすると、「F_在庫検索」フォームを開いて、そのフォームにある「Q_集計のサブフォーム」を再クエリをするという構成になっています。

この記述だけでわからなければ、「在庫管理システム」にAccessサンプルがありますので、ダウンロードして中身を見てみてください。

フォーム「F_在庫検索」は⇩のようになっています。

在庫検索
在庫検索
サブフォームをダブルクリックして別のフォームに飛ぶ(Access)(サンプル付き)

サンプルダウンロード

フォーム1にサブフォームを作成し、フィールド1でダブルクリックすると、同じフォーム内の右横のテキストボックスに情報を渡すサンプルを作りました。

ファイルを最初に開く際に「コンテンツの有効化」をクリックしてください。

コンテンツの有効化

拡張子を.mdbにしてあります。Access2002以降で開けると思います。

ダウンロードはこちら

最後に

これをやりたくて、結構ググりましたが、なかなかみつからずに苦労した部分です。

誰かの参考になれば幸いです。

-Access
-

Please disable your adblocker or whitelist this site!