Seek-Funktion

Gilt für
Access für Microsoft 365 Access 2021 Access 2019 Access 2016

Hinweis

Die in diesem Thema beschriebene Funktion, Methode, Objekt oder Eigenschaft ist deaktiviert, wenn der Microsoft Jet-Ausdrucksdienst im Sandboxmodus ausgeführt wird, der die Auswertung potenziell unsicherer Ausdrücke verhindert. Weitere Informationen zum Sandboxmodus finden Sie, wenn Sie in der Hilfe nach "Sandboxmodus" suchen.

Gibt einen Long-Wert zurück, der die aktuelle Lese-/Schreibposition in einer Datei angibt, die mit der Open-Anweisung geöffnet wurde.

Syntax

Seek(filenumber)

Das erforderliche Filenumber-Argumentist eine ganze Zahl, die eine gültige Dateinummer enthält.

Hinweise

Seek gibt einen Wert zwischen 1 und 2.147.483.647 zurück (entspricht 2^31 – 1).

Im Folgenden werden die Rückgabewerte für jeden Dateizugriffsmodus beschrieben.

Modus Rückgabewert
Random Nummer des nächsten gelesenen oder geschriebenen Datensatzes
Binär,
Ausgabe,
Anfügen,
Eingabe
Byteposition, an der der nächste Vorgang stattfindet. Das erste Byte in einer Datei befindet sich an Position 1, das zweite Byte an Position 2 usw.

    

Beispiel

Hinweis

Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

In diesem Beispiel wird die Seek-Funktion verwendet, um die aktuelle Dateiposition zurückzugeben. Im Beispiel wird davon ausgegangen, dass TESTFILE es sich um eine Datei handelt, die Datensätze des benutzerdefinierten Typs Recordenthält.

Type Record    ' Define user-defined type.
    ID As Integer
    Name As String * 20
End Type

Für Dateien, die im Zufälligen Modus geöffnet werden, gibt Seek die Anzahl des nächsten Datensatzes zurück.

Dim MyRecord As Record    ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)    ' Loop until end of file.
    Get #1, , MyRecord    ' Read next record.
    ' Print record number to the Immediate window.
    Debug.Print Seek(1)    
Loop
Close #1    ' Close file.

Für Dateien, die in anderen Modi als dem Zufallsmodus geöffnet werden, gibt Seek die Byteposition zurück, an der der nächste Vorgang stattfindet. Angenommen, es handelt sich TESTFILE um eine Datei mit einigen Textzeilen.

Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file for reading.
Do While Not EOF(1) ' Loop until end of file.
    MyChar = Input(1, #1) ' Read next character of data.
    ' Print byte position to the Immediate window. 
    Debug.Print Seek(1) 
Loop
Close #1    ' Close file.