Seite 1 von 1
[gelöst]Bericht Starten mittels button
Verfasst: Di, 02.08.2011 19:36
von juergen_w1987
Hey leute,
wieder mal ein weiteres Problem. Möchte mit einen Button den Datensatz Speichern (gibt es ja zur Auswahl im Reiter Allgemein) und weiters einen Bericht mit Hilfe des gleichen Buttons starten. Natürlich mit dem zuvor ausegwählten Datzensatz.
so habe scho den Befehl zum auslesen des ausgewählten Primkey (Datensatz):
Code: Alles auswählen
oform=ThisComponent.drawpage.forms.Mainform
oprimkey=oform.getint(1)
Nur wie über gebe ich den an den Report??????
danke schon mal im vorhinein.
verwende OOo3.2.1
HSQLDB 1.9
Reportbuilder
Re: Bericht Starten mittels button
Verfasst: Do, 18.08.2011 15:32
von herz4
Hallo Jürgen,
verstehe ich recht, Du willst einen Bericht aufrufen, um nur einen Datensatz anzuzeigen bzw. auszuwerten?
Re: Bericht Starten mittels button
Verfasst: Di, 23.08.2011 15:14
von juergen_w1987
hallo
war länger nicht mehr online. Das ganze Formular sieht ungefähr so aus Anlage auswählen (listenfeld), Gerät auswählen (listenf). Dann ist eine Übersichtstabelle der letzten prüfungen daraus wähle ich eine aus. Dann Button mit speichern und dem Makro "Bericht ausführen".
Mein Problem ist jetzt: wie Führe ich den Bericht mittels Makro aus und wie übergebe ich dem den Primkey von der ausgewählten Prüfung??? Habe den Bericht mit Reportbuilder erstellt.
Re: Bericht Starten mittels button
Verfasst: Di, 23.08.2011 15:16
von juergen_w1987
Im Prinzip ja nur ein Datensatz. Über die berichtsabfrage bekomme ich noch andere Werte von Tabellen die sind aber mit dem Datensatz verknüpft.
Re: Bericht Starten mittels button
Verfasst: Di, 23.08.2011 20:45
von juergen_w1987
Habe schon mal ein altes thema gefunden nur wie übergebe ich da den ausgewählten pk an den report?
viewtopic.php?f=18&t=49145
Re: [gelöst]Bericht Starten mittels button
Verfasst: Mo, 05.09.2011 18:57
von juergen_w1987
Lösung: zusätzliche Spalte mit CheckPk.
Beim Öffnen des Formulars wird Funktion rueckstetzen ausgeführt
Code: Alles auswählen
Sub rueckstetzen
' checkPk zurücksetzen für nächsten import
SQL_QUERY= "Update ""Prüfdaten"" SET ""CheckPk""=0"
sendSQL(SQL_QUERY)
End Sub
Nach getätigter Auswahl in der Tabelle wird Funktion openReport über Button ausgeführt
Code: Alles auswählen
Sub openReport
oform=ThisComponent.drawpage.forms.MainForm
PrimKeyPruefdaten=oform.getint(11)
SQL_QUERY= "Update ""Prüfdaten"" SET ""CheckPk""='1' WHERE ""Pk""="+PrimKeyPruefdaten+""
sendSQL(SQL_QUERY)
oReport = ThisDatabaseDocument.reportDocuments.getbyname("berichtabfrage2")
oReport.open
rueckstetzen
End Sub
Ps. getint(11) ist die Postition des Pk in Tabelle. MainForm muss man möglicherweise auch umbenenen.
Code: Alles auswählen
Function sendSQL (sSQL As String)
oDBCntxt = CreateUnoService("com.sun.star.sdb.DatabaseContext") 'für zugriff auf datenbank
oDBSrc = oDBCntxt.getByName( "RegistrierterDatenbankname" )
oConnection = oDBSrc.getConnection("","")
oStatement = oConnection.CreateStatement
oStatement.executeQuery(sSQL)
end Function
hoffe das es Funktioniert so wie ich es hineingeschrieben habe