#442 サブフォームの合計値をメインフォームに表示するには? フォーム

メイン/サブフォーム構成のフォームにおいて、サブフォーム上に表示されている、あるフィールドの合計値をメインフォーム上のテキストボックスに表示させる方法です。
  1. まず、ふつうにサブフォームを作成します。

  2. フォームフッターセクションに、合計値を表示させるためのテキストボックスを配置し、その"コントロールソース"プロパティに「=Sum([数量])」のような式を設定します。ここでは「数量」フィールドの値を合計するものとし、またそのテキストボックスの名前を"合計"とします。
    サブフォームのデザインビュー

  3. 次にメインフォームを作成、上記のサブフォームや、こちらにも合計値を表示させるテキストボックスを配置します。
    メインフォームのデザインビュー

  4. そのテキストボックスには、"コントロールソース"プロパティに「=受注明細_sub!合計」のような式を設定します。ここで、"受注明細_sub"はサブフォームコントロールの名前、"合計"はサブフォームのフォームフッターに配置した合計表示用のテキストボックスの名前です。つまり、サブフォーム上で計算された結果をそのままメインフォーム側にも表示させることになります。

  5. ここで、メインフォームのフォームビューを表示して、合計値が正しく表示されていることを確認します。サブフォームの合計のテキストボックスとメインフォームの合計のテキストボックスの値が同じであることを確認します。
    この状態の実行結果

  6. 最後に、サブフォームに戻って、先ほどの合計表示用のテキストボックスを見えない状態に設定します。それには、"可視"プロパティを"いいえ"に設定、またフォームフッターセクションも含めて高さをゼロにします。要するに、サブフォーム側の合計欄は見えないので、計算さえ行われれば書式などは何でもよいことになります。
    サブフォームのデザインビュー
    ※ただしサブフォームが"データシートビュー"になっている場合には、フォームフッターセクション上のコントロールは実行時に表示されませんので、特にその設定を行う必要はありません。

  7. ここでもう一度メインフォームを表示すると、次のようになります。
    実行結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved