メインコンテンツまでスキップ
バージョン: 開発中

LOAD RECORD

LOAD RECORD {( aTable )}

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

説明

LOAD RECORDは、aTableのカレントレコードをロードします。カレントレコードが存在しない場合、LOAD RECORDは何も行いません。
レコードがロードされたら、Lockedコマンドを使用してレコードが更新可能か調べることができます:

  • aTableが読み込みのみ状態ならば、LockedコマンドはTrueを返し、レコードを修正することはできません。
  • aTableが読み書き状態でも、レコ-ドが既にロックされている場合は、レコードは読み込みのみ状態になり、そのレコードを修正することはできません。
  • aTableが読み書き状態でかつレコ-ドがロックされていない場合、カレントプロセス内でレコードを修正することができます。その際Lockedコマンドはその他のすべてのユーザとプロセスに対してTrueを返します。

Note: READ ONLYコマンドの後にLOAD RECORDを実行すると、UNLOAD RECORDコマンドを使用しなくても、レコードは自動的にアンロードされた後ロードされます。

通常QUERYNEXT RECORDPREVIOUS RECORD等のコマンドは自動的にカレントレコードをロードするため、LOAD RECORDコマンドを使用する必要はありません。

マルチュユーザ環境やマルチプロセス環境において既存レコードを修正するには、レコードが属するテーブルに読み書き状態でアクセスしなければなりません。レコードがロックされており、ロードされていない場合、時間をおいて、再度LOAD RECORDを実行する必要があります。このためには、ループ内でLOAD RECORDを使用し、レコードが読み書き状態になるまで待機できます。

Tip: LOAD RECORDコマンドを使用し、入力フォームにおいてカレントレコードを再ロードすることができます。変更中のデータはすべて以前の値で置き換えられます。この場合、LOAD RECORDコマンドは、いわば一般的な入力データの取消しとして振る舞います。

参照

Locked
UNLOAD RECORD
レコードのロック