Partager via


Longueur d’enregistrement incorrecte (Erreur 59)

La longueur d’une variable d’enregistrement dans une instruction Get ou Put doit être identique à celle de son instruction Open correspondante. Causes et solutions pour cette erreur :

  • La longueur de la variable d’enregistrement n’est pas la même que la longueur spécifiée dans l’instruction Open correspondante. Vérifiez que la somme des tailles des variables de longueur fixe dans le type défini par l’utilisateur qui détermine le type de la variable d’enregistrement est identique à la valeur indiquée dans la clause Len de l’instruction Open. Dans l’exemple suivant, supposons que RecVar est une variable du type approprié. Utilisez la fonction Len pour spécifier la longueur, comme suit :

    Open MyFile As #1 Len = Len(RecVar) 
    
    
  • La variable d’une instruction Put est (ou inclut) une chaîne de longueur variable. Sachant qu’un descripteur sur 2 octets est toujours ajouté à une chaîne de longueur variable placée dans un fichier à accès aléatoire avec Put, la chaîne de longueur variable doit être plus courte d’au moins 2 caractères que la longueur d’enregistrement spécifiée dans la clause Len de l’instruction Open.

  • La variable d’une instruction Put est (ou inclut) une valeur de type Variant. De même que pour les chaînes de longueur variable, les types de données Variant nécessitent également un descripteur sur 2 octets. Les variantes contenant des chaînes de longueur variable nécessitent un descripteur sur 4 octets. Par conséquent, pour des chaînes de longueur variable d’une valeur de type Variant, la chaîne doit être plus courte d’au moins 4 octets que la longueur d’enregistrement spécifiée dans la clause Len.

Pour plus d’informations, sélectionnez l’élément en question et appuyez sur F1 (sur Windows) ou AIDE (sur Macintosh).

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.