Seite 1 von 1

Schaltfläsche aktivieren um Bericht zu öffnen

Verfasst: Sa, 25.10.2008 09:20
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

Re: Schaltfläsche aktivieren um Bericht zu öffnen

Verfasst: So, 26.10.2008 17:46
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

Re: Schaltfläsche aktivieren um Bericht zu öffnen

Verfasst: Mo, 10.11.2008 19:43
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

Re: Schaltfläsche aktivieren um Bericht zu öffnen

Verfasst: Do, 04.12.2008 14:50
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