Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Export zu Excel füllt Tabelle mit #Name?

Begonnen von ChickenWing, September 23, 2016, 09:55:34

⏪ vorheriges - nächstes ⏩

ChickenWing

Servus,

ich habe eine Abfrage die ich nach Excel exportieren will.

Private Sub Befehl1_Click()
DoCmd.OpenQuery _
"qryExport"
DoCmd.RunCommand acCmdOutputToExcel
DoCmd.Close acQuery, "qryExport"
End Sub


Der Code hat in einer anderen DB, natürlich mit entsprechend angepassten Namen super funktioniert. Diesmal macht er aber Ärger.
Es läd vergleichsweise recht lange(bei ca. selber Datenmenge), öffnet die Abfrage, läd wieder lange, öffnet Excel und ich bekomme eine Tabelle die teilweise leer ist und teilweise mit #Name? ausgefüllt.

Ich kann mir das nicht so richtig erklären... Ich arbeite mit Access 2016 auf Win7.

Jemand eine Idee?

Schonmal Danke  :) und liebe Grüße
Max

EDIT: Auch wenn ich den normalen Weg über den Reiter externe Daten einen Export mache, passiert das selbe.
----------------------
Mit freundlichen Grüßen

Max

el_gomero

Moin,

wie sehen denn die Daten aus, wenn du die qryExport in Access öffnest?
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

ChickenWing

Normal, er zeigt mir alles richtig an. Das ist auch der Grund warum es mich so irritiert... =/
----------------------
Mit freundlichen Grüßen

Max

el_gomero

versuch mal statt der Zeile mit dem RunCommand


DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "qryExport", "C:\DeinPfad\DeinDateiname.xlsx", True


btw und warum öffnest du die Query und schliesst sie dann wieder?
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

ChickenWing

Ich kann leider keinen festen Pfad angeben, das soll im Endeffekt für Nutzer im Unternehmen sein, die nur eine Runtime Version haben. Die würden sich ja alles gegenseitig überschreiben.

Die Abfrage muss ja offen sein für meinen RunCommand und da ich nicht will das die Endnutzer mir in der Abfrage rumpfuschen schließe ich sie danach wieder.

Aber, ich hab es hinbekommen. Hab Blödsinn im SQL Code bei der Abfrage gehabt. Erstaunlich, dass es bei dem Müll den ich da mit Joins fabriziert hab überhaupt in Access noch Sachen angezeigt hat 0.o
Trotzdem vielen Dank für die Hilfe, deinen Code mit "TransferSpreadsheet" kann ich für was anderes gebrauchen. Wusste nicht, dass es sowas gibt   :D

Ich lass den Thread nochmal für einen Moment ungelöst, falls du noch was zu meiner Abfrage öffnen/schließen Sache sagen willst. Vielleicht kann man es ja intelligenter lösen. Kann man den Nutzer einen Pfad aussuchen lassen im Formular?

Nochmal einen Gruß aus Mittelhessen
Max
----------------------
Mit freundlichen Grüßen

Max

el_gomero

Hallo Max,

Zitat
Ich kann leider keinen festen Pfad angeben, das soll im Endeffekt für Nutzer im Unternehmen sein, die nur eine Runtime Version haben. Die würden sich ja alles gegenseitig überschreiben.

Das war ein Beispiel. Natürlich kann hier auch eine Umgebungsvariable als Pfad gesetzt werden, der Pfad und / oder Dateiname aus einem ungebundenen Feld im Form übernommen werden, und und und ...

Zitat
Die Abfrage muss ja offen sein für meinen RunCommand und da ich nicht will das die Endnutzer mir in der Abfrage rumpfuschen schließe ich sie danach wieder.
Dann wäre vllt Docmd.OutputTo interessant.

Zitat
Kann man den Nutzer einen Pfad aussuchen lassen im Formular?
Na klar, Beispiele gibt es zuhauf im Netz - Suchbegriff zB "VBA Pfad", "VBA Dateidialog"
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

ChickenWing

Alles klar, ich mach mich sofort mal kundig.

Vielen vielen Dank =)
----------------------
Mit freundlichen Grüßen

Max