共用方式為


Lock, Unlock 陳述式

控制其他程序對使用 Open 陳述式開啟的全部或部分檔案的存取。

語法

鎖定 [ # ] 檔案號,[ 記錄範圍 ] ......解鎖 [ # ] 檔案號,[ 記錄範圍 ]

鎖定解鎖語句的語法包含以下部分:

部分 描述
filenumber 必要。 任何有效的檔案編號
紀錄範圍 選用。 可鎖定或解鎖的紀錄範圍。

設定

記錄範圍參數設定如下:

Recnumber |[開始]結束

設定 描述
Recnumber 記錄號碼 (隨機 模式檔案) 或二 進位 模式檔案 (位元組號) 鎖定或解鎖開始的起點。
start 第一個記錄或位元組的數量,需要鎖定或解鎖。
end 最後一個記錄或位元組的數量,需要鎖定或解鎖。

註解

鎖定解鎖敘述用於多個程序可能需要存取同一檔案的環境。

鎖定解鎖 語句總是成對使用。 「 鎖定解鎖 」的論點必須完全一致。

檔案中的第一個記錄或位元組位於位置 1,第二個記錄或位元組位於位置 2,依此類推。 如果你只指定一個紀錄,只有該紀錄會被鎖定或解鎖。 如果你指定一個記錄範圍,卻省略起始紀錄 (起始) ,從第一筆紀錄到範圍結束 (結束) 的所有 紀錄都會被鎖定或解鎖。 使用不 recnumber鎖定會鎖定整個檔案;使用無 recnumberUnlock 會解鎖整個檔案。

若檔案已開啟進行依序輸入或輸出,鎖定解鎖會影響整個檔案,無論開始與結束所設定的範圍為何。

重要事項

在關閉檔案或退出程式前,務必用 解鎖 語句移除所有鎖。 若未解除鎖,結果難以預測。

範例

此範例說明了 鎖定解鎖 語句的使用。 當紀錄正在修改時,其他程序對該紀錄的存取會被拒絕。 此範例假設 是一個 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 支援與意見反應