過去の桐井戸端BBS (桐ver.9)
18959 データの内容によって保存したりしなかったりする一括処理をフォームのコマンドボタンに貼り付けたい 好子 2003/02/15-10:00
一括処理で質問します。
ご指導くださいませ。

入力用の表から、保存用の表へ保存する処理を一括でつくってフォームのコマンドボタンに貼り付けてます。

●表が空であれば、メニュフォームへ戻る
●表にはデータがあるが、伝票番号が#未定義であれば、入力フォームへ戻る
●表にはデータがあり、伝票番号が正常に入力した全伝票に入っていれば保存する。

このような一括処理を作りたいのですがよろしくご指導ください。
18965 確認事項>一括処理 佐田 守弘 2003/02/15-18:35
記事番号18959へのコメント
好子さん
書かれている内容だけでは答えられない部分があるので先に確認させて戴きます。
1)使用している桐のバージョン
2)「一括処理で」と書かれていますが、一括からメニューフォームを呼び出している方式でしょうか。イベントではだめですか?
3)伝票番号の未定義
入力用の表から保存用の表に書き出すときの対象レコード数は1つだけですか?
それとも複数件入力した後に、それら複数件のデータ中に1件でも
伝票番号未定義のものがあるかをチェックするのでしょうか。
4)書き出しを行った後、入力表のデータをどのように処理するのか

それから、実際の一括処理ないしイベントハンドラのプログラムは、
表やフォームなどのデータを見ておりませんから、
そのまま動くものを提示する事はできません。

対象レコードが複数あるとの前提で、ひとまず今の段階で分かる事だけをコメントします。
伝票番号の判定で処理を分岐する部分は次の様になります。
(使用する変数を宣言するコマンドは入れてありません。一括処理の
先頭などで適宜定義しておいて下さい。
=======================================
ジャンプ 行番号=先頭
ケース開始
 ケース (#終端行) -------------(A)
 ケース その他
  絞り込み [<伝票番号の項目>]=#未定義
  ケース開始
   ケース(#終端行) -------------(B)
    解除 *
    書き出し 表,<保存表名>,追加,{<書き出し項目のリスト>}
  ケース その他 -------------(C)
    フォーム呼び出し <編集用フォーム名>
  ケース終了
ケース終了
=======================================
【説明】
(A)先頭行にジャンプして、その行が終端行の時は、データがない場合です。何もせずにそのまま終わります。
(B)伝票番号が未定義のデータを絞り込んだ時に、終端行であれば未定義のデータはない事になるので、解除して書き出しを行います。
(C)そうでない場合には、未定義データが絞り込まれているので、そのまま編集のフォームを呼び出して編集を行います。

いずれの場合も、これらの処理が終わってからどうするかは、
質問の文面からは分からないので、この部分は書いてありません。

佐田守弘(KS-00119)


18974 Re:確認事項>一括処理 田崎純哉 2003/02/16-00:33
記事番号18965へのコメント
佐田 守弘さん、早々にありがとうございます。
今の一括処理を掲示します。

-------------------------------------------------------------
*売上データ保存処理

変数宣言 固有,文字列,{&売上,&売上マスター}
変数宣言 固有,数値,{&確認}

&売上=&system+"uriage.tbl"
&売上マスター=&Mpas+"売上マスター.tbl"


表  &売上
ケース開始
 ケース(#空ファイル)
   表
 ケース(.not#空ファイル)
   確認 "売上データを保存しますか? (Enter:保存 ESC:中止)",&確認
    ケース開始
     ケース(&確認=1)
      表
      表  &売上マスター,モード=共有更新
      並べ替え {[年月日],[伝票番号]昇順}
      ジャンプ 行番号=最終
      読み込み 表,&売上,*
      表
*--------------------- 不要なデータ削除
      表  &売上,モード=共有更新
      行削除 *
*---------------------- 処理完了
     確認 "売上データの保存が完了しました。"
   ケース(&確認=0)
    表
  ケース終了
ケース終了 


----------------------------------------------------------------
この一括処理に、先に書きました、伝票番号が#未定義であれば
再度、売上.wfmを開いて伝票番号を入力するようにしたいのです。
よろしくお願いします。
18977 Re:確認事項>一括処理 佐田 守弘 2003/02/16-00:51
記事番号18974へのコメント
田崎純哉さん

●伝票番号の未定義があるかどうかの判断と分岐
 > ケース(.not#空ファイル)
 >   確認 "売上データを保存しますか? (Enter:保存 ESC:中止)",&確認
のケースコマンド(空ファイルでない場合)の次に、もう1つケースコマンドを入れて、
前回提示した様な処理、つまり[伝票番号]{=#未定義}での絞り込みを行い、
未定義のレコードがあるかどうかで処理を分けて下さい。

●もう一度編集画面のフォームを開く
通常入力している方法で開くので構わないと思いますが。
なお、この様な形で一括処理からフォームを開く場合、
通常は、ウィンドウ作成とウィンドウ会話コマンドを使って開くのが一般的かも知れません。
試してはおりませんが、フォーム呼び出しで開く方法もあるかも知れません。

佐田守弘(KS-00119)

戻る