Funkce Seek

Platí pro
Access pro Microsoft 365 Access 2021 Access 2019 Access 2016

Poznámka

Funkce, metoda, objekt nebo vlastnost popsané v tomto tématu jsou zakázány, pokud je služba Microsoft Jet Expression Service spuštěna v režimu izolovaného prostoru (sandbox), který znemožňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru vyhledáte zadáním dotazu "režim izolovaného prostoru" v nápovědě.

Vrátí hodnotu Long určující aktuální pozici čtení/zápisu v souboru otevřeném pomocí příkazu Open .

Syntaxe

Seek(číslo_souboru)

Povinný argument číslo_souboruje celé číslo obsahující platné číslo souboru.

Poznámky

Funkce Hledat vrátí hodnotu v rozsahu od 1 do 2 147 483 647 (ekvivalent 2^31 – 1) včetně.

Následující text popisuje návratové hodnoty pro jednotlivé režimy přístupu k souborům.

Režim Vrácená hodnota
Náhodné Číslo dalšího přečteného nebo zapsaného záznamu
Binární,
Výstup,
Připojit,
Vstup
Pozice bajtů, na které probíhá další operace. První bajt v souboru je na pozici 1, druhý bajt na pozici 2 atd.

    

Příklad

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

V tomto příkladu se funkce Seek používá k vrácení aktuální pozice souboru. Příklad předpokládá TESTFILE , že jde o soubor obsahující záznamy uživatelem definovaného typu Record.

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

U souborů otevřených v náhodném režimu vrátí funkce Seek číslo dalšího záznamu.

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.

U souborů otevřených v jiných režimech než v náhodném režimu vrátí funkce Seek pozici bajtů, na které probíhá další operace. Předpokládejme TESTFILE , že jde o soubor obsahující několik řádků textu.

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.