Funktionen Seek

Bemærk: Den funktion, metode, objekt eller egenskab, som beskrives i dette emne er deaktiveret, hvis Microsoft Jet-udtrykstjenesten er i sandkassetilstand, der forhindrer evaluering af udtryk, der muligvis ikke er sikre. Yderligere oplysninger om sandkassetilstand finder du i Hjælp ved at søge på "sandkassetilstand".

Returnerer et Datatypen Lang, der angiver den aktuelle læse-/skriveposition i en fil, der er åbnet med sætningen Open.

Syntaks

Seek(filnummer)

Det obligatoriske argumentfilnummer skal være et datatypen Heltal, der indeholder et gyldigt filnummer.

Bemærkninger

Seek returnerer en værdi mellem 1 og 2.147.483.647 (svarende til 2^31 - 1), begge tal inklusive.

Nedenfor beskrives returværdierne for de enkelte filadgangstilstande.

Tilstand

Returværdier

Random

Nummeret på den næste post, der er læst eller skrevet.

Binary,
Output,
Append,
Input

Den byteposition, hvor den næste handling skal udføres. Den første byte i en fil står i position 1, den anden byte er i position 2 osv.


Eksempel

Bemærk: I de følgende eksempler demonstreres brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan få yderligere oplysninger om arbejde med VBA ved at vælge Udviklerreference på rullelisten ud for Søg og indtaste et eller flere udtryk i søgeboksen.

I dette eksempel bruges funktionen Seek til at returnere den aktuelle filposition. Det antages, at TESTFILE er en fil, der indeholder poster af den brugerdefinerede type Record.

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

Hvis filerne åbnes i tilstanden Random, returnerer Seek nummeret på den næste 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.

Hvis filerne åbnes i en anden tilstand end Random, returnerer Seek den byteposition, hvor den næste handling skal udføres. Det antages, at TESTFILE er en fil, der indeholder nogle få linjer med tekst.

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.
Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×