| 4D v20.1CREATE RECORD | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 CREATE RECORD 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CREATE RECORD {( aTable )} | ||||||||
| 引数 | 型 | 説明 | ||||||
| aTable | テーブル |   | 新規レコードを作成するテーブル, または 省略時、デフォルトテーブル | |||||
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レコードを削除
	プロダクト: 4D
	テーマ: レコード
	番号: 
        68
        
        
        
	
	初出: < 4D v6
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
	
 コメントを追加
コメントを追加