> 00989 柏木秀一 「THE PIPS」10月号が届きました。 99/10/12
> (前略)
> ・今月の質問箱 No.103
> 私も試してみましたが、検索ウィザードではファンクションに登録した
> 内容が使えないようです。これはCSに限らず、他のコマンドでもウィ
> ザードの中ではファンクションに登録した内容は使えませんでした。
> 従ってどうしてもファンクションに登録したものを使いたいのなら、定
> 義表との組み合わせが良いと思います。定義表を都度、書き換えるか、
> 必要なパターンの数だけ定義表を準備するか。
> 野崎さんが実際にどのように解決されたか結果を楽しみに待っています
> (後略)
以上がLONDONの柏木さんから“PUCプラザ”に寄せられたコメントでした。また10月例会の席上でも「定義表」を使ったら..との貴重なアドバイスを頂きました。皆様まことに有難うございました。
結論的に TPS/Win では、
あらかじめ定義表を用意しておけるなら、メニューバーの 処理(P)をクリックしてプルダウン・メニューの検索(CS)を呼び出し、「定義表を使う」をクリックして実行する方式が楽。
または「納得しながら処理する」タイプの方に向いた方法:
複雑な反復的な条件だったら、誤動作を避ける意味からもファンクション・キーに登録しておき、手入力でCS指令に入り、「条件は..」の質問に対して該当ファンクション・キーを押して、検索を実行する。
のいずれかになります。
私のケースでは、検索対象のバインダーが13もあり、また夫々のバインダー毎に別々の検索条件が9種類あり、定義表も9種類羅列して、逐次「使用マーク」を移動させねばなりません。さいわい検索目的が該当者の人数なので、以下のオートプログラムでやってみました。
1 <NINZUU> 各地域毎のグループ別の該当人数を調べる
2 FOR X1=1 TO 13; LET V1=";バインダー";+NUM$(X1);
3 FOR X2=1 TO 9; /* 各バインダー毎に9つの検索条件 */
4 CS/T;%V1; TEIGI/1;;?; /* 該当者の人数が判ればよい */
5 G;TEIGI/1;ROLL;2;A;-1;P;*; /* 使用する条件を逐次変更 */
6 NEXT; /* 次の検索条件 */
7 NEXT; /* 次のバインダー */
8 STOP
[定義表]
↓ 第2列「使用」の文字を順次ROLL DOWNする
────────────────────────────────
使用 条件
────────────────────────────────
1 使用 C1=";=A*";
2 C1=";=AC*";
3 C1=";=A*"; AND C1<>";=AC*";
4 C3<>";D"; AND C1=";=B*";
5 C3<>";D"; AND C1=";=BC*";
6 C3<>";D"; AND C1=";=B*"; AND C1<>";=BC*";
7 C3=";D";
8 C3=";D"; AND C1=";BC*";
9 C3=";D"; AND C1<>";=BC*";
────────────────────────────────
備考: Aグループ Bグループ は対等
C条件は A?Bグループそれぞれにある
共通且つ重要な小グループ
D条件はBグループ内の小グループ
以 上
□