Lock ステートメントの解説
概要
「Lock ステートメント」は、VBAでランダムアクセスファイルやバイナリファイルの特定のレコード範囲を一時的にロックするためのステートメントです。
意義
特定のファイルの部分を他のプロセスやユーザーからのアクセスを一時的に制限することで、データの不整合や競合を防ぐことができます。このステートメントは、データベースのような複数のアクセスが予想される状況で特に役立ちます。
構文
Lock [ # ] filenumber, [ recordrange ] . . .
パーツ
- filenumber
- ロックするファイルを指定するためのファイル番号を示します。
- recordrange
- ロックするレコードの範囲を示します。
パラメータ
- filenumber
- 必須のパラメータです。
- recordrange
- オプションのパラメータです。指定しない場合、全てのレコードがロックされます。
サンプルプロシージャ
以下は、ランダムアクセスファイルの特定のレコードをロックするサンプルコードです。
Dim FileNumber As Integer FileNumber = FreeFile Open "サンプルファイル.txt" For Random As #FileNumber Len = 100 ' レコード3をロック Lock #FileNumber, 3 ' 何らかの処理... UnLock #FileNumber, 3 Close #FileNumber
関連するステートメントや関数
「UnLock ステートメント」: ランダムアクセスファイルやバイナリファイルの特定のレコード範囲のロックを解除するためのステートメント。
注意事項
ファイルがLock ステートメントでロックされた場合、他のプロセスやユーザーはその部分をアクセス・編集することができません。また、ファイルを閉じると、そのファイルのすべてのレコードのロックが自動的に解除されます。