Notă
Funcția, metoda, obiectul sau proprietatea descrisă în acest subiect este dezactivată dacă Microsoft Jet Expression Service rulează în modul sandbox, ceea ce împiedică evaluarea expresiilor potențial nesigure. Pentru mai multe informații despre modul sandbox, căutați "modul sandbox" în Ajutor.
Returnează o valoare Long care specifică poziția curentă în citire/scriere dintr-un fișier deschis utilizând instrucțiunea Open .
Sintaxă
Seek(numărfișier)
Argumentul filenumberobligatoriu este un întreg care conține un număr de fișier valid.
Observații
Seek returnează o valoare între 1 și 2.147.483.647 (echivalentă cu 2^31 – 1), inclusiv.
În cele ce urmează sunt descrise valorile returnate pentru fiecare mod de acces la fișiere.
| Mod | Valoarea returnată |
|---|---|
| Aleator | Numărul următoarei înregistrări citite sau scrise |
|
binar, Ieșire, Adăugați, Intrare |
Poziția byților la care are loc următoarea operațiune. Primul octet dintr-un fișier este la poziția 1, al doilea octet este la poziția 2 și așa mai departe. |
Exemplu
Notă
Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.
Acest exemplu utilizează funcția Seek pentru a returna poziția curentă a fișierului. Exemplul presupune TESTFILE că este un fișier care conține înregistrări de tipul Recorddefinit de utilizator.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Pentru fișierele deschise în modul aleator, Seek returnează numărul următoarei înregistrări.
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.
Pentru fișierele deschise în alte moduri decât modul Aleator, Căutare returnează poziția în byți la care are loc următoarea operațiune. Presupune TESTFILE că este un fișier care conține câteva linii de text.
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.