LOAD RECORD
LOAD RECORD {( aTable )}
引数 | 型 | 説明 | |
---|---|---|---|
aTable | Table | → | レコードをロードするテーブル, または 省略時、デフォルトテーブル |
説明
LOAD RECORDは、aTableのカレントレコードをロードします。カレントレコードが存在しない場合、LOAD RECORDは何も行いません。
レコードがロードされたら、Lockedコマンドを使用してレコードが更新可能か調べることができます:
- aTableが読み込みのみ状態ならば、LockedコマンドはTrueを返し、レコードを修正することはできません。
- aTableが読み書き状態でも、レコ-ドが既にロックされている場合は、レコードは読み込みのみ状態になり、そのレコードを修正することはできません。
- aTableが読み書き状態でかつレコ-ドがロックされていない場合、カレントプロセス内でレコードを修正することができます。その際Lockedコマンドはその他のすべてのユーザとプロセスに対してTrueを返します。
Note: READ ONLYコマンドの後にLOAD RECORDを実行すると、UNLOAD RECORDコマンドを使用しなくても、レコードは自動的にアンロードされた後ロードされます。
通常QUERY、NEXT RECORD、PREVIOUS RECORD等のコマンドは自動的にカレントレコードをロードするため、LOAD RECORDコマンドを使用する必要はありません。
マルチュユーザ環境やマルチプロセス環境において既存レコードを修正するには、レコードが属するテーブルに読み書き状態でアクセスしなければなりません。レコードがロックされており、ロードされていない場合、時間をおいて、再度LOAD RECORDを実行する必要があります。このためには、ループ内でLOAD RECORDを使用し、レコードが読み書き状態になるまで待機できます。
Tip: LOAD RECORDコマンドを使用し、入力フォームにおいてカレントレコードを再ロードすることができます。変更中のデータはすべて以前の値で置き換えられます。この場合、LOAD RECORDコマンドは、いわば一般的な入力データの取消しとして振る舞います。
参照
Locked
UNLOAD RECORD
レコードのロック