Hallo,
Ich brauche noch mal Hilfe. Mein Problem ist folgendes, muß jetzt jedes Mal den Namen für die Excel Tabelle angeben in der VBA. Im VBA Anhang wird es auf Laufwerk C mit den Titel Test.xls gespeichert. Habe schon rum experimentiert aber egal was Ich da hinter c: schreibe so heißt dann auch die Excel Datei. Was muss im VBA Code geändert werden damit ich den Original Titel bekomme. Im Auszug des VBA Codes wo mir Database sehr geholfen hat, seht ihr den Code.
Case 2
'Die Datenherkunft des Berichts wird ermittelt
'dazu muss der Bericht geöffnet werden (versteckt)
DoCmd.OpenReport Berichtsname, acHidden
'Datenherkunft auslesen
Datenherkunft = Reports(Berichtsname).RecordSource
'Bericht wieder schließen, ev. Änderungen nicht speichern
DoCmd.Close acReport, Berichtsname, acSaveNo
'Die Daten der Abfrage werden an Excel gesendet
DoCmd.TransferSpreadsheet (acExport), acSpreadsheetTypeExcel9, Datenherkunft, "C:\Testxls"
Gruß Uwe01
Hallo,
wenn ich mal versuche, Deine Frage zu interpretieren, dann willst Du die Excel-Datei so benennen, wie die Tabelle heißt, aus der der Bericht seine Daten bezieht.
Wenn im der Datenherkunft des Berichtes immer nur dieser Tabellename steht, dann könnte das einfach so lauten:
DoCmd.TransferSpreadsheet (acExport), acSpreadsheetTypeExcel9, Datenherkunft, "C:\" & Datenherkunft & ".xls"
Steht in der Berichts-Datenherkunft allerdings ein SQL-String, so muss der Tabellenname (den Du aber doch eigentlich schon wissen müsstest) anderweitig hergeholt werden, entweder durch "Analyse" des SQL-Strings (was vernünftig nur funktioniert, wenn dieser SQL-String auf lediglich einer Tabelle basiert) oder durch Verwendung einer (Public?) -Variablen, in der der Tabellenname zu passeneder Gelegenheit abgespeichert wurde.
Hallo,
Danke für die schnelle Antwort, habe es mal eben getestet klapt wunder bar.
Gruß Uwe01