Seek-Funktion

Hinweis : Die Funktion, die Methode, das Objekt oder die Eigenschaft, die bzw. das in diesem Thema erläutert wird, ist deaktiviert, falls der Ausdrucksdienst in Microsoft Jet im geschützten Modus (Sandkastenmodus) ausgeführt wird. In diesem Modus wird die Auswertung von potenziell unsicheren Ausdrücken verhindert. Weitere Informationen zum geschützten Modus erhalten Sie, wenn Sie in der Hilfe nach "Sandkastenmodus" suchen.

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

Syntax

Seek(filenumber)

Das erforderliche Argumentfilenumber ist ein Wert vom Typ Integer-Datentyp, der eine gültige Dateinummer enthält.

Hinweise

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

Im Folgenden wird der Rückgabewert für die einzelnen Dateizugriffsmodi beschrieben.

Modus

Rückgabewert

Random

Nummer des nächsten zu lesenden oder zu schreibenden Datensatzes

Binary,
Output,
Append,
Input

Byteposition, an der die nächste Operation durchgeführt wird. Das erste Byte in einer Datei befindet sich in 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 für Applikationen). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerhilfe in der Dropdownliste neben Suchen, 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. Für das Beispiel wird vorausgesetzt, dass TESTFILE eine Datei mit Datensätzen vom benutzerdefinierten Typ Record ist.

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

Für Dateien, die im Random-Modus geöffnet wurden, gibt Seek die Nummer 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 einem anderen als im Random-Modus geöffnet wurden, gibt Seek die Byteposition zurück, an der die nächste Operation durchgeführt wird. Es wird vorausgesetzt, dass TESTFILE eine Datei mit einigen Textzeilen ist.

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.
Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×