Seek İşlevi

Uygulandığı Öğe
Microsoft 365 için Access Access 2021 Access 2019 Access 2016

Not

Microsoft Jet İfade Hizmeti korumalı alan modunda çalışıyorsa, bu konuda açıklanan işlev, yöntem, nesne veya özellik devre dışı bırakılır ve bu da güvenli olabilecek ifadelerin değerlendirilmesini engeller. Korumalı alan modu hakkında daha fazla bilgi için Yardım'da "korumalı alan modu" araması yapın.

Open deyimi kullanılarak açılan bir dosya içinde geçerli okuma/yazma konumunu belirten bir Uzun döndürür.

Söz dizimi

Seek(dosyasayısı)

Gerekli dosyasayısıbağımsız değişkeni, geçerli bir dosya numarası içeren bir Tamsayıdır.

Açıklamalar

Seek , 1 ile 2.147.483.647 (2^31 – 1'e eşdeğer) (dahil) arasında bir değer döndürür.

Aşağıda her dosya erişim modu için dönüş değerleri açıklanmaktadır.

Mod Döndürülen Değer
Rasgele Okunan veya yazılan sonraki kaydın numarası
İkili,
Çıkış,
Ekle'yi seçin
Giriş
Sonraki işlemin gerçekleştirildiği bayt konumu. Bir dosyadaki ilk bayt 1 konumunda, ikinci bayt 2 konumundadır ve bu şekilde devam edilir.

    

Örnek

Not

Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.

Bu örnek, geçerli dosya konumunu döndürmek için Seek işlevini kullanır. Örnekte kullanıcı tanımlı türündeki Recordkayıtları içeren bir dosya olduğu varsayılırTESTFILE.

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

Rastgele modda açılan dosyalar için , Seek sonraki kaydın sayısını döndürür.

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.

Rastgele mod dışında modlarda açılan dosyalar için , Seek sonraki işlemin gerçekleştirildiği bayt konumunu döndürür. Birkaç satır metin içeren bir dosya olduğunu varsayalım TESTFILE .

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.