Schaltfläsche aktivieren um Bericht zu öffnen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

whoopy84
*
Beiträge: 14
Registriert: Di, 07.10.2008 14:14

Schaltfläsche aktivieren um Bericht zu öffnen

Beitrag von whoopy84 »

Guten Morgen,
ich möchte gerne eine Schaltfläsche im Formular aktivieren! Die Schaltfläsche soll beim anklicken automatisch den Bericht öffnen ! wer kann helfen gruss whoopy84 :D
hema
***
Beiträge: 70
Registriert: So, 27.01.2008 14:36
Wohnort: Schweiz
Kontaktdaten:

Re: Schaltfläsche aktivieren um Bericht zu öffnen

Beitrag von hema »

Hallo Whoopy,
versuch mal der Schaltfläche ein Makro zu hinterlegen. z.B. so wie folgendes

Code: Alles auswählen

sub ClickBericht_oefnnen
Dim Context AS Object
   Dim Conn As Object
   Dim DB As Object
   Dim ReportDoc As Object
   Dim Args(1) As New com.sun.star.beans.PropertyValue
   Dim ReportName As String
   
   ReportName = "Berichtname"
   Context=CreateUnoService("com.sun.star.sdb.DatabaseContext")
   DB=Context.getByName("Datenbankname")
   Conn=DB.getconnection("","")
   Args(0).Name="ActiveConnection" : Args(0).Value=Conn
   Args(1).Name="OpenMode" : Args(1).Value="open"
   ReportDoc=DB.DatabaseDocument.ReportDocuments.loadComponentFromURL(ReportName,"_self",2,Args) REM << BASIC-Laufzeitfehler.
   ReportDoc.CurrentController.Frame.ContainerWindow.setFocus()
   End Sub
Im Makro noch den Berichtname und den Datenbankname anpassen.

Gruss Markus
Sämtliche Probleme, welche ich ohne Computer nicht hatte, kann ich nun mit diesem lösen.
whoopy84
*
Beiträge: 14
Registriert: Di, 07.10.2008 14:14

Re: Schaltfläsche aktivieren um Bericht zu öffnen

Beitrag von whoopy84 »

Hallo markus ,danke für deine antwort, ich habe dein code in makro feld eingefügt, dateiname geändert ,sowie den report bericht. leider zeigt er eine fehlermeldung an wie folg aussieht = Basic laufzeitfehler es ist eine exception aufgetreten
typ com.sun.sun.container No such element exception
message obst&gemüse

Zeile DB=Context.getByName( "Fisch")

eingabe fehler bei den datenbankname
gruss whoopy84
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Schaltfläsche aktivieren um Bericht zu öffnen

Beitrag von eBayer »

Hallo,
die Vorschläge, wie man einen Bericht aus einem Formular aufrufen kann, waren sehr hilfreich.... bei mir funktioniert es so ganz gut.
Allerdings bleibt nach dem Aufruf des Berichtes, auch wenn ich OO komplett geschlossen habe, lck-Datei bestehen.
Beim Versuch, diese zu löschen, sagt mir Vista, daß löschen nicht möglich ist, weil die Datei noch in einem anderen Programm geöffnet ist.
Es sieht also so aus, als ob beim Aufruf des Drucks aus einem Formular eine 2 Instanz meiner Anwendung (Datenbank) geöffnet wird, die dann nicht mehr freigegeben wird. Ist das Problem bekannt?
Wie kann ich das lösen?
Danke für Eure Hilfe bereits im Voraus.
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
Antworten