過去の桐井戸端BBS (桐ver.9)
22053 一括処理で繰り返しから抜け出すことができない 村瀬幸雄 2003/08/27-23:54
またまたご指導ください。
よろしくお願いいたします。
下記の一括処理ですが、繰り返しから抜け出せません。
よろしくお願いいたします。
*-----------------------------------------------

表  &出荷印刷作業,表番号=12
表  &出荷作業2,表番号=10
並べ替え {[枝番]昇順}
ジャンプ 行番号=先頭
繰り返し(.not#終端行)
確認 "行番号は"+#STR(#行番号)+"枝番は"+#STR(&枝番)
  &伝番=[伝票番号]
  &枝番=[枝番]
  &品番=[品番]
  &色番=[色番]
  絞り込み [伝票番号]&伝番
  絞り込み [枝番]&枝番
  絞り込み [品番]&品番
  絞り込み [色番]&色番
  編集表 12
  置換 [並順]=#表引き([伝票番号],=,&出荷合計,[伝票番号],[並順]),[No]=#連番
  並べ替え {[並順]昇順}
  絞り込み [伝票番号]&伝番
  絞り込み [枝番]&枝番
  絞り込み [品番]&品番
  絞り込み [色番]&色番
  ジャンプ 行番号=最終
  &No2=[No2]
  絞り込み [No2]&No2
  併合  &出荷作業2, 置換, {[伝票番号]照合[伝票番号],[枝番]照合[枝番],[反合計]複写[数量],[数量合計]複写[合計数量M]}
  置換  [データ7]=#文字列([反合計]),[データ8]=#文字列([数量合計])
  絞り込み解除 *
  編集表 10
  絞り込み解除 *
  ジャンプ 行番号=次行
繰り返し終了


22054 Re:またまた登場です。 うにん 2003/08/28-00:18
記事番号22053へのコメント
何をしたいのかがいまいちわからないのですが、

>  絞り込み [枝番]&枝番

ループの中でこの絞込みをするということは、同じ[枝番]の行が複数あるのでしょうか?
もしそうなら、他の方もおっしゃるように、ループの最後で

>  絞り込み解除 *

した時点で処理対象が先頭行に戻ってしまいますので、

>  ジャンプ 行番号=次行

では同じ[枝番]を何度も処理してしまってループから抜けられません。
前回の私の投稿のように変数を使ってジャンプでなく検索して未処理の行に移動するなりしないと。
一括処理だけではどういうデータなのかわからないので最善の方法がわかりません。
一括処理を上げるより、項目と、やりたい処理の説明をした方がいいのでは?

22055 Re:またまた登場です。 村瀬幸雄 2003/08/28-00:30
記事番号22054へのコメント
うにんさん、ありがとうございます。
少々頭が疲労困憊で、ボーとしています。
すみません。

>  *&枝番=&枝番+1
>  検索 [枝番]>&枝番
これは前回、ご指導いただいた一括なのですが

検索のところを、ジャンプではいけないのでしょうか?

22056 Re:またまた登場です。 たかし 2003/08/28-08:27
記事番号22053へのコメント
村瀬幸雄さん お願いします。

この板の一番下、管理人さんからの
[書き込みに際してのお願い]を再度読まれて下さい。

過去ログを利用する多くの方々のためにも > all

どしどしと投稿はなさって下さるようにお願いします。

22057 Re:またまた登場です。 うにん 2003/08/28-09:28
記事番号22055へのコメント
>>  *&枝番=&枝番+1
>>  検索 [枝番]>&枝番
>これは前回、ご指導いただいた一括なのですが

この検索の意味は、「処理した&枝番より大きい[枝番]の行に移動する」です。
見つからなければ終端行に移動するので繰り返しが終了します。
見つかったら次の繰り返しになり、見つかった行の[枝番]が&枝番に入ります。

>検索のところを、ジャンプではいけないのでしょうか?

ジャンプだと、前回の一括処理では「ジャンプ 行番号=&枝番」でしたが、
これは「&枝番行目に移動する」の意味になります。データによって動作が変わります。
処理データの[枝番]が全部1だとすると、1行目が終わって
2行目の処理に入った時また&枝番が1になるので繰り返しが終了しません。

今回のジャンプは次行へなので、

  編集表 10
  絞り込み解除 *
  ジャンプ 行番号=次行
繰り返し終了

編集表10に2行以上あれば常に2行目にジャンプするだけですから絶対
繰り返しが終了しません。

22058 Re:またまた登場です。 今村 誠 2003/08/28-09:52
記事番号22057へのコメント
村瀬幸雄さんこんにちは、同じ話題は、同じスレッド(ツリー)でないと管理人さんに負担がかかります。
疑問がありましたので投稿しました。


表  &出荷印刷作業,表番号=12
*ここに疑問1と疑問2を移動したらいけないのですか*
表  &出荷作業2,表番号=10
並べ替え {[枝番]昇順}
ジャンプ 行番号=先頭
繰り返し(.not #終端行)
確認 "行番号は"+#STR(#行番号)+"枝番は"+#STR(&枝番),&秒
条件 (&秒=0) 繰り返し終了
  &伝番=[伝票番号],&枝番=[枝番],&品番=[品番],&色番=[色番]
  絞り込み [伝票番号]{&伝番,[枝番]=&枝番,[品番]=&品番,[色番]=&色番}\
       ,文字比較方法=自動,部分一致検索=しない
  編集表 12
  置換 [並順]=#表引き([伝票番号],=,&出荷合計,[伝票番号],[並順])\
     ,[No]=#連番
*疑問1 何故毎回置換するのですか?
  並べ替え {[並順]昇順}
*疑問2 何故毎回並び替えるのですか?
  絞り込み [伝票番号]{&伝番,[枝番]=&枝番,[品番]=&品番,[色番]=&色番}\
       ,文字比較方法=自動,部分一致検索=しない
  ジャンプ 行番号=最終
  &No2=[No2]
  絞り込み [No2]&No2
  併合  &出荷作業2, 置換, {[伝票番号]照合[伝票番号],[枝番]照合[枝番],[反合計]複写[数量],[数量合計]複写[合計数量M]}
  置換  [データ7]=#文字列([反合計]),[データ8]=#文字列([数量合計])
  絞り込み解除 *
  編集表 10
  絞り込み解除 * /* このコマンドを実行すると処理行が先頭に移動する*/
  検索  [枝番]>&枝番 /* 前回より大きい枝番に移動する*/
繰り返し終了


戻る