הערה: הפונקציה, פעולת השירות, האובייקט או המאפיין המתוארים בנושא זה אינם זמינים אם שירות הביטויים של Microsoft Jet פועל במצב ארגז חול (Sandbox) שמונע הערכה של ביטויים שעלולים להיות לא בטוחים. לקבלת מידע נוסף על מצב ארגז חול, חפש את "מצב ארגז חול" בעזרה.
החזרת טווח ארוך המציין את מיקום הקריאה/כתיבה הנוכחי בתוך קובץ שנפתח באמצעות המשפט Open .
תחביר
Seek( filenumber )
מספר הקובץארגומנט הוא מספר שלם המכיל מספר חוקי מספר קובץ.
הערות
הפונקציה Seek מחזירה ערך בין 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
עבור קבצים שנפתחים במצב אקראי, הפונקציה Seek מחזירה את מספר הרשומה הבאה.
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.
עבור קבצים שנפתחים במצבים שאינם מצב אקראי, הפונקציה Seek מחזירה את מיקום הבית שבו הפעולה הבאה מתבצעת. נניח 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.