Seek, fonction

S’applique à
Access pour Microsoft 365 Access 2021 Access 2019 Access 2016

Remarque

La fonction, la méthode, l’objet ou la propriété décrite dans cette rubrique est désactivée si le service d’expression Microsoft Jet s’exécute en mode bac à sable, ce qui empêche l’évaluation d’expressions potentiellement dangereuses. Pour plus d’informations sur le mode bac à sable, recherchez « mode bac à sable » dans l’aide.

Renvoie une valeur de type Long spécifiant la position de lecture/écriture actuelle dans un fichier ouvert à l’aide de l’instruction Open .

Syntaxe

Seek(filenumber)

L’argument filenumberrequis est un entier contenant un numéro de fichier valide.

Remarques

Seek retourne une valeur comprise entre 1 et 2 147 483 647 (équivalente à 2^31 – 1), inclus.

La section suivante décrit les valeurs de retour pour chaque mode d’accès aux fichiers.

Mode Valeur renvoyée
Aléatoire Numéro de l’enregistrement suivant lu ou écrit
Binaire,
Sortie,
Append,
Input
Position d’octet à laquelle l’opération suivante a lieu. Le premier octet d’un fichier est à la position 1, le deuxième octet est à la position 2, et ainsi de suite.

    

Exemple

Remarque

Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes dans la zone de recherche.

Cet exemple utilise la fonction Seek pour retourner la position actuelle du fichier. L’exemple suppose qu’il TESTFILE s’agit d’un fichier contenant des enregistrements du type Recorddéfini par l’utilisateur.

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

Pour les fichiers ouverts en mode aléatoire, Seek retourne le nombre d’enregistrements suivants.

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.

Pour les fichiers ouverts dans des modes autres que le mode aléatoire, Seek retourne la position d’octet à laquelle l’opération suivante a lieu. Supposons que TESTFILE est un fichier contenant quelques lignes de texte.

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.