Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: uwe01 am September 18, 2011, 13:34:55

Titel: Original Tabellen Name an Excel übergeben
Beitrag von: uwe01 am September 18, 2011, 13:34:55
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
Titel: Re: Original Tabellen Name an Excel übergeben
Beitrag von: DF6GL am September 18, 2011, 15:08:23
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.
Titel: Re: Original Tabellen Name an Excel übergeben
Beitrag von: uwe01 am September 18, 2011, 16:08:39
Hallo,
Danke für die schnelle Antwort, habe es mal eben getestet klapt wunder bar.

Gruß Uwe01