หมายเหตุ: ฟังก์ชัน วิธีการ วัตถุ หรือคุณสมบัติที่อธิบายไว้ในหัวข้อนี้จะถูกปิดใช้งานถ้า 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.