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

CREATE RECORD

CREATE RECORD {( aTable )}

引数説明
aTableTable新規レコードを作成するテーブル, または 省略時、デフォルトテーブル

説明

CREATE RECORDは、aTableに対して新しい空のレコードを作成しますが、このレコードは表示されません。データ入力のために新しいレコードを作成して表示するにはADD RECORDを使用します。

CREATE RECORDは、レコードデータの割り当てをプログラミング言語で実行する場合に、ADD RECORDの代わりに使用します。新しく作成されたレコードはカレントレコードとなりますが、カレントセレクションは変わりません。

新しいレコードは、テーブルに対するSAVE RECORDコマンドを実行するまではメモリ上にのみ存在します。新しいカレントレコードが保存される前に (検索等によって) 変更されると、そのレコードは失われます。

注: このコマンドでは、aTable に渡したテーブルが読み書き可能モードである必要はありません。テーブルが読み込みのみモードの場合でも使用する事ができます(レコードのロックを参照して下さい)。

例題

以下の例は、30日以上経過したデータをアーカイブします。これはアーカイブ用のテーブルに新しいレコードを作成することで行っています。アーカイブが終了すると、対象のレコードを[Accounts]テーブルから削除します:

  // 30日経過したレコードを検索
 QUERY([Accounts];[Accounts]Entered<(Current date-30))
 For($vlRecord;1;Records in selection([Accounts])) // レコードごとにループ
    CREATE RECORD([Archive]) // 新しいアーカイブレコードを作成
    [Archive]Number:=[Account]Number // アーカイブレコードにフィールドをコピー
    [Archive]Entered:=[Account]Entered
    [Archive]Amount:=[Account]Amount
    SAVE RECORD([Archive]) // アーカイブレコードを保存
    NEXT RECORD([Accounts]) // 次のaccountレコードをカレントレコードにする
 End for
 DELETE SELECTION([Accounts]) // accountレコードを削除

参照

ADD RECORD
MODIFY RECORD
SAVE RECORD

プロパティ

コマンド番号68
スレッドセーフである
カレントレコードを変更する