回答箱 No.140-1: データの中の'?'マークを探したい

       ◆ 質問箱 No.140 質問者:  入川 精二  2002年07月 246号 P.19
           ◆ 質問箱 目次へ
No.140-1   データの中の'?'マークを探したい 回答者
  内海 孝
2002年08月
247号 P.10
修理依頼表の一部
 上図は修理依頼票の表です。この表に'?'マークを検索したときの * マークを付けるため、1桁の列を追加しておきます。

プログラム
1 <KENSAKU>
2      G;修理依頼票/1;
3      FOR X1=H TO T;
4           LET X2=INSTR(1,L%X1,"?");LET X3=INSTR(1,L%X1,"?");
                          X  Y    Z                X  Y    Z
5           IF X2=0 AND X3=0 THEN CONTINUE;
6        LET [X1,@* ]="*";
7	 NEXT;P;*;
8	 CS;;@* ="*";;;問題データ;
9 STOP;

4行目:
INSTR関数を使います。文字列 Y (L%X1=X1行全データ) の X 桁目 (1桁目) 以降に文字列 Z (?及び?) を検索し、あったら、その位置 (何桁目)6nbsp;がX2 (X3) に入ります。
無かったら、2X (X3) に0 (ゼロ) が入ります。
5行目:
X2も、X3も0 (ゼロ) ならNEXTへ飛んで、この行は何もしません。X2、X3のどちらかが(ゼロ)以外なら6行を実行します。
6行目:
@* 項目列に"*"マークを付けます。下図参照
8行目:
@* 項目列の"*"を検索して、問題データバインダーへ保存します。

 下図はプログラムKENSAKUを実行し、FOR NEXTで"*"マークを付け終わったところ。


このページのTOPへ戻る