Função Seek

Aplica-se a
Access para Microsoft 365 Access 2021 Access 2019 Access 2016

Observação

A função, método, objeto ou propriedade descrita neste tópico está desativada se o Serviço Microsoft Jet Expression estiver em execução no modo sandbox, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo sandbox, procure "modo sandbox" na Ajuda.

Devolve um Valor Longo especificando a posição de leitura/escrita atual num ficheiro aberto com a instrução Abrir .

Sintaxe

Seek(filenumber)

O argumento filenumbernecessário é um Número Inteiro que contém um número de ficheiro válido.

Comentários

Procurar devolve um valor entre 1 e 2.147.483.647 (equivalente a 2^31 – 1), inclusive.

O seguinte descreve os valores devolvidos para cada modo de acesso a ficheiros.

Modo Valor de retorno
Aleatório Número do registo seguinte lido ou escrito
Binário,
Saída,
Acrescentar,
Entrada
Posição de byte na qual a próxima operação ocorre. O primeiro byte num ficheiro está na posição 1, o segundo byte está na posição 2 e assim sucessivamente.

    

Exemplo

Observação

Exemplos que se seguem demonstram a utilização desta função num módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Programador na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função Seek para devolver a posição atual do ficheiro. O exemplo pressupõe que TESTFILE é um ficheiro que contém registos do tipo Recorddefinido pelo utilizador .

Type Record    ' Define user-defined type.
    ID As Integer
    Name As String * 20
End Type

Para ficheiros abertos no modo Aleatório, Procurar devolve o número do registo seguinte.

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.

Para ficheiros abertos em modos diferentes do modo Aleatório, Procurar devolve a posição de byte na qual a operação seguinte ocorre. Suponha que TESTFILE é um ficheiro que contém algumas linhas de texto.

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.