ソート処理、およびマージ処理のキーフィールドを設定します。
構文
object.KeyCmdStr = string
object
オブジェクトへの参照を表すオブジェクト式を指定します。
string
キーフィールドを記述形式に従って指定します。
stringの記述形式
pos.len typ opt [ M kanji-def ] [, pos.len typ opt [ M kanji-def ] ...]
pos
キーフィールドの位置を指定します。
レコードの先頭を0として計算します。入力がテキストファイルの場合は、FieldDefinitionプロパティの値に従って、浮動フィールド、または固定フィールドで指定します。テキストファイル以外の場合は、常に固定フィールドとなります。浮動フィールドはフィールド番号を、固定フィールドはカラム位置を指定します。
len
キーフィールドの長さを指定します。
データ形式により指定できる長さに上限があります。詳細は、2.7.4.1 キーフィールドに指定可能なデータ形式を参照してください。
テキストファイルで浮動フィールドとして処理する場合、指定したフィールド長よりも長いフィールドが現れると、指定したフィールド長で処理されます。逆に指定したフィールド長よりも短いフィールドが現れると、実際のフィールド長で処理されます。
データ形式(typ)に符号なし2進数(bit)を指定する場合は、マスク値を10進数の1~255の範囲で指定します。この場合、フィールド値とマスク値の論理積がキー値となります。例えば、フィールド値が16進数の8e、マスク値として3を指定した場合、キー値は16進数の02になります。
typ
キーフィールドのデータ形式を指定します。
詳細は、2.7.4.1 キーフィールドに指定可能なデータ形式を参照してください。
opt
キーフィールドの操作を指定します。
詳細は、optを参照してください。
M kanji-def
漢字フィールドを指定します。
漢字フィールドの指定方法については、kanji-def の記述形式を参照してください。
解説
キーフィールドは、位置、長さ、データ形式、および操作で定義します。省略時は、レコード全体をキーフィールドとみなし、コード順に並べます。
複数のキーフィールドを指定する場合は、キーフィールドを連続して指定するか、コンマ( , )で区切って指定します。
記述例
例
例1) レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。
0.10asca
例2) レコードの先頭から5バイトのASCIIコードのフィールドを降順に、20バイトめから1バイトの外部10進数を昇順に並べる指定です。
0.5ascr,19.1zdla
例3) レコードの10バイトめから20バイトの漢字(ASCIIコード)のフィールドを総画順、音読み順の昇順として並べる指定です。
9.20ascam MstdSO
例4) レコードの10バイトめから20バイトの漢字(ASCIIコード)のフィールドに対するふりがなフィールドが、レコードの50バイトめから10バイトにASCIIコードで記述されており、これを国語辞典の並びで昇順に並べる指定です。
9.20ascam Mdic49.10asc