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.