Funkcia Seek

Vzťahuje sa na
Access pre Microsoft 365 Access 2021 Access 2019 Access 2016

Poznámka

Funkcia, metóda, objekt alebo vlastnosť, ktoré sú popísané v tejto téme, sú vypnuté, ak je služba Microsoft Jet Expression Service spustená v režime karantény, ktorý zabraňuje vo vyhodnocovaní možných nebezpečných výrazov. Ďalšie informácie o režime karantény nájdete vyhľadaním výrazu „režim karantény“ v Pomocníkovi.

Vráti hodnotu typu Long, ktorá určuje aktuálnu pozíciu čítania alebo zapisovania v rámci súboru, ktorý bol otvorený príkazom Otvoriť.

Syntax

Seek(číslo súboru)

Povinný argument číslovania súborovje celé číslo obsahujúce platné číslo súboru.

Poznámky:

Funkcia Seek vracia hodnotu medzi 1 a 2 147 483 647 (ekvivalent 2 ^ 31 – 1) vrátane.

V nasledujúcej časti nájdete popis vrátených hodnôt pre každý režim prístupu k súboru.

Režim Vrátená hodnota
Náhodné Počet nasledujúcich čítaní alebo zápisov záznamu
Binárne,
Výstup,
Pripojiť,
Vstup
Bajtová pozícia, v ktorej dochádza k ďalšej operácii. Prvý bajt v súbore je na pozícii 1, druhý bajt je na pozícii 2 a tak ďalej.

    

Príklad

Poznámka

Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade je funkcia Seek použitá na vrátenie aktuálnej pozície súboru. V príklade TESTFILE sa predpokladá, že ide o súbor obsahujúci záznamy používateľom definovaného typu Record.

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

V prípade súborov, ktoré sú otvorené v režime Náhodné, vráti funkcia Seek číslo ďalšieho 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.

V prípade súborov, ktoré sú otvorené v inom režime ako v režime Náhodné, vráti funkcia Seek bajtovú pozíciu, v ktorej sa vykonáva ďalšia operácia. Predpokladajme, že TESTFILE ide o súbor obsahujúci niekoľko riadkov 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.