PDA

Vollständige Version anzeigen : Access-Daten nach Excel


Edgar Basler
15.06.2012, 07:36
Hallo liebe Helfer|innen

Ich hab' mal wieder was ganz tolles zu erledigen. Daten, die in Access vorliegen, sind für weitere Dinge nach Excel zu exportieren.

Nun habe ich dies über "Export" --> "Excel" probiert. Die Daten wurden exportiert und auch richtig angezeigt. Nun kommt aber das Dilemma:

Die Feldnamen werden als Überschrift mitübernommen. Da diese Feldnamen nicht unbedingt für Überschriften geeignet sind, wollte ich die einmal in der Excel-Datei nach meinen Bedürfnissen anpassen und dann anschließend nur noch die Daten exportieren. Dies bekomme ich aber nicht hin.

Mache ich da etwas grundsätzliches falsch? Geht das nicht? Wer kann mir hierzu eine Lösung nennen?

... und mal ganz nebenbei:

Danke für alle die sich hier für die vielen Fragen aufopfern.
Edgar

hcscherzer
15.06.2012, 07:52
Per VBA mit der Methodedocmd.transferspreadsheetkannst Du im fünften Argument angeben, ob die Feldnamen mit exportiert werden oder nicht.
Näheres in der Online Hilfe.

peterffw
15.06.2012, 07:55
Hi Edgar,

wenns nur die Überschriften sind, dann könntest Du die Daten mit einer Abfrage exportieren. Du gibst dann im Feldnamen der Abfrage z.B. Kundennummer:KDNR an wenn als Überschrift "Kundennummer" stehen soll, und das Datenbankfeld "KDNR" heisst.

Oder Du arbeitest mit einem Excel-Objekt - wenn es neben der individuellen Überschrift auch noch etwas mehr wie z.B. das formatieren der Felder sein soll.

Servus
Peter

Edgar Basler
15.06.2012, 08:25
Danke

Ich werde mal mir die Funktion "docmd.transferspreadsheet" ansehen und probieren.

Edgar Basler
15.06.2012, 12:40
Ich muß den Thread nochmals öffnen.

Hallo "hcscherzer" Dein Kommentar muß scheinbar falsch sein. In der Hilfe steht:

Wenn Sie Daten aus einer Microsoft Access-Tabelle oder einer Access-Auswahlabfrage in ein Arbeitsblatt exportieren, werden die Feldnamen in der ersten Zeile des Arbeitsblatts eingefügt, unabhängig vom Wert dieses Arguments.

Habe dies auch ausprobiert. Die Feldnamen werden übertragen, ob man will oder nicht. Oder hast Du etwas anderes gemeint?

maikek
15.06.2012, 13:01
Moin,
die erste Zeile wird entweder als Feldname oder als 1. Datenzeile übertragen. Diese Option wird mit true/false gesetzt.
Folge doch dem Vorschlag von peterffw, generiere die von dir gewünschten Spaltenüberschriften über eine Abfrage und verfrachte diese Abfrage dann per TransferSpreadsheet nach Excel, erste Zeile = Feldnamen.
maike

Edgar Basler
15.06.2012, 13:17
Manchmal gehen solche Vorschläge nicht. Grund: Ich benötige teilweise 2 und 3 Zeilen als Überschrift.

Ich habe aber nun noch etwas "gebastelt / probiert". Und siehe da - manchmal muß man sich nur etwas zurücklehnen und unkonventionell denken.

Da dies vielleicht auch für andere einen gangbaren Weg darstellen könnte, möchte ich dies hier kurz beschreiben.

1.) Excel-Datei öffnen.
2.) Register benennen.
3.) Falls 3 Zeilen für die Überschrift benötigt wird, dann die Zeile 4 bis n (Beispiel: 99) markieren.
4.) Einen Bereichsnamen vergeben.
5.) Zeile 4 markieren.
6.) Zeile 4 ausblenden.
7.) Datei schließen.
8.) In Access im Formular z. B. eine Schaltfläche setzen.
9.) Als Ereignis "Beim Klicken" oder "Beim Doppelklicken" auswählen.
10.) Dort die Funktion "DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Name der Abfrage", "Name der Datei", , "Bereichsname (in Excel)" eingeben.

Und schon funktioniert es.

Achtung: Name der Abfrage und Registername muß gleich sein. Ansonsten legt Access in Excel ein neues Register mit dem Namen der Abfrage an.

So - nun hoffe ich, daß ich auch etwas dazu beitragen konnte.

Edgar