過去の桐井戸端BBS (桐ver.9)
22902 サブフォームのフッタの合計額をメインフォームのテキストボックスに表示したい おさる 2003/10/20-21:11
伝票番号を主キーにしたA.tblを、メインフォームの対象表にしたメインフォームがあります。
伝票番号をリンク項目にしたサブフォームがあります。
サブフォームのフッタに明細の合計額をフォーム上だけに表示してあります。
そこで、その合計額をメインフォーム上のテキストボックスに表示したいのですが
どうすればよいのでしょうか?
よろしくお願いします。
22903 Re:サブの明細合計をメインに反映させる 悲しげ 2003/10/20-22:05
記事番号22902へのコメント
どもっ、おさるさん
これはイベントを少々駆使する必要があったと記憶します。
例えば
http://www.fuku3.com/~habata/kbbs/kakov8/04330.htm
http://www.fuku3.com/~habata/kbbs/kakov9/18468.htm

22905 Re:サブフォームの値参照について 佐田 守弘 2003/10/21-01:18
記事番号22902へのコメント
おさるさん
サブフォーム上の集計オブジェクトで合計値を計算しているわけですが、ここでこの合計値を何か適当な変数に代入します。

仮にこれを「&合計」とすれば、集計オブジェクトには、
#代入(&合計,#合計[金額])  ←[金額]は実際の項目名に合わせる。
と記載すれば、&合計に合計値が代入されます。

従って、メインフォームの方でこの変数をソースとするテキストオブジェクトを作れば、合計額が表示されるはずです。

ただし、タイミング的な問題でうまく行かない場合には、グループ移動イベントなどを拾って、
変数変更メソッド、描画更新メソッドで表示する変数値を更新する必要があるかも知れません。

佐田守弘(KS-00119)
22910 Re:サブフォームの値参照について うにん 2003/10/21-12:37
記事番号22902へのコメント

>サブフォームのフッタに明細の合計額をフォーム上だけに表示してあります。
>そこで、その合計額をメインフォーム上のテキストボックスに表示したいのですが
>どうすればよいのでしょうか?

合計額だけを表示するサブフォームをもう1つ作って、テキストボックスの代りに配置するってのはできませんかね?

22911 Re:サブフォームの値参照について アックン 2003/10/21-17:03
記事番号22902へのコメント
おさるさん、こんにちは。
1. 合計額を表示するだけでいいのでしたら、佐田さんの回答のとおりで、リアルタイムに表示します。
例:
メインフォーム:テキスト @t合計額 のソース:&秒
サブフォーム:フッタのグループ項目 @u合計 のソース:#set(秒,#合計([合計]))

2. もし、合計値をメインフォームの編集対象表の項目に書き込もうとすると、
この変数を使う方法ではタイミングが遅くなってしまうので、悲しげさんが過去ログに書いた方法を使うことになると思います。

で、こここから先は悲しげさんへ> 過去ログ拝見
もしサブフォームのフッタのソースに #合計([合計]) として合計額を表示していれば、
ソース値更新イベントなしでいけるはずです。(下記イベント例)
それはそれとして、行削除を「やり直し」したら破綻するのを、どうすりゃよかったか覚えてます?
あたしゃ思い出せないっす。(^^;
(って、これ、別のスレたてた方がいいの?)

メインフォーム:@t合計額のソース:[合計額]
        編集対象表の[合計額]:項目計算式なし
サブフォーム :@u合計額のソース:#合計([合計])

/* 以下はサブフォームのイベント */
proc フォーム::行削除終了(長整数 &削除結果)
 call 合計額をメインに表示()
end
proc フォーム::行訂正終了(長整数 &明細番号,長整数 &モード)
 call 合計額をメインに表示()
end
proc フォーム::行挿入終了(長整数 &明細番号,長整数 &モード)
 call 合計額をメインに表示()
end
proc 合計額をメインに表示()
 method @u合計額.グループソース値取得( &時 , 0 )
 編集表 "メイン.tbl"
 行訂正 終了状態 = &分 , [合計額] = &時
 編集表 "サブ.tbl"
end
     アックン(=^・^=)
22913 Re:サブフォームの値参照について アックン 2003/10/21-18:36
記事番号22911へのコメント
>それはそれとして、行削除を「やり直し」したら破綻するのを、どうすりゃよかった
>か覚えてます?あたしゃ思い出せないっす。(^^;
 ようやく思い出しました。(^^; レコード移動イベントでござった。
22918 Re:サブフォームの値参照について おさる 2003/10/21-22:40
記事番号22902へのコメント
早速のご返答有り難うございました。
かなり面倒ですね。
いままでMS.Accessを使っていたので、どうしてもAccessの感覚で考えてしまうようです。
Accessではフォーム上だけのオブジェクトを指定するだけで可能だったので、
もっと簡単にできると思ってました。根本的に考え方が違うのですね。
桐にはAccessにはない#直前値のような関数があるし、なんといってもレポートの罫線を自由に描けるのがいいですね。
桐はまだまだ初心者なので、いろいろ試しながらやってみます。
これからもよろしくお願いします。有り難うございました。


戻る