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

Is new record

Is new record {( aTable )} -> 戻り値

引数説明
aTableTableレコードを検査するテーブル または 省略時、デフォルトテーブル
戻り値BooleanTrue: レコードは未保存の新規レコード, そうでなければFalse

説明

Is new record コマンドは、カレントプロセス内で、指定されたaTableのカレントレコードが未保存の新規レコードの場合にTrueを返します。

互換性メモ: Record numberコマンドが-3を返すかどうかで同じ情報を得ることができます。
しかしこの目的ではRecord numberの代りにIs new recordを使用することを強くお勧めします。実際、Is new recordコマンドは4Dの将来のバージョンとのより優れた互換性を保証します。

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

例題

下記の2つの方法は同一のものです。コードが4Dの将来のバージョンとの互換性を保つため、2番目の方法を強く推奨します:

 If(Record number([Table])=-3) //非推奨
  // ...
 End if
 
 If(Is new record([Table])) //強く推奨
  // ...
 End if

参照

Modified record
Record number