Datenbanklösungen mit AOO/LO
Moderator: Moderatoren
nusta88
***
Beiträge: 78 Registriert: Di, 26.06.2007 13:30
Beitrag
von nusta88 » Fr, 25.07.2008 10:59
Hallo,
ich hab versucht selbst das Problem zu lösen, allerdings bekomme ich grundsätzlich Fehlermeldungen.
Ich zeige euch mal den Code und bitte um Hilfe
Code: Alles auswählen
sub Bericht_drucken
Dim arg(1) as new com.sun.star.beans.PropertyValue
DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext")
oDatenquelle = DatabaseContext.getByName("HV")
oDoc = oDatenquelle.DatabaseDocument
oBericht = oDoc.getReportDocuments().getByName("Kunde")
oBerichtDoc = oBericht.getComponent
oBerichtDoc.print(arg())
End sub
Danke im Voraus
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Fr, 25.07.2008 11:23
welche OOo Version? Betriebssystem?
Welche Fehlermeldung, an welcher Stelle?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
nusta88
***
Beiträge: 78 Registriert: Di, 26.06.2007 13:30
Beitrag
von nusta88 » Fr, 25.07.2008 11:48
Also ich hab es weiter bearbeitet :
Code: Alles auswählen
sub Bericht_drucken
DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext")
oDatenquelle = DatabaseContext.getByName("HV")
oDoc = oDatenquelle.DatabaseDocument
oBericht = oDoc.getReportDocuments().getByName("Kunde")
oBerichtDoc = oBericht.getComponent
Props = oBerichtDoc.getPrinter()
sDrucker = Props(0).value
Dim arg(1) as new com.sun.star.beans.PropertyValue
arg(0).name = "Name"
arg(0).value = "<" & sDrucker & ">"
arg(1).name = "Wait"
arg(1).value = True
oBerichtDoc.print(arg())
End sub
jetzt bekomme ich einmal bei
und wenn bei
eine Fehlermeldung, dass die Objektvariable nicht belegt ist.
OO Version 3.0 Beta
Windows XP SP 2
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Fr, 25.07.2008 13:59
ich habe noch nicht mit Berichten gearbeitet....
Tipp: nehme
Xray zur Untersuchung Deiner Objekte.
Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
nusta88
***
Beiträge: 78 Registriert: Di, 26.06.2007 13:30
Beitrag
von nusta88 » Di, 29.07.2008 14:02
So habe jetzt das Drucken hinbekommen, indem ich den Bericht öffne. Allerdings möchte ich jetzt den Bericht nachdem der Druckbefehl übergeben wurde wieder schließen. Der nimmt den Befehl nicht an.
Hat jmd da einen Lösungsvorschlag
Code: Alles auswählen
Sub Bericht_drucken2
oContexto = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oFonte = oContexto.getRegisteredObject("HV")
oReports = oFonte.DatabaseDocument.ReportDocuments
oAConnection = oFonte.getConnection("","")
Dim pProp(1) As New com.sun.star.beans.PropertyValue
pProp(0).Name = "ActiveConnection"
pProp(0).Value = oAConnection
pProp(1).Name = "OpenMode"
pProp(1).Value = "open"
oReport = oReports.loadComponentFromURL("Kunde", "_blank", 0, pProp())
Props = oReport.getPrinter()
sDrucker = Props(0).value
Dim arg(1) as new com.sun.star.beans.PropertyValue
arg(0).name = "Name"
arg(0).value = "<" & sDrucker & ">"
arg(1).name = "Wait"
arg(1).value = True
'oReport.print(arg())
If HasUnoInterfacees(oReport,"com.sun.star.util.XCloseable")then
oReport.close(True)
EndIF
Danke schonmal
Rantanplan
Beiträge: 1 Registriert: Fr, 26.09.2008 13:17
Beitrag
von Rantanplan » Fr, 26.09.2008 13:39
oReport.close(True)
funktioniert bei mir auch nicht.
So geht's aber:
(ist bestimmt nicht die feine Englische Art)
OOo 2.4.0
OpenSuSE 11.0
OOo 2.4.0
OpenSuSE 11.0