Thursday, November 24, 2022

Suchfunktion – Microsoft Support

Hinweis: Die in diesem Thema beschriebenen Funktionen, Methoden, Objekte oder Eigenschaften sind deaktiviert, wenn der Microsoft Jet-Ausdrucksdienst im Sandkastenmodus ausgeführt wird, wodurch die Auswertung potenziell unsicherer Ausdrücke verhindert wird. Um weitere Informationen zum Sandbox-Modus zu erhalten, suchen Sie in der Hilfe nach „Sandbox-Modus".

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

Syntax

Suchen ( Dateinummer )

Das erforderliche filenumber- Argument ist eine ganze Zahl, die eine gültige Dateinummer enthält.

Bemerkungen

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

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

Modus

Rückgabewert

Zufällig

Nummer des nächsten gelesenen oder geschriebenen Datensatzes

Binär ,
Ausgang ,
anhängen ,
Eingang

Byte-Position, an der die nächste Operation stattfindet. Das erste Byte in einer Datei befindet sich an Position 1, das zweite Byte an Position 2 und so weiter.


Beispiel

Hinweis: Die folgenden Beispiele veranschaulichen die Verwendung dieser Funktion in einem Visual Basic for Applications (VBA)-Modul. Um weitere Informationen zum Arbeiten mit VBA zu erhalten, wählen Sie Entwicklerreferenz in der Dropdown-Liste neben Suchen aus und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Dieses Beispiel verwendet die Seek -Funktion, um die aktuelle Dateiposition zurückzugeben. Das Beispiel geht davon aus, dass TESTFILE eine Datei ist, die Datensätze des benutzerdefinierten Typs Record enthält.

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

Bei im Zufallsmodus geöffneten Dateien 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 Modus als dem Random-Modus geöffnet wurden, gibt Seek die Byte-Position zurück, an der die nächste Operation stattfindet. Angenommen, TESTFILE ist 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.

No comments:

Post a Comment