version 3
Record number {(aTable)} 数値
| 引数 | 型 | 説明 | |
| aTable | テーブル | カレントレコードの番号を返すテーブル | |
| 省略時、デフォルトテーブル | |||
| 戻り値 | 数値 | カレントレコード番号 |
説明
Record numberは、aTableのカレントレコードの物理レコード番号を返します。レコードポインタがカレントセレクションの前後にある場合等、カレントレコードがない場合、Record numberは-1を返します。カレントレコードが保存されていない新しいレコードの場合、Record numberは-3を返します。
レコード番号は変わることがあります。削除されたレコードのレコード番号は、再利用されます。データベースを圧縮してもレコード番号は変更されます。
4D Server: このコマンドは、On Validateフォームイベントにおいては、4Dローカルモードと4Dリモートモードで異なる値を返します。ローカルモードではレコード番号 (レコードは既に作成されていると扱われるため) を返します。リモートモードでは-3を返します。なぜならば、レコードは4D Server上に作成されていますが、クライアントにこの情報はまだ通知されていないためです。
Note: レコードが作成中であるかをテストする目的では、Is new record コマンドの利用をお勧めします。
例題
以下の例は、カレントレコードのレコード番号を変数に格納し、他に同じデータを持つレコードがないかを検索します:
$RecNum:=Record number([People]) ` レコード番号を取得
QUERY ([People]; [People]Last = [People]Last) ` 同じLast名を持つレコードを検索
` 検索件数を表示
ALERT ("There are "+String (Records in selection([People])+" with that name.")
GOTO RECORD ([People]; $RecNum) ` 元のレコードに戻る
参照
GOTO RECORD, Is new record, Selected record number, Sequence number, レコード番号について.