Bericht in ANDERER Datenbank anlegen

15/01/2008 - 12:40 von Georg Matejka | Report spam
Hallo,
wie kann ich einen Bericht in einer ANDEREN Datenbank "From Scratch" anlegen?
Für die aktuelle Datenbank funktioniert es mit
...
Set objRpt = CreateReport
DoCmd.Save acReport, objRpt.Name


Die CreateReport-Funktion bietet einen Parameter "Database". Wenn ich den
jedoch wie folgt aufrufe
...
Set objWrk = DBEngine.Workspaces(0)
Set objDb = objWrk.CreateDatabase(CurrentProject.Path & "\temp.mdb",
dbLangGeneral)
Set objRpt = CreateReport(objDb.Name)
...

erscheint beim Ausführen der Zeile "CreateReport" Fehler "7870 / Access
kann die Datenbank C:\,,, nicht finden.", obwohl die Datenbank an sich davor
korrekt angelegt wurde.

Woran liegt das?
"temp.mdb" soll dazu dienen, diesen Bericht temporàr zu generieren, ihm die
gewünschten Steuerelemente hinzuzufügen und das Ergebnis anzuzeigen.

Danke
Georg
 

Lesen sie die antworten

#1 Karl Donaubauer
15/01/2008 - 13:31 | Warnen spam
Georg Matejka wrote:
wie kann ich einen Bericht in einer ANDEREN Datenbank "From Scratch"
anlegen? Für die aktuelle Datenbank funktioniert es mit
...
Set objRpt = CreateReport
DoCmd.Save acReport, objRpt.Name

Die CreateReport-Funktion bietet einen Parameter "Database". Wenn ich
den jedoch wie folgt aufrufe
...
Set objWrk = DBEngine.Workspaces(0)
Set objDb = objWrk.CreateDatabase(CurrentProject.Path & "\temp.mdb",
dbLangGeneral)
Set objRpt = CreateReport(objDb.Name)
...
erscheint beim Ausführen der Zeile "CreateReport" Fehler "7870 /
Access
kann die Datenbank C:\,,, nicht finden.", obwohl die Datenbank an
sich davor korrekt angelegt wurde.

Woran liegt das?
"temp.mdb" soll dazu dienen, diesen Bericht temporàr zu generieren,
ihm die gewünschten Steuerelemente hinzuzufügen und das Ergebnis
anzuzeigen.



Wurscht, denn <F1> zu "CreateReport" sagt zum Datenbank-Parameter:
"Ein Zeichenfolgenausdruck, der den Namen der Datenbank angibt,
in der die Berichtsvorlage enthalten ist, die Sie zum Erstellen des
Berichts verwenden möchten..."

IMO musst du zum Anlegen eines Berichtes in einer anderen DB
mit Automation arbeiten. Also ca.:

Dim appAcc As Access.Application
Set appAcc = New Access.Application

appAcc.OpenCurrentDatabase "c:\Pfad\DieAndere.mdb"

Dim rpt As Report

Set rpt = appAcc.CreateReport()

rpt.RecordSource = "tblFoo"
' usw. usf.

appAcc.Quit
Set appAcc = Nothing

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Access-Entwickler-Konferenz: www.donkarl.com/?AEK
SQL Server-Entwickler-Konferenz: www.donkarl.com/?SEK

Ähnliche fragen