Функція Seek

Застосовується до
Access для Microsoft 365 Access 2021 Access 2019 Access 2016

Примітка.

Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо Microsoft Jet Expression Service працює в режимі ізольованого програмного середовища, що запобігає обчисленню потенційно небезпечних виразів. Щоб отримати докладні відомості про режим ізольованого програмного середовища, у вікні довідки шукайте за запитом "режим ізольованого програмного середовища".

Повертає значення типу Long, яке вказує поточне положення читання й записування у файлі, відкритому за допомогою інструкції Open .

Синтаксис

Seek(номер файлу)

Обов'язковий аргумент номера файлу– це ціле число, яке містить припустимий номер файлу.

Примітки

Функція SEEK повертає значення від 1 до 2 147 483 647 (еквівалент від 2^31 – 1) включно.

Нижче описано значення, що повертаються для кожного режиму доступу до файлів.

Режим роботи Значення, що повертається
Випадково. Номер наступного прочитаного або записаного запису
Binary (Бінарний)
Висновок,
Додати,
Вхідні дані
Позиція байта, на якій відбувається наступна операція. Перший байт у файлі перебуває в позиції 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.

Для файлів, відкритих у режимах, відмінних від режиму Random, функція 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.