Bemærk!: Funktionen, metoden, objektet eller egenskaben, der er beskrevet i dette emne, deaktiveres, hvis Microsoft Jet Expression Service kører i sandkassetilstand, hvilket forhindrer evalueringen af potentielt usikre udtryk. Søg efter "sandkassetilstand" i Hjælp, hvis du vil have mere at vide om sandkassetilstand.
Returnerer en Lang, der angiver den aktuelle læse-/skriveposition i en fil, der åbnes ved hjælp af Open-sætningen .
Syntaks
Søg( filnummer )
Den påkrævede argument er et Heltal, der indeholder en gyldig filnummer.
Bemærkninger
Søg returnerer en værdi mellem 1 og 2.147.483.647 (svarende til 2^31 – 1), begge inklusive.
I det følgende beskrives returværdierne for hver filadgangstilstand.
Tilstand, |
Returværdi |
Tilfældig |
Nummeret på den næste post læst eller skrevet |
Binær,Output,Tilføj,Input |
Byte position, hvor den næste operation finder sted. Den første byte i en fil er på position 1, den anden byte er på position 2 osv. |
Eksempel
Bemærk!: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.
I dette eksempel bruges funktionen Søg til at returnere den aktuelle filplacering. I eksemplet antages det, 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
For filer, der åbnes i tilfældig tilstand, returnerer Søg antallet af 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.
For filer, der åbnes i andre tilstande end tilfældig tilstand, returnerer Søg byteplaceringen, hvor den næste handling finder sted. Antag, at TESTFILE er en fil, der indeholder nogle få tekstlinjer.
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.