はじめに
在庫管理システムを構築していくなかで、マスタデータの修正をするためのフォームを模索していました。
当初はAccessのことをよく知らず、分割フォームのことを知って使い始めました。しかし不満があり、さらに調べた結果としてサブフォームを使うのが使いやすい、となりました。
-
-
簡易的にAccessデータベースで在庫管理システムを作成(サンプル付)
必要に迫られて簡易的な在庫管理システムを作りました。 在庫管理システムを作るにあたり、それはもう膨大な数のWebサイトを参考にしました。そのまま使えるAccessの在庫管理システムがあればいいのに、そ ...
続きを見る
分割フォームは簡単
【分割フォーム】はテーブルまたはクエリを選択しておき、【作成】タブの【その他のフォーム】、【分割フォーム】をクリックします。
これで、マスタができています。しかし、
分割フォームの気に入らない点
テキストボックスなど、項目によってサイズを変えたいのに、思い通りにいかなくてイライラします。最初はこれでいいか、と諦めていました。
また、分割フォームを閉じる方法として、VBAで「DoCmd.Close」がエラーになって、仕方なくマクロの「ウィンドウを閉じる」を使用していました。フォームを開く・閉じるに1個1個のマクロを作っていたのでは見づらいです。VBAで一括で作りたかったのです。
これらのことは私の知識不足かもしれません。「できるよ」と言う方もいらっしゃるかもしれません。しかしもう、分割フォームは使わないので、その知識も不要になりました。
サブフォームの作り方
まっさらのフォームのデザインにて、【デザイン】タブからサブフォームコントロールを選びます。【コントロールウィザードの使用】は有効にしておきましょう。
サブフォームウィザードで【既存のテーブルまたはクエリを使用する】のまま【次へ】
サブフォームに表示させたいテーブルまたはクエリを選び、「>」で個別フィールドか「>>」ですべてのフィールドを選択して【次へ】(【完了】でも良い)
サブフォームの名前を付けて【完了】
下半分にサブフォームを、上半分にテキストボックスをペコペコ配置します。
分割フォームではなく、サブフォームでマスタのフォームができます。次にテキストボックスのコントロールソースの割り当て方を説明します。
テキストボックスの【プロパティ】にて【…】をクリックします。
サブフォームのフィールドリストを選び、【式の値】で<値>をダブルクリックすると、テキストボックスにサブフォームのフィールドが割り当てられます。【OK】をクリックします。
分割フォームと違ってコツコツと退屈な作業になりますが、分割フォームより柔軟性があるフォームが作成できると思います。
サブフォームですと、項目をダブルクリックして別のフォームを開く、なんてこともできます。
-
-
サブフォームをダブルクリックして別のフォームに飛ぶ(Access)(サンプル付き)
はじめに 在庫管理システム⇩を作る過程で必要になったことです。 入出庫履歴から、該当の部品の在庫を知りたいとき、いちいちフォームを開き直すのが面倒なため、サブフォームをダブルクリックすることで、開きた ...
続きを見る
いろいろアレンジしてみてください。