過去の桐井戸端BBS (桐ver.7)
16595 一括処理の最終行あたりでエラーメッセージが出て桐が強制終了してしまいます ふーすけ 2002/07/15-15:26
まだ一括処理の書き方がよくわからないのですが、
下記のような一括処理を創りました。
収入のtblと支出のtblを併合して差引残高を計算させようと思ったものです。
通帳整理簿のフォームにコマンドボタンとして登録しましたが、
最終行あたりで次のようなメッセージが出されて強制終了してしまいます。 
「kiriが原因でCMDCMN.DLLにエラーが発生しました。kiriは終了します。」
「kiriが原因でMFC42.DLLにエラーが発生しました。kiriは終了します。」
どこが悪いのでしょうか? どなたか教えてください (桐v7使用)

*********************************
使用表  収入調停.tbl  支出起票.tbl 預金通帳整理簿.tbl(収入調停.tbl 
     と支出起票.tblを併合させ差引残高を計算させるtbl)
使用フォーム 通帳整理簿一覧.wfm(伝票形式)
********************************* 


以下が作成した一括処理です

**********************************
変数宣言 整数{&終了,&終了1,&終了2,&end}
条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態)
 グループ選択解除
 絞り込み解除 *
  確認 "預金通帳整理簿を更新します  (RET:はい ESC:いいえ)",&終了
  条件 (&終了=0) 手続き実行 終了
*  行削除 *,終了状態=&end
*  表整理 余白割合=0
  併合 条件名="収入調定票併合",終了状態=&終了1
  併合 条件名="支出票併合",終了状態=&終了2
  確認 "続けて差引残高の計算をします  (RET:はい ESC:いいえ)",&終了
 ケース開始
  ケース (&終了=0),終了
  ケース (&終了=1)
   絞り込み 条件名="通帳月日あり"
   並べ替え 条件名="月日・目節順"
   置換 終了状態=&end,[差引残高]=#COND(#直前値([差引残高],[収入金額])
=[収入金額],[収入金額],1,#直前値([差引残高],[収入金額])+[収入金額]-[支出
金額])
   条件 (&end=1) 手続き実行 終了
 ケース終了
名札 終了
変数削除 *
解除

***************** よろしくお願いします *****************

16619 Re:桐が強制終了してしまいます jyuuyuu_2 2002/07/16-19:19
記事番号16595へのコメント
ふーすけ さん こんばんは  jyuuyuu_2といいます
コメントが入らないので、未熟ですが・・・

行ナンバーは必要ありませんが、説明の為入れました

==================================================================
1 変数宣言 整数{&終了,&終了1,&終了2,&end}
2 条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態)
3  グループ選択解除
4  絞り込み解除 *
5   確認 "預金通帳整理簿を更新します  (RET:はい ESC:いいえ)",&終了
6   条件 (&終了=0) 手続き実行 終了
7 *  行削除 *,終了状態=&end
8 *  表整理 余白割合=0
9   併合 条件名="収入調定票併合",終了状態=&終了1
10   併合 条件名="支出票併合",終了状態=&終了2
11   確認 "続けて差引残高の計算をします  (RET:はい ESC:いいえ)",&終了
12 ケース開始
13   ケース (&終了=0),終了
14   ケース (&終了=1)
15    絞り込み 条件名="通帳月日あり"
16  並べ替え 条件名="月日・目節順"
17    置換 終了状態=&end,[差引残高]=#COND(#直前値([差引残高],[収入金額])
=[収入金額],[収入金額],1,#直前値([差引残高],[収入金額])+[収入金額]-[支
出 金額])
18   条件 (&end=1) 手続き実行 終了
19  ケース終了
20  終了
21 変数削除 *
22 解除
===============================================================

a) 預金通帳整理簿.tbl を開く コマンドが抜けてる
b) 13、14行 は不要  11.5行で 条件 (&終了=0) 手続き実行 終了
c) 17行の意図が解らない?  

等々で アルゴリズム自体を考え直した方が良いように思える

そこで
イ)預金通帳整理簿.tbl の [差引残高]は 計算式を設定する
ロ)収入調停.tbl に 支出起票.tbl を併合する
ハ)併合された 収入調停.tbl を日付順に並び替える
ニ)その表を預金通帳整理簿.tbl に追加書き出しする。
のような一括処理を作成する方がすっきりするように、思えるが実際に作ってみなければ解りませんが??

ヒントになれば・・・・・

的はずれだったら、ごめんなさい。


16663 Re:桐が強制終了してしまいます ふーすけ 2002/07/19-20:01
記事番号16619へのコメント
jyuuyuu_2さん ありがとうございます
桐を使ってる年数はそこそこいってるのですが、
一括処理を書くようになってまだ日が浅いため基本的なことも完璧に理解してるとは言い難い状況です
今後ともご指導下されば幸いです
尚、17〜19日まで出張のため不在でしたので今拝見させて頂きました
早速ご指導を元に再挑戦してみます ありがとうございました

戻る