Obs!: Funktionen, metoden, objektet eller egenskapen som beskrivs i det här avsnittet inaktiveras om Microsoft Jet Expression Service körs i begränsat läge, vilket förhindrar utvärderingen av potentiellt osäkra uttryck. Om du vill ha mer information om begränsat läge söker du efter "begränsat läge" i hjälpen.
Returnerar long som anger den aktuella positionen för läsning/skrivning i en fil som öppnas med hjälp av open-instruktionen.
Syntax
Seek( filumber )
Den obligatoriska filenumberargument är ett heltal som innehåller ett giltigt filnummer.
Kommentarer
Sök returnerar ett värde mellan 1 och 2 147 483 647 (motsvarande 2^31 –1).
Nedan beskrivs returvärdena för varje filåtkomstläge.
Läge |
Returvärde |
Slumpmässigt |
Numret på nästa post läst eller skriven |
Binary,Output,Append,Input |
Byteposition där nästa åtgärd utförs. Den första byte i en fil är på position 1, den andra byte är på position 2 och så vidare. |
Exempel
Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet används funktionen Sök för att returnera den aktuella filpositionen. I exemplet förutsätts TESTFILE är en fil som innehåller poster av den användardefinierade typen Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
För filer som öppnas i slumpmässigt läge returnerar Sök antalet nästa post.
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 filer som öppnas i andra lägen än slumpmässigt läge returnerar Sök bytepositionen där nästa åtgärd utförs. Anta att TESTFILE är en fil som innehåller några rader med text.
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.