Hinweis
Die in diesem Thema beschriebene Funktion, Methode, das Objekt oder die Eigenschaft ist deaktiviert, wenn der Microsoft Jet-Ausdrucksdienst im Sandkastenmodus 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 erforderlicheDateinummernargument ist eine ganze Zahl, die 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 werden die Rückgabewerte für die einzelnen Dateizugriffsmodi beschrieben.
| Modus | Rückgabewert |
|---|---|
| Random | Nummer des nächsten gelesenen oder geschriebenen Datensatzes |
|
Binär, Ausgabe, Anfügen Eingabe |
Byteposition, an der die nächste Operation 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 Funktion Suchen verwendet, um die aktuelle Dateiposition zurückzugeben. Im Beispiel wird davon ausgegangen TESTFILE , dass 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 wurden, gibt die Suche 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 Modus als dem zufälligen Modus geöffnet wurden, gibt Seek die Byteposition zurück, an der der nächste Vorgang stattfindet. Angenommen TESTFILE , es handelt sich um eine Datei, die einige Textzeilen enthält.
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.