Bericht erstellen vom Formular aus

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Tinaa
Beiträge: 3
Registriert: Sa, 14.11.2009 14:45

Bericht erstellen vom Formular aus

Beitrag von Tinaa »

Hallo,
ich würde gerne in OOoBasevon einem Formular aus per Button- Druck eine Liste (Bericht) erstellen, bzw. einen vorher definierten Bericht aufrufen und ausführen. In meinem ansonsten sehr umfangreichen Handbuch ist das leider nicht beschrieben. Kann mir da jemand helfen?
Gruß Tina
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Bericht erstellen vom Formular aus

Beitrag von eBayer »

Wenn Du das unten aufgeführte Makro "PrintReport" als globales Sub verwendest, brauchst Du Dir nie wieder Gedanken über den Aufruf eines Berichts machen. Dann Ist der Aufruf immer der folgende 3-zeiler mit jeweils angepasstem Namen des Berichts.
Gruß eBayer

Sub MeinReport1
PrintReport("MeinReport1")
End Sub


Sub PrintReport(sReport) ' in sReport wird der Name des Berichts übergeben!
Dim oDatenbankKontext AS Object, oDatenquelle As Object, oReportDoc As Object, oVerbindung As Object
Dim Args(1) As New com.sun.star.beans.PropertyValue

oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "MyDataBase" )
oVerbindung = oDatenquelle.getConnection( "" , "" )

Args(0).Name="ActiveConnection" : Args(0).Value=oVerbindung
Args(1).Name="OpenMode" : Args(1).Value="open"
on Error goto Fehler
oReportDoc=oDatenquelle.DatabaseDocument.ReportDocuments.loadComponentFromURL(sReport,"_self",2,Args)
oReportDoc.CurrentController.Frame.ContainerWindow.setFocus()
Fehler:
End Sub
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Tinaa
Beiträge: 3
Registriert: Sa, 14.11.2009 14:45

Re: Bericht erstellen vom Formular aus

Beitrag von Tinaa »

Hallo ebayer,
vielen Dank für die schnelle Antwort.
Da ich relativer Anfänger bin und noch nie mit Makros gearbeitet habe, muß ich nochmal nachfragen:
den Dreizeiler baue ich bei dem jeweiligen Button unter Ereignisse ein. Und wo kommt die globale Sub hin?
Gruß Tina
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Bericht erstellen vom Formular aus

Beitrag von eBayer »

Hallo Tina,
beispielsweise unter "Meine Makros - Standard".
Allerdings kannst Du dann Deine Anwendung nicht einfach auf einen anderen Rechner kopieren, weil das Makro dann ja in Deiner Konfiguration gespeichert ist.
Ich würde vorschlagen, daß Du Deine Anwendung startest und dann das Makro "PrintReport" in Deine Anwendung einbaust.
Das geht ganz einfach.....
Extras - Makros - Makros verwalten - OpenOffice.org Basic
Dann gehst Du ganz nach unten in dem Fenster und klickst auf den Namen Deiner Anwendung.
Dort unter "Standard - Modul1" kopierst Du das Makro hinein.
Das kleine Makro, den 3-zeiler kannst Du ebenfalls dahin kopieren.
Dann den PushButton in Deinem Formular mit dem kleinen Makro verlinken...... fertig.
Viel Erfolg
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Tinaa
Beiträge: 3
Registriert: Sa, 14.11.2009 14:45

Re: Bericht erstellen vom Formular aus

Beitrag von Tinaa »

...ganz herzlichen Dank!!!
Antworten