パソコン、スマホ関係での格闘記

めいあんのIT格闘記

Access

分割フォームをやめてサブフォームを採用する(Access)




分割フォームをやめてサブフォームを採用する(Access)

はじめに

在庫管理システムを構築していくなかで、マスタデータの修正をするためのフォームを模索していました。

当初はAccessのことをよく知らず、分割フォームのことを知って使い始めました。しかし不満があり、さらに調べた結果としてサブフォームを使うのが使いやすい、となりました。

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

必要に迫られて簡易的な在庫管理システムを作りました。 在庫管理システムを作るにあたり、それはもう膨大な数のWebサイトを参考にしました。そのまま使えるAccessの在庫管理システムがあればいいのに、そ ...

続きを見る

分割フォームは簡単

【分割フォーム】はテーブルまたはクエリを選択しておき、【作成】タブの【その他のフォーム】、【分割フォーム】をクリックします。

分割フォームの作成方法

分割フォームをやめてサブフォームを採用する(Access)

これで、マスタができています。しかし、

分割フォームの気に入らない点

テキストボックスなど、項目によってサイズを変えたいのに、思い通りにいかなくてイライラします。最初はこれでいいか、と諦めていました。

また、分割フォームを閉じる方法として、VBAで「DoCmd.Close」がエラーになって、仕方なくマクロの「ウィンドウを閉じる」を使用していました。フォームを開く・閉じるに1個1個のマクロを作っていたのでは見づらいです。VBAで一括で作りたかったのです。

これらのことは私の知識不足かもしれません。「できるよ」と言う方もいらっしゃるかもしれません。しかしもう、分割フォームは使わないので、その知識も不要になりました。




分割フォームをやめてサブフォームを採用する(Access)

サブフォームの作り方

まっさらのフォームのデザインにて、【デザイン】タブからサブフォームコントロールを選びます。【コントロールウィザードの使用】は有効にしておきましょう。

サブフォームの配置の仕方1

サブフォームウィザードで【既存のテーブルまたはクエリを使用する】のまま【次へ】

サブフォームの配置の仕方2

サブフォームに表示させたいテーブルまたはクエリを選び、「>」で個別フィールドか「>>」ですべてのフィールドを選択して【次へ】(【完了】でも良い)

サブフォームの配置の仕方3

サブフォームの名前を付けて【完了】

サブフォームの配置の仕方4

下半分にサブフォームを、上半分にテキストボックスをペコペコ配置します。

分割フォームではなく、サブフォームでマスタのフォームができます。次にテキストボックスのコントロールソースの割り当て方を説明します。

サブフォームの作成後

テキストボックスの【プロパティ】にて【…】をクリックします。

サブフォームでのテキストボックスのプロパティ-コントロールソース

サブフォームのフィールドリストを選び、【式の値】で<値>をダブルクリックすると、テキストボックスにサブフォームのフィールドが割り当てられます。【OK】をクリックします。

サブフォームでのテキストボックスのプロパティ

分割フォームと違ってコツコツと退屈な作業になりますが、分割フォームより柔軟性があるフォームが作成できると思います。

サブフォームですと、項目をダブルクリックして別のフォームを開く、なんてこともできます。

あわせて読みたい
サブフォームに表示のテーブル内容を更新する
サブフォームをダブルクリックして別のフォームに飛ぶ(Access)(サンプル付き)

はじめに 在庫管理システム⇩を作る過程で必要になったことです。 入出庫履歴から、該当の部品の在庫を知りたいとき、いちいちフォームを開き直すのが面倒なため、サブフォームをダブルクリックすることで、開きた ...

続きを見る

いろいろアレンジしてみてください。

-Access
-,

© 2020 めいあんのIT格闘記

© 2020 めいあんのIT格闘記