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ám 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ódusz: |
Visszatérési érték |
Véletlen |
A következő beolvasott vagy írt rekord száma |
Bináris,Kimenet,Hozzáfűzés,Bemenet |
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 egy olyan fájl, amely a felhasználó által megadott típusú rekordokat tartalmazza Record.
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, hogy TESTFILE egy néhány sornyi szöveget tartalmazó fájl.
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.