Freigeben über


Lock-, Unlock-Anweisungen

Steuert den Zugriff anderer Prozesse auf eine datei, die mit der Open-Anweisung ganz oder teilweise geöffnet wurde.

Syntax

Sperren Sie [ # ] filenumber, [ recordrange ] . . . .Entsperren von [ # ] filenumber, [ recordrange ]

Die Syntax für die Lock- und Unlock-Anweisung weist folgende Teile auf:

Bestandteil Beschreibung
filenumber Erforderlich. Eine gültige Dateinummer.
recordrange Optional. Der Bereich von Datensätzen, die gesperrt oder entsperrt werden sollen.

Einstellungen

Die Einstellungen für das Recordrange-Argument sind:

recnumber | [ Start ] ZumEnde

Einstellung Beschreibung
recnumber Datensatznummer (Dateien nach Zufallsmodus) oder Bytenummer (Dateien nach Binärmodus), für die die Sperre eingerichtet/aufgehoben werden soll.
start Nummer des ersten Datensatzes oder Bytes, für den bzw. das die Sperre eingerichtet/aufgehoben werden soll.
end Nummer des letzten Datensatzes oder Bytes, für den bzw. das die Sperre eingerichtet/aufgehoben werden soll.

Hinweise

Die Anweisungen Lock und Unlock werden in Umgebungen verwendet, in denen mehrere Prozesse auf dieselbe Datei zugreifen können.

Die Lock - und Unlock -Anweisungen treten immer paarweise auf. Die Argumente für Lock und Unlock müssen exakt übereinstimmen.

Der erste Datensatz oder das erste Byte in einer Datei beginnt an Position 1, der zweite Datensatz oder das zweite Byte an Position 2 usw. Wenn Sie nur einen Datensatz angeben, wird nur dieser Datensatz gesperrt oder entsperrt. Wenn Sie einen Datensatzbereich angeben und einen Startdatensatz (Start) weglassen, werden alle Datensätze vom ersten Datensatz bis zum Ende des Bereichs (Ende) gesperrt oder entsperrt. Durch Die Verwendung von Sperre ohne Renummer wird die gesamte Datei gesperrt. Die Verwendung von Unlock without recnumber entsperrt die gesamte Datei.

Wenn die Datei für sequenzielle Ein- oder Ausgaben geöffnet wurde, beziehen sich Lock und Unlock immer auf die gesamte Datei, auch wenn mit start und end ein Bereich der Datei angegeben wurde.

Wichtig

[!WICHTIG] Achten Sie darauf, dass alle Sperren mit einer Unlock -Anweisung aufgehoben werden, bevor Sie eine Datei schließen oder das Programm beenden. Wenn Sie vergessen, Sperren zu entfernen, kann dies zu unvorhersehbaren Ergebnissen führen.

Beispiel

In diesem Beispiel wird die Verwendung der Anweisungen Lock und Unlock veranschaulicht. Während der Änderung eines Datensatzes ist der Zugriff durch andere Prozesse auf diesen Datensatz nicht zulässig. In diesem Beispiel wird davon ausgegangen, dass TESTFILE es sich um eine Datei handelt, die fünf Datensätze des benutzerdefinierten Typs Recordenthält.

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. 

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.