この人頭いいなと思ったエピソード

OS:XP ACCESS2003
フォームに金額の明細があるサブフォームを3つ貼り付けています。各サブフォームの金額の合計は、フッターに=Sum([金額])で表示されます。(金額入力毎に足されます)
メインフォームの金額欄に、この3つの合計を金額が追加されたごとに出したいのですが、よくわかりません。
よろしくお願いします。

A 回答 (5件)

>サブフォームの金額が追加(=サブフォームのSUM([金額])足されていく)


>されると同時にメインフォームの金額が増えていく、という事を考えています。
>メインフォームの金額はクエリー経由のテーブルをコントロールソースにしています。
まだちょっと意味を把握していませんが・・
メインフォームのレコードソースとしているクエリにサブフォームのレコードソースの金額を合計するフィールドもあるのですか?メインフォームのクエリの金額が何の金額を表示しているのでしょうか?
メインフォームのクエリ内にサブフォームで入力するテーブルの金額を合計するフィールドがあるなら各サブフォームのレコード移動時のイベントに
Forms![メインフォーム名].Form.Requery
とすればサブフォームに入力後他のレコードに移る際にメインフォームをRequeryし金額のフィールドを再計算してくれます。
    • good
    • 0
この回答へのお礼

大変参考になりました。ありがとうございました。一部まだうまくいきませんが、じっくり考えてみます。

お礼日時:2006/04/11 10:21

メインフォームに非連結のテキストボックスを配置しプロパティのコントロールソースに


=[サブフォーム1].Form!合計1+[サブフォーム2].Form!合計2+[サブフォーム3].Form!合計3
とすれば表示できます。
サブフォーム1~3と合計1~3は使っているサブフォームと合計を表示しているサブフォームのコントロール名に変更してください。
>メインフォームの金額はクエリー経由のテーブルをコントロールソースにしています。
補足に上記がありましたがメインフォームの金額とは別にサブフォームの合計金額を表示するテキストボックスを配置すれば出来ます。
それともメインフォームの金額にサブフォームの合計を表示したいという事ですか。

この回答への補足

>それともメインフォームの金額にサブフォームの合計を表示したいという事ですか。
はい。サブフォームの金額が追加(=サブフォームのSUM([金額])足されていく)されると同時にメインフォームの金額が増えていく、という事を考えています。

補足日時:2006/04/03 11:29
    • good
    • 0

金額は連結コントロールなんですか


だったら、非連結のコントロールに前回のようにして求めた値を
何らかのイベントで代入してやるしかないですね

サブフォームの更新後イベント当たりがいいかな
    • good
    • 0

サブフォームのフッターに置いたテキストボックスの値を参照するには下のような式を使います



=サブフォーム1.Form!テキスト名 + サブフォーム2.Form!テキスト名 + サブフォーム3.Form!テキスト名

この回答への補足

メインフォームの金額はクエリー経由のテーブルをコントロールソースにしています。メインフォームの「金額」テキストボックスのコントロールソースに上記の式を当てはめられません。どのプロパティとか、なにか別の方法とかありますか。たびたびすいません。

補足日時:2006/03/31 14:51
    • good
    • 0
この回答へのお礼

基本的な事まですいません。ありがとうございました。

お礼日時:2006/04/11 10:23

メインに表示するにはサブフォームを集計すればいいです。


ただし、カーソルの制御が問題になると思います。
下手をすると、カーソルがメインから入力中のサブフォームの先頭に戻るでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報