Remarque
La fonction, la méthode, l’objet ou la propriété décrits dans cette rubrique est désactivé 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 un Long spécifiant la position actuelle en lecture/écriture dans un fichier ouvert à l’aide de l’instruction Open .
Syntaxe
seek(filenumber)
L’argument numéro_fichierrequis est un entier contenant un numéro de fichier valide.
Remarques
La recherche renvoie une valeur comprise entre 1 et 2 147 483 647 (équivalent à 2^31 – 1), inclus.
Cette section 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, Ajouter, Entrée |
Position de l’octet à laquelle l’opération suivante a lieu. Le premier octet d’un fichier est en position 1, le deuxième octet en 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 développeur dans la liste déroulante en regard de Rechercher , puis entrez un ou plusieurs termes dans la zone de recherche.
Cet exemple utilise la fonction Seek pour renvoyer la position actuelle du fichier. L’exemple suppose qu’il s’agit d’un TESTFILE 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, la recherche renvoie le numéro de l’enregistrement suivant.
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, la recherche renvoie la position de l’octet à laquelle l’opération suivante a lieu. Supposons qu’il TESTFILE s’agit d’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.