Функция Seek

Применяется к
Access для Microsoft 365 Access 2021 Access 2019 Access 2016

Примечание

Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".

Возвращает значение Long, указывающее текущую позицию чтения и записи в файле, открытом с помощью инструкции Open .

Синтаксис

Seek(filenumber)

Обязательный аргумент filenumber— это целое число, содержащее допустимый номер файла.

Замечания

Функция Поиска возвращает значение от 1 до 2 147 483 647 (эквивалентно 2^31 –1) включительно.

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

Режим Возвращаемое значение
Произвольный Номер следующей записи, прочитанного или записанного
Двоичный,
Выходные данные,
Добавить,
Ввод
Позиция байтов, в которой выполняется следующая операция. Первый байт в файле находится в позиции 1, второй байт — в позиции 2 и т. д.

    

Пример

Примечание

В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (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.