Funzione Seek

Si applica a
Access per Microsoft 365 Access 2021 Access 2019 Access 2016

Nota

La funzione, il metodo, la proprietà o l'oggetto descritto in questo argomento è disabilitato se Microsoft Jet Expression Service è in esecuzione in modalità sandbox, che impedisce la valutazione delle espressioni potenzialmente pericolose. Per altre informazioni sulla modalità sandbox, cercare "modalità sandbox" nella Guida.

Restituisce un Long specificando la posizione di lettura/scrittura corrente all'interno di un file aperto utilizzando l'istruzione Open .

Sintassi

Cerca(numero file)

L'argomento filenumberrichiesto è un numero intero contenente un numero di file valido.

Osservazioni

Ricerca restituisce un valore compreso tra 1 e 2.147.483.647 (equivalente a 2^31 – 1), inclusi.

Di seguito vengono descritti i valori restituiti per ogni modalità di accesso ai file.

Moda Valore restituito
Random Numero del record successivo letto o scritto
Binario,
Produzione,
Aggiungere,
Input
Posizione byte in cui viene eseguita l'operazione successiva. Il primo byte di un file si trova nella posizione 1, il secondo byte nella posizione 2 e così via.

    

Esempio

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

In questo esempio viene usata la funzione Seek per restituire la posizione corrente del file. L'esempio presuppone TESTFILE che sia un file contenente record del tipo Recorddefinito dall'utente .

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

Per i file aperti in modalità casuale, la funzione Ricerca restituisce il numero del record successivo.

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.

Per i file aperti in modalità diverse dalla modalità casuale, la ricerca restituisce la posizione del byte in cui viene eseguita l'operazione successiva. Supponiamo TESTFILE sia un file contenente poche righe di testo.

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.