Share via


Fehlerhafte Eintragslänge (Fehler bis 59)

Die Länge einer Datensatz-Variablen in einer Get - oder Put -Anweisung muss der in der zugehörigen Open -Anweisung angegebenen Länge entsprechen. Dieser Fehler hat die folgenden Ursachen und Lösungen:

  • Die Länge der Datensatzvariablen weicht von der in der zugehörigen Open -Anweisung angegebenen Länge ab. Stellen Sie sicher, dass die Summe der Größen von Variablen mit fester Länge im benutzerdefinierten Typ, der den Typ der Datensatzvariablen angibt, mit dem Wert übereinstimmt, der in der Open-Anweisung in der Len-Klausel angegeben ist. Im folgenden Beispiel wird RecVar als Variable des entsprechenden Typs vorausgesetzt. Verwenden Sie die Len-Funktion , um die Länge wie folgt anzugeben:

    Open MyFile As #1 Len = Len(RecVar) 
    
    
  • Die Variable in einer Put -Anweisung ist (oder enthält) eine Zeichenfolge mit variabler Länge. Da einer Zeichenfolge mit variabler Länge, die mit der Put -Anweisung in eine Datei mit wahlfreiem Zugriff gesetzt wird, stets ein 2-Byte-Deskriptor hinzugefügt wird, muss die Zeichenfolge mit variabler Länge um mindestens zwei Zeichen kürzer sein, als die in der Len -Klausel der Open -Anweisung angegebenen Datensatzlänge.

  • Die Variable in einer Put -Anweisung ist (oder enthält) ein Variant -Objekt. Wie Zeichenfolgen mit variabler Länge erfordern auch Variant-Datentypen einen 2-Byte-Deskriptor. Variant-Objekte, die Zeichenfolgen mit variabler Länge enthalten erfordern einen 4-Byte-Deskriptor. Deshalb müssen Zeichenfolgen mit variabler Länge in einem Variant -Objekt um mindestens 4 Bytes kürzer sein, als die in der Len -Klausel angegebene Datensatzlänge.

Weitere Informationen erhalten Sie, indem Sie das fragliche Element auswählen und F1 (unter Windows) bzw. HILFE (unter Macintosh) drücken.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.