Compartir vía


Longitud de registro incorrecta (error 59)

La longitud de una variable de registro de una instrucción Get o Put debe tener la longitud especificada en su instrucción Open correspondiente. Este error tiene las siguientes causas y soluciones:

  • La longitud de la variable de registro es diferente a la longitud especificada en la instrucción Open correspondiente. Asegúrese de que la suma de los tamaños de las variables de longitud fija en el tipo definido por el usuario que define el tipo de la variable de registro es el mismo que el valor indicado en la cláusula de la instrucción OpenLen. En el siguiente ejemplo, supongamos que RecVar es una variable del tipo adecuado. Use la función Len para especificar la longitud, como se indica a continuación:

    Open MyFile As #1 Len = Len(RecVar) 
    
    
  • La variable de una instrucción Put es (o incluye) una cadena de longitud variable. Dado que un descriptor de 2 bytes siempre se agrega a una cadena de longitud variable colocada en un archivo de acceso aleatorio con Put, la cadena de longitud variable debe tener al menos 2 caracteres menos que la longitud de registro especificada en la cláusula Len de la instrucción Open.

  • La variable de una instrucción Put es (o incluye) una Variant. Como las cadenas de longitud variable, los tipos de datos de variante también requieren un descriptor de 2 bytes. Las variantes que contienen cadenas de longitud variable requieren un descriptor de 4 bytes. Por tanto, para las cadenas de longitud variable en una Variant, la cadena debe tener al menos 4 bytes menos que la longitud de registro especificada en la cláusula Len.

Para más información, seleccione el elemento en cuestión y presione F1 (en Windows) o AYUDA (en Macintosh).

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.