過去の桐井戸端BBS (桐ver.9)
20144 レポート印刷で印刷の都度計算式で計算された値が印刷されるようにしたい 山田 2003/04/25-15:13
毎度お世話になります。

次のような表があります。
   [入出金区分]、[項目名]、[金額]

これをレポートで下記のように印刷しています。

項  目       金額

収入の部      
 **収入
 **収入
  収入合計(A)
支出の部
 **支出
 **支出
  支出合計(B)
   収支差額(C)=A-B
   前期繰越金(D)
   次期繰越金(E)=C+D
(C)以下については、フッター部へ別途計算した値を印刷の都度文字列としてお手手メーションで入力しています。

しかしこの内(D)については固定金額ですからよいのですが、
(C)および(E)については、印刷の都度上記の計算式で計算された値が印刷されればと思うのですが、
その方法が分かりません。

(これら3つの項目をフッター部で印刷しているのは、
そうするしか方法が分からないからです。)
よろしくお願いします。
20158 レポートの中で計算式を使います。 佐田 守弘 2003/04/27-11:32
記事番号20144へのコメント
山田さん
かなりの高等手段になりますが、レポートの中に計算式を隠し込み、
印刷させながら値を変数に代入したり、変数どうしの計算を行って
印刷する方法を試してみて下さい。

●始めに確認
通常、この種のデータは、収入と支出とで別項目にするものと考えます。
1つの[金額]に収入も支出も記載してあるとすると、[入出金区分]には、
「収入」と「支出」の値を持たせ、この値で集計しているという事なのでしょうか。
以下は、そうであると仮定して話を進めます。

●使用する変数
質問の様な事を実現するには、集計結果を変数に代入しておき、
この変数を使って、その後の計算結果を印刷に使う様な事を行います。
使用する変数ですが、一括処理ないしイベントを併用するのであれば、
これらの中で変数を宣言しておく事ができます。

レポート単体で使用する時には、変数を宣言しておく場所がありません。
そこで、組込変数の中から適当なものを流用します。
組込変数の&年、&月、&日、&時、&分、&秒などは数値型ですから、
これらが利用できます。
ここでは、収入合計に&分、支出合計に&秒を使う事にします。

●集計結果を変数に代入する
冒頭に書いた前提で考えると、「収入合計(A)」および「支出合計(B)」は
1つの集計オブジェクトで求めていると推定されます。

この集計オブジェクトには、おそらく「#合計(金額)」と記載されていると思います。
この部分を以下の様に書き換えて下さい。
#計算(#代入(&時,#合計([金額]))
   ,#条件選択([入出金区分]="収入",#代入(&分,&時))
        ,[入出金区分]="支出",#代入(&秒,&時))
   ,&時)

これで&分に収入合計、&秒に支出合計が集計されるはずです。
なお、以上は収入合計と支出合計は1回だけ印刷する前提で考えております。
これを何回も繰り返す場合には、以下の様に改造して下さい。

・ヘッダ部
先頭にテキストオブジェクトを設け、ここに
#計算(#代入(&分,0),#代入(&秒,0),#未定義)
を設定して下さい。これはこれらの変数に初期値として0を入力する操作です。

・上記の計算式
「#代入(&分,&時)」の部分を#代入(&分,&分+&時)の様にして下さい。
これで前回の合計に加算されます。

佐田守弘(KS-00119)
20169 Re:できました 山田 2003/04/28-13:56
記事番号20158へのコメント
お教えのとおりにしました。できました。ありがとうございます。

#計算など使ったことがなかったので、佐田さんの御本 桐5関数編を引っ張り出して
この関数の使い方を改めて勉強しました。分かりました。
だいぶ応用が利きそうです。

戻る