ฟังก์ชัน Seek

นำไปใช้กับ
Access for Microsoft 365 Access 2021 Access 2019 Access 2016

หมายเหตุ

ฟังก์ชัน วิธีการ วัตถุ หรือคุณสมบัติที่อธิบายไว้ในหัวข้อนี้จะถูกปิดใช้งานถ้า Microsoft Jet Expression Service ทํางานในโหมด Sandbox ซึ่งจะป้องกันการประเมินนิพจน์ที่อาจไม่ปลอดภัย สําหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมด Sandbox ให้ค้นหา "โหมด Sandbox" ในวิธีใช้

ส่งกลับ Long ที่ระบุตําแหน่งการอ่าน/เขียนปัจจุบันภายในไฟล์ที่เปิดโดยใช้คําสั่ง เปิด

ไวยากรณ์

Seek(filenumber)

อาร์กิวเมนต์ filenumberที่จําเป็นคือจํานวนเต็มที่มีหมายเลขไฟล์ที่ถูกต้อง

ข้อสังเกต

ค้นหา ส่งกลับค่าระหว่าง 1 และ 2,147,483,647 (เทียบเท่ากับ 2^31 – 1) ครอบคลุม

ต่อไปนี้จะอธิบายค่าที่ส่งกลับสําหรับแต่ละโหมดการเข้าถึงไฟล์

โหมด ค่าที่ส่งกลับ
แบบ สุ่ม หมายเลขของเรกคอร์ดถัดไปที่อ่านหรือเขียน
ไบนารี
เอาท์พุท,
ผนวก
ข้อมูลที่ป้อนเข้า
ตําแหน่งไบต์ที่มีการดําเนินการถัดไป ไบต์แรกในไฟล์อยู่ที่ตําแหน่ง 1 ไบต์ที่สองคือตําแหน่งที่ 2 และอื่นๆ

    

ตัวอย่าง

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา

ตัวอย่างนี้ใช้ฟังก์ชัน Seek เพื่อส่งกลับตําแหน่งไฟล์ปัจจุบัน ตัวอย่างจะถือว่า TESTFILE เป็นไฟล์ที่มีเรกคอร์ดของชนิด Recordที่ผู้ใช้กําหนด

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

สําหรับไฟล์ที่เปิดในโหมดสุ่ม ค้นหา จะส่งกลับจํานวนระเบียนถัดไป

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.

สําหรับไฟล์ที่เปิดในโหมดอื่นนอกเหนือจากโหมดสุ่ม การค้นหา จะส่งกลับตําแหน่งไบต์ที่มีการดําเนินการครั้งถัดไป สมมติว่า 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.