ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
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 R7)