Ieškos funkcija

Taikoma
„Access“, skirta „Microsoft 365“ Access 2021 Access 2019 Access 2016

Pastaba

Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė išjungiama, jei "„Microsoft“ Jet" reiškinių tarnyba veikia smėlio dėžės režimu, kuris neleidžia įvertinti potencialiai nesaugių reiškinių. Daugiau informacijos apie smėlio dėžės režimą ieškokite žinyne "smėlio dėžės režimas".

Pateikia Ilgąjį, nurodantį dabartinę skaitymo/rašymo padėtį faile, atidarytame naudojant sakinį Open .

Sintaksė

Seek(failo numeris)

Būtinas failo skaičiausargumentas yra sveikasis skaičius, kuriame yra leistinas failo numeris.

Pastabos

Ieškoti grąžina reikšmę nuo 1 iki 2 147 483 647 (atitinka 2^31 – 1), imtinai.

Toliau aprašomos kiekvieno failų prieigos režimo pateikiamos reikšmės.

Režimas Pateikiama reikšmė
Atsitiktinis Kito perskaityto arba įrašyto įrašo numeris
Dvejetainė,
Išvestis,
Papildyti,
Įvestis
Baito vieta, kurioje atliekama kita operacija. Pirmasis baitas faile yra 1 pozicijoje, antrasis baitas yra 2 padėtyje ir t. t.

    

Pavyzdys

Pastaba

Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.

Šiame pavyzdyje naudojama funkcija Seek dabartinei failo padėčiai pateikti. Pavyzdyje daroma prielaida, kad TESTFILE tai failas, kuriame yra vartotojo apibrėžto tipo Recordįrašai.

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

Failams, atidarytiems atsitiktiniu režimu, ieškos funkcija grąžina paskesnio įrašo numerį.

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.

Failams, atidarytiems ne atsitiktiniu režimu, paieška grąžina baito padėtį, kurioje atliekama kita operacija. Tarkime TESTFILE , kad tai failas, kuriame yra kelios teksto eilutės.

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.