none
docmd transferspreadsheet 255 Zeichen Problem RRS feed

  • Frage

  • Hallo,

    wir haben derweil ein Problem, das wir leider nicht ohne weiteres lösen können. Wir hoffen, dass ihr uns ein wenig auf die Sprünge helfen könnt.

    Umgebung: Windows 7 mit Office 2007. Alle Systeme sind auf dem gleichen Build, auch Office.

    Wir haben ein Access Frontend, welches mit einer weiteren Access Datenbank arbeitet. Aus dieser DB werden mittels docmd transferspreadsheet Daten an Microsoft Excel übergeben und anschließend über Serienbriefvorlagen (Word) aus der Excel Tabelle abgerufen.

    Mit Texte, die kleiner gleich 255 sind haben wir keine Probleme. Sobald die Texte größer gleich 255 sind, werden die Texte abgeschnitten. Das Problem besteht nicht erst in der Microsoft Word Vorlage, sondern bereits in Microsoft Excel.

    Wir haben bereits einige Rechner, die bereits seit längerer Zeit im Betrieb sind, bei denen alles reibungslos funktioniert. Es wurde hier jedoch nie dokumentiert was genau eingestellt werden muss damit es funktioniert.

    Jetzt sitzen wir hier seit geraumer Zeit und überlegen was es sein könnte bzw. was man machen kann damit es wieder läuft.

    Wir vermuten, dass irgendwelcher Parameter in Office oder Schnittstellen angepasst werden müssen damit es sauber läuft. An dem "Programm" können wir leider nichts ändern, da dies vorerst nicht gewünscht wird. Von daher sollen wir eine Lösung finden, die systemseitig umzusetzen wäre.

    Hat jemand eine Idee?

    Montag, 19. Februar 2018 14:35

Alle Antworten

  • Dazu solltet ihr mal die Access-DB's prüfen.
    Zeichenfelder sind dort max. 255-Zeichen lang. Möchte man längere Texte ablegen, so sind die Felder als Memo-Felder zu definieren.
    Montag, 19. Februar 2018 14:38
  • Die Felder sind unseres Wissens nach als Memo Felder deklariert. Ansonsten würde das Ganze an den alten AP's ebenfalls nicht funktionieren.
    Montag, 19. Februar 2018 15:09
  • Dann beschreib ma genauer, was du mit "werden mittels docmd..." genau machst.
    Denn mittels docmd erfolgt ja i.d.R. kein Transfer sondern mit dem, was da aufgerufen wird.
    Montag, 19. Februar 2018 15:19
  • In der Accessdatenbank sind Textbausteine vorhanden, die vom Benutzer ausgewählt werden. Diese ausgewählten Texte werden dann mittels DoCmd.Transferspreadsheet in eine Excel Datei im Format Excel2000 exportiert. Dabei werden aber nur die ersten 255 Zeichen jedes Textbausteins exportiert und der Rest des Textes abgeschnitten, falls der Text länger ist.
    Dienstag, 20. Februar 2018 16:23
  • Dann liegt wohl die Limitierung in der "Transferspreadsheet"-Methode, dass diese eben nur alte Formate mit max. 255-Zeichen in einer Zeichenkette unterstützt (ca. Excel97).

    Wenn dem so ist, hilft nur eine Automation mittels CreateObject("Excel.Application") und den direkten Zugriffen auf Sheet- und Range-Objekte (Zellen).

    Dienstag, 20. Februar 2018 16:43
  • Uns wundert dabei nur, dass es auf einigen Rechnern mit der gleichen Accessdatenbank und Officeversion funktioniert.
    Mittwoch, 21. Februar 2018 08:57
  • Bei Microsoft wundert mich mittlerweile gar nichts mehr.
    Gleiche Version heißt u.U. nicht gleicher Updatestand.
    Dazu gehören leider nicht nur die nativen Office-Komponenten sondern ebenso die Versionen beiteiligter Shared-Komponenten, DLL's, Runtimes, C++ und sonstige "Redistributables", WinSxS-(Side By Side)-Assemblies und -DLL's.

    Wie in einem anderen Thread gerade erst gelesen, half in dem fall das Deinstallieren irgend eines kaputten/inkompatiblen Pakets.

    Wenn es nicht funktioniert, gibt es häufig halt nur dei Alternative: PC komplett neu aufsetzten (Basisinstallation!).

    Auch dazu gibt es vielleicht eine Alternative:
    Wenn es eine vergleichbare Hardware (also einen anderen PC) gibt, diesen sichern, auf dem nicht funktionierenden restoren und hoffen, dass es dann klappt.

    Mittwoch, 21. Februar 2018 09:06