控制其他程序對使用 Open 陳述式開啟的全部或部分檔案的存取。
語法
鎖定 [ # ] 檔案號,[ 記錄範圍 ] ......解鎖 [ # ] 檔案號,[ 記錄範圍 ]
鎖定與解鎖語句的語法包含以下部分:
| 部分 | 描述 |
|---|---|
| filenumber | 必要。 任何有效的檔案編號。 |
| 紀錄範圍 | 選用。 可鎖定或解鎖的紀錄範圍。 |
設定
記錄範圍參數設定如下:
Recnumber |[開始]結束
| 設定 | 描述 |
|---|---|
| Recnumber | 記錄號碼 (隨機 模式檔案) 或二 進位 模式檔案 (位元組號) 鎖定或解鎖開始的起點。 |
| start | 第一個記錄或位元組的數量,需要鎖定或解鎖。 |
| end | 最後一個記錄或位元組的數量,需要鎖定或解鎖。 |
註解
鎖定與解鎖敘述用於多個程序可能需要存取同一檔案的環境。
鎖定 與 解鎖 語句總是成對使用。 「 鎖定 與 解鎖 」的論點必須完全一致。
檔案中的第一個記錄或位元組位於位置 1,第二個記錄或位元組位於位置 2,依此類推。 如果你只指定一個紀錄,只有該紀錄會被鎖定或解鎖。 如果你指定一個記錄範圍,卻省略起始紀錄 (起始) ,從第一筆紀錄到範圍結束 (結束) 的所有 紀錄都會被鎖定或解鎖。 使用不 recnumber 的鎖定會鎖定整個檔案;使用無 recnumber 的 Unlock 會解鎖整個檔案。
若檔案已開啟進行依序輸入或輸出,鎖定與解鎖會影響整個檔案,無論開始與結束所設定的範圍為何。
重要事項
在關閉檔案或退出程式前,務必用 解鎖 語句移除所有鎖。 若未解除鎖,結果難以預測。
範例
此範例說明了 鎖定 與 解鎖 語句的使用。 當紀錄正在修改時,其他程序對該紀錄的存取會被拒絕。 此範例假設 是一個 TESTFILE 包含五筆使用者定義型態的 Record記錄的檔案。
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Dim MyRecord As Record, RecordNumber ' Declare variables.
' Open sample file for random access.
Open "TESTFILE" For Random Shared As #1 Len = Len(MyRecord)
RecordNumber = 4 ' Define record number.
Lock #1, RecordNumber ' Lock record.
Get #1, RecordNumber, MyRecord ' Read record.
MyRecord.ID = 234 ' Modify record.
MyRecord.Name = "John Smith"
Put #1, RecordNumber, MyRecord ' Write modified record.
Unlock #1, RecordNumber ' Unlock current record.
Close #1 ' Close file.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。