回答箱 No.70-2: 任意順による文字列のSORTについて
    ◆ 質問箱 No.70  質問者: 西村 重幸  1998年02月 193号 P.17
      ◆ 質問箱 目次へ
No.70-2   任意順による文字列のSORTについて 回答者
  入川 精二
1998年03月
194号 P.23
   ◆ No.70(1998年 2月号)の回答-2
  基本的には元のデータ(名簿)の仕様を変更すべきだ  というのが私の主張なのですが、それでは'身も蓋もない'と思い直して、質問者の条件に忠実に考えることにしました。
  「名簿」データとは別に右のようなコード表を作ります。

  「職名」と「CD」は「名簿」データと同じですが、「EF」は職名に対応するコードです。数字では十区分しか出来ませんが、アルファベットなら26区分出来るので幅広く職名のコードとして使えるでしょう。
  後は指令'MPU'で「CD」列を書き換えてから、それをキーにして並べ替えを実行し、また'MPU'で元のコードに書き換えておく。これだけです。
  プログラムを書く程のこともありませんが、'MPU'はキーインが面倒ですから、一応プログラムにしました。

      1 <MSORT>
      2 MPU;M;コード表/1;@職名 ;;@職名 ;;S@EF =@CD ;E;Y;
      3 SORT;M;@CD ;A;;;
      4 MPU;M;コード表/1;@職名 ;;@職名 ;;S@CD =@CD ;E;Y;
      5 STOP;

このページのTOPへ戻る