Seek, functie

Van toepassing op
Access voor Microsoft 365 Access 2021 Access 2019 Access 2016

Opmerking

De functie, de methode, het object of de eigenschap die in dit onderwerp wordt beschreven, is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandboxmodus. Hierdoor wordt de evaluatie van potentieel onveilige expressies voorkomen. Zoek in de Help naar 'sandbox-modus' voor meer informatie over de sandbox-modus.

Retourneert een waarde van het type Long die de huidige lees-/schrijfpositie aangeeft binnen een bestand dat is geopend met de instructie Open .

Syntaxis

SEEK(bestandsnummer)

Het vereiste argument bestandsnummeris een geheel getal dat een geldig bestandsnummer bevat.

Opmerkingen

ZOEKEN retourneert een waarde tussen 1 en 2.147.483.647 (gelijk aan 2^31 – 1), inclusief.

In de volgende tabel worden de retourwaarden voor de verschillende toegangsmodi voor bestanden beschreven.

Modus Retourwaarde
Willekeurig Het nummer van de volgende record die is gelezen of geschreven
Binair,
Uitvoer,
Toevoegen,
Invoer
De bytepositie waarop de volgende bewerking plaatsvindt. De eerste byte in een bestand bevindt zich op positie 1, de tweede byte op positie 2, enzovoort.

    

Voorbeeld

Opmerking

In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

In dit voorbeeld wordt de functie Zoeken gebruikt om de huidige bestandspositie op te halen. In het voorbeeld wordt ervan uitgegaan TESTFILE dat dit een bestand is met records van het door de gebruiker gedefinieerde type Record.

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

Voor bestanden die zijn geopend in de willekeurige modus, retourneert Seek het nummer van de volgende record.

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.

Voor bestanden die worden geopend in andere modi dan de willekeurige modus, retourneert SEEK de bytepositie waarop de volgende bewerking plaatsvindt. Stel dat TESTFILE een bestand is met een paar regels 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.