メインコンテンツまでスキップ
バージョン: 20 R7 BETA

Record number

Record number {( aTable )} -> 戻り値

引数説明
aTableTableカレントレコードの番号を返すテーブル 省略時、デフォルトテーブル
戻り値Integerカレントレコード番号

説明

Record numberは、aTableのカレントレコードの物理レコード番号を返します。レコードポインタがカレントセレクションの前後にある場合等、カレントレコードがない場合、Record numberは-1を返します。カレントレコードが保存されていない新しいレコードの場合、Record numberは-3を返します。

レコード番号は変わることがあります。削除されたレコードのレコード番号は再利用されます。

4D Server: このコマンドは、On Validateフォームイベントにおいては、4Dローカルモードと4Dリモートモードで異なる値を返します。ローカルモードではレコード番号 (レコードは既に作成されていると扱われるため) を返します。リモートモードでは-3を返します。なぜならば、レコードは4D Server上に作成されていますが、クライアントにこの情報はまだ通知されていないためです。

注: レコードが作成中であるかをテストする目的では、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
レコード番号について