ADD RECORD

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 3


ADD RECORD ({aTable}{; }{*})

引数説明
aTableテーブルデータ入力に使用するテーブル, または
省略した場合デフォルトテーブル
*スクロールバーを隠す

説明

ADD RECORDコマンドは、データベースのテーブルaTableまたはaTableが省略された場合デフォルトテーブルに、ユーザが新規レコードを追加できるようにします。

ADD RECORDは新しいレコードを作成、それをカレントプロセスのカレントレコードとし、カレントの入力フォームを表示します。アプリケーションモードにおいて、ユーザが新しいレコードを受け入れると、新しいレコードがカレントセレクションにある唯一のレコードになります。

次の図は、典型的なデータ入力フォームです。

このフォームはこのプロセスの最前面のウインドウに表示されます。ウインドウには、スクロールバーとサイズボックスがあります。オプションの * 引数を指定すると、スクロールバーやサイズボックスのないウインドウを描画します。

ADD RECORDは、ユーザがレコードを受け入れるか取り消すまでフォームを表示します。ユ−ザが複数のレコ−ドを追加する場合は、新しいレコードごとに1回ずつコマンドを実行しなければなりません。

ユーザが保存ボタンをクリック、またはenterキーを押す、またはACCEPTコマンドが実行されると、レコードが保存されます。

ユーザがキャンセルボタンをクリック、またはキャンセルキーコンビネーション (WindowsではCtrl-ピリオド、Mac OSではCommand-ピリオド) を押す、またはCANCELコマンドが実行されると、レコードは保存されません。

ADD RECORDの呼び出し後、システム変数OKにはレコードが受け入れられると1が、キャンセルされると0が設定されます。

Note: キャンセルされた場合でも、レコードはメモリ上に残されたままとなります。カレントレコードポインタが変更される前にSAVE RECORDコマンドを実行すれば、レコードは保存されます。

例題

1. 次の例は、データベースに新しいレコードを追加する際によく使われるループです:

   INPUT FORM ([Customers];"Std Input")   ` [Customers] ーブルの入力フォームを設定 
   REPEAT  ` ユーザがキャンセルするまでループ
      ADD RECORD ([Customers];*)  ` [Customers] ーブルにレコードを追加
   Until (OK=0)   ` ユーザがキャンセルするまで

2. 次の例は、顧客データを検索し、その検索結果により、2つのステートメントうちの1つを実行します。顧客が全く見つからない場合、ユーザはADD RECORDコマンドで新しい顧客を追加できます。少なくとも1つの顧客レコードが見つかった場合は、MODIFY RECORDにより最初のレコードが表示され、このレコードを修正できます:

   READ WRITE([Customers])
   INPUT FORM([Customers];"Input")   ` 入力フォームを設定 
   vlCustNum:=Num(Request ("顧客番号を入力:"))   ` 顧客番号を取得
   If (OK=1) 
      QUERY ([Customers];[Customers]CustNo=vlCustNum)   ` 顧客を検索
      If (Records in selection([Customers])=0)   ` 顧客が見つからなければ… 
         ADD RECORD([Customers])  ` 新規に顧客を追加 
      Else
         If(Not(Locked([Customers])))
            MODIFY RECORD([Customers])  ` レコードを更新
            UNLOAD RECORD([Customers])
         Else
            ALERT("レコードは現在使用中です。")
         End if
      End if
   End if

参照

ACCEPT, CANCEL, CREATE RECORD, MODIFY RECORD, SAVE RECORD.

システム変数またはセット

レコードを受け入れるとOKシステム変数が1に設定されます。キャンセルするとOKシステム変数が0に設定されます。OKシステム変数はレコードが受け入れられたかキャンセルされた後に設定されます。


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次