PDA

Vollständige Version anzeigen : Export von Access nach Excel mit Laufzeitfehler 3434


djuergen
21.08.2017, 08:59
Hallo Forum,

beim Versuch, den Inhalt einer Access-Tabelle in eine bestehende Excel-Datei mit Pivot-Tabelle zu exportieren, bekomme ich den o.g. Laufzeitfehler (Benannter Bereich kann nicht erweitert werden). Der Export funktioniert ohne Probleme, wenn in der Excel-Datei keine Pivot-Tabelle vorhanden ist. Sobald diese erstellt wurde (Datengrundlage ist das vorher exportierte Tabellenblatt), kommt sofort der Fehler.

Deshalb meine Vermutung, dass es an der Pivot-Tabelle liegt. Wir haben übrigens im Unternehmen auch noch Access-DB und Excel-Tabellen im Einsatz, die in der Office-Version 2003 erstellt wurden. Da klappt der Export ohne Probleme, auch wenn in der Zieldatei Pivot-Tabellen enthalten sind.

Wer kann helfen?

Gruß, Dirk

Luschi
21.08.2017, 09:51
Hallo Dirk,

wenn Du von EXPORT sprichst, dann heißt das, daß Du die Vba-Routine von Access aus startest und die Access-Daten nach Excel überträgst - oder willst Du das Ganze doch von Excel aus per Vba händeln und Daten aus Access importieren?

fragt sich Luschi
aus klein-Paris

djuergen
21.08.2017, 11:49
Hallo Luschi,

richtig, der Export wird von Access aus per VBA gestartet (DoCmd.TransferSpreadsheet...).

Wenn ich das nicht zum Laufen bringe, wäre Plan B der Import aus Access in die Excel-Datei.

Viele Grüße, Dirk

Drogist
21.08.2017, 13:46
Moin,
installiere Power Query, -> http://www.excel-ist-sexy.de/power-query-das-add-in/ und nimm Plan_B. Das funktioniert wenigstens "sauber"... :cool:

Luschi
22.08.2017, 07:46
Hallo Dirk,

habe mal mit Access 2013 & 2010 ein bischen rumgespielt und Tabellen nach Excel exportiert perDoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
"Kunden", "F:DatenDownloadsTest123.xlsx", True
- mit diesen Daten in Excel PivotTable im gleichen Arbeitsblatt erstellt
- und erneut Export-Befehl in Access gestartet
- egal ob Excel Datei offen oder geshlossen ist
- Export-Befehl funktioniert auch bei enthaltener PivotTable

Die Probleme begannen, als ich der AccessTabelle ein paar Spalten dazugab, so daß der neue Export in den Datenbereich der PivotTable hineingereicht hätte.
Ab da gab es nur noch Fehlermeldungen: 3434,3491 3190
Selbst nach dem Löschen der Excel-Import-Tabelle kamen Error-Error-...
Nach dem Beenden beider Programme fbei gelöschter Excel-Import-Tabelle funktionierte der Datenexport wieder, aber Access exportierte nun nicht mehr in eine neue Exceltabelle sondern in die erstbeste.
Dann habe ich einen Teil der Daten zur intelligenten Tabelle formatiert.
Da war es dann ganz aus mit den Datenexport nach Excel.
hier half nur der Export in eine neue, noch nicht vorhandene Exceldatei.
Mich wundert, daß Access (egal in welcher Version) beim Export der Daten nach Excel den Bereich nicht gleich als intelligente Tabelle formatiert, andere Programme, wie PowerQuery & PowerPivot können das ja auch.
Kurz & gut: Wenn die Access-Tabelle in der Breite spaltenmäßig wächst, sind Probleme vorprogrammiert, falls es Objekte in der Excel-Tabelle gibt, die sich dann bereichsmäßig überschneiden!

Gruß von Luschi
aus klein-Paris

djuergen
22.08.2017, 09:07
Hallo Luschi,

vielen Dank für Deine Mühe! Ich habe beim Testen festgestellt, dass es auch dann zum Laufzeitfehler kommt, wenn die Anzahl der Spalten in der Access-Tabelle unverändert bleibt.

Power-Query ist keine Option (keine Rechte zum Installieren), daher werde ich wohl die Daten per ADO aus der DB holen, oder die Pivot-Tabelle direkt mit den Daten aus der DB füttern.

Viele Grüße, Dirk

Luschi
22.08.2017, 11:06
Hallo Dirk,

wegen PowerQuery und PowerPivot würde ich doch mal mit den Verantwortlichen reden. Schließlich sind das offizielle Entwicklungen von Microsoft, die dafür gedacht sind, die Datenauswertung auf eine neue Qualitätsstufe zu bringen. Gerade PowerPivot ist ja dafür geschaffen worden, Daten aus unterschiedlichsten Quelle einzulesen, miteinander zu Verknüpfen durch Setzen von Beziehungen (und nicht durch den arschlahmen SVerweis()) und als Excel Pivot-Tabelle auszuwerten.
Besonders ein zu integrierender Kalender in PowerPivot macht den Datenvergleich von Zeiträumen (KW, Monat, Quartal, HJ usw.) per Filter in verschieden Jahren zu einem Kinderspiel. Im normalen Excel-Pivot ist das nur mit viel Kraft & Spucke zu realisieren und dabei sehr uinflexibel.
Ich war jetzt in einer Firma, da hat man sogar PowerPivot aus der Installation rausgeschmissen, obwohl M$ es gerade in dieser Version integriert hat.
Der Admin war dagegen mit dem neuesten iPhone & iPad ausgestattet, obwohl die Dinge ja nun gerade nicht vor Datensicherheit glänzen.
Ich würde es an Deiner Stelle auch mit ADO-DB machen, allerdings von Excel-Vba aus.

Gruß von Luschi
aus klein-Paris

ebs17
22.08.2017, 12:13
Mich wundert, daß Access (egal in welcher Version) beim Export der Daten nach Excel den Bereich nicht gleich als intelligente Tabelle formatiert
Was bitte ist eine "intelligente Tabelle"?
Und wieso ist ein externes Zusatzprogramm für Intelligenz zuständig und nicht Excel selber oder der Entwickler selber?

Ansonsten: Ein Benannter Bereich ist ein Objekt in Excel. Ein Export aus Access wie auch immer kennt den nicht und wird sich nicht darum kümmern.
eine bestehende Excel-Datei mit Pivot-Tabelle
... wird daher etwas mehr enthalten als nur leere Arbeitsblätter. Ggf. hebt man die Bindung der Pivottabelle an den Datenbereich vor Export auf oder erstellt die Pivottabelle per VBA neu nach erfolgreichen Datenbezug.

Kurz & gut: Wenn die Access-Tabelle in der Breite spaltenmäßig wächst, sind Probleme vorprogrammiert
Ja, aber das wird nur bei "Entwicklern" vorkommen, die von Datenmodellierung und richtiger DB-Arbeit wenig Ahnung haben und ihre Gewohnheiten aus anderen Programmen schlicht übertragen. Eine neue Spalte für ein neues Jahr gibt es in einer geplanten Datenbanktabelle nicht.