Seek függvény

Hatókör
Microsoft 365-höz készült Access Access 2021 Access 2019 Access 2016

Megjegyzés

A témakörben ismertetett függvény, metódus, objektum vagy tulajdonság le van tiltva, ha a Microsoft Jet Expression Service védőfalas üzemmódban fut, mivel ez megakadályozza az esetleg nem biztonságos kifejezések kiszűrését. A védőfalas üzemmódról a súgóban a „védőfalas üzemmód” kifejezésre keresve talál további információt.

Egy Long értéket ad vissza, amely az Open utasítással megnyitott fájlon belüli aktuális olvasási/írási pozíciót adja vissza.

Szintaxis

Seek(filenumber)

A szükséges filenumberargumentum egy érvényes fájlszámot tartalmazó egész szám.

Megjegyzések

A Seek egy 1 és 2 147 483 647 közötti értéket ad vissza (ez a 2^31 –1 értéknek felel meg), a különbséget is beleértve.

Az alábbiakban az egyes fájlelérési módok visszatérési értékeit ismertetjuk.

Mód Visszatérési érték
Véletlen A következő beolvasott vagy írt rekord száma
Bináris,
Kimenet,
Hozzáfűzés,
Bevitel
A következő művelet végrehajtásának bájtpozíciója. A fájl első bájtja az 1. pozícióban van, a második bájt a 2. pozícióban van stb.

    

Példa

Megjegyzés

A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.

Ez a példa a Seek függvénnyel adja vissza az aktuális fájlpozíciót. A példa feltételezi TESTFILE , hogy a fájl a felhasználó által megadott típusú Recordrekordokat tartalmazza.

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

Véletlenszerű módban megnyitott fájlok esetén a Seek függvény a következő rekord számát adja vissza.

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.

A Véletlenszerű módtól eltérő módban megnyitott fájlok esetében a Seek a következő művelet végrehajtásának bájtpozícióját adja vissza. Tegyük fel TESTFILE , hogy egy fájl, amely néhány sornyi szöveget tartalmaz.

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.