Funktionen Seek

Gäller för
Access för Microsoft 365 Access 2021 Access 2019 Access 2016

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 en Long som anger den aktuella läs-/skrivpositionen i en fil som öppnats med Open-instruktionen.

Syntax

Seek(filnummer)

Det obligatoriska argumentet för filnummerär ett heltal som innehåller ett giltigt filnummer.

Kommentarer

Seek 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 som läses eller skrivs
Binärt,
Utdata,
Lägg till,
Ingång
Byteposition där nästa åtgärd utförs. Den första byten i en fil finns på position 1, den andra byten finns 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. Exemplet förutsätter TESTFILE att det ä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 slumpvis läge returnerar Seek numret på 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 Seek den byteposition där nästa åtgärd utförs. Anta TESTFILE är en fil som innehåller några rader 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.