הפונקציה Seek

חל על
Access של Microsoft 365 Access 2021 Access 2019 Access 2016

הערה

הפונקציה, פעולת השירות, האובייקט או המאפיין המתוארים בנושא זה אינם זמינים אם שירות הביטויים של Microsoft Jet פועל במצב ארגז חול (Sandbox) שמונע הערכה של ביטויים שעלולים להיות לא בטוחים. לקבלת מידע נוסף על מצב ארגז חול, חפש את "מצב ארגז חול" בעזרה.

החזרת טווח ארוך המציין את מיקום הקריאה/כתיבה הנוכחי בתוך קובץ שנפתח באמצעות המשפט Open .

תחביר

Seek(filenumber)

הארגומנט required 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 מחזירה את מיקום הבית שבו הפעולה הבאה מתבצעת. Assume 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.