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 Record
enthä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.