Seite 1 von 2
Report öffnen per Button
Verfasst: Mi 24. Aug 2016, 09:53
von bathroth
Hallo Leute,
ich schätze das dies eines der am häufigsten gefragten Fragen ist, und ich habe tatsächlich schon recherchiert. Doch ich kriege es nicht zum laufen.
Also ich habe ein Startformular auf dem ich mehrere Buttons habe. Von dort aus öffne ich Verschiedene Formulare. Nun will ich auch Berichte von dort aus öffnen. Also habe ich einen button erstellt und ein LibreOffice Basic Script erstellt, genauso wie für die Formulare.
Code: Alles auswählen
Sub open_rep_workstation_tiny
const repName= "rep_workstation_tiny"
ThisDatabaseDocument.ReportDocuments.getByName(repName).open
End Sub
Solange ich im LibreOffice Basic Editor bin und das Makro ausführe, funktioniert alles einwandfrei und der Bericht öffnet sich direkt. Doch sobald ich das Makro über den Button vom Formular aus ausführe, stürzt LibreOffice Base direkt ab. Ich habe es auch bereits über die Variante probiert:
Code: Alles auswählen
Sub open_rep_workstation_tiny
const repName= "rep_workstation_tiny"
oNewReportDocument=ThisDatabaseDocument.ReportDocuments.getByName(repName).open
End Sub
Ich kriege das irgendwie nicht hin, dass der Bericht sich vom formular aus öffnet.
Vielen Dank im vorraus für die Hilfe, und sorry das das wahrscheinlich schon zum 1000sten mal gepostet wurde hier. Falls ihr einen Link von einem Ähnlichen gelösten Fall habt, wäre ich auch dankbar (ich habe nichts gefunden oder falsch gesucht).
Gruß,
Christoph
Re: Report öffnen per Button
Verfasst: Mi 24. Aug 2016, 13:44
von gogo
Welches Betriebssystem hast Du?
ist nur ein Tipp:
Schließe vor dem Öffnen eines Reports IMMER die Basic-IDE, wenn Du im Code was geändert hast. Bei allen Linux-Varianten die ich kenne stürzt in diesem Fall LO nämlich ab.
So weit ich mich erinnern kann, kann man den Fehler auch nicht per Errorroutine abfangen - ist also kein BASIC-Fehler, sondern ein Java-Problem.
Re: Report öffnen per Button
Verfasst: Mi 24. Aug 2016, 15:45
von RobertG
Hallo Christoph,
kannst Du das irgendwo online stellen? Ich habe das schnell einmal durchprobiert. keine Probleme mit geöffnetem oder geschlossenem Makroeditor, keine Problem vom Formular aus. An welche Eigenschaft des Buttons hast Du die Prozedur gelegt?
Gruß
Robert
Re: Report öffnen per Button
Verfasst: Di 4. Apr 2017, 04:58
von mexman
Hallo,
ich hänge mich mal hier an, weil ich die selbe Frage habe, hier aber keine Lösung gegeben wurde.
Wie oben, möchte ich aus dem Formular den Bericht "Abfrage1" im selben .odb öffnen.
Leider geht der Makrorekorder in Base nicht, und ich bin BASE Dummy und MAKRO Oberdummy!
Ich habe repName durch Abfrage1 ersetzt!
Es erscheint beim Makroaufruf:
- BASIC Laufzeitfehler
Objektvariable nicht belegt!
Wie kann ich weitermachen?
Danke im Voraus
Michael
Re: Report öffnen per Button
Verfasst: Di 4. Apr 2017, 07:37
von RobertG
Hallo Michael,
geht so:
Code: Alles auswählen
Sub Bericht_Abfrage1_oeffnen
ThisDatabaseDocument.ReportDocuments.getByName("Abfrage1").open
End Sub
Warum auch immer in dem Code zum Anfang erst einmal eine Variable erstellt wurde. Es reicht, den Berichtsnamen in doppelten Anführungszeichen direkt ein zu tragen.
Gruß
Robert
Re: Report öffnen per Button
Verfasst: Di 4. Apr 2017, 23:16
von mexman
Danke Robert.
Gleich probiert: Gleiche Fehlermeldung! Es öffnet sich dann die Makrofunktion mit dem Cursor auf der Zeile:
Code: Alles auswählen
ThisDatabaseDocument.ReportDocuments.getByName("Abfrage1").open
Schade.
Ich habe bei geöffnetem Formular (spáter soll dieses Makro auf einen Knopf im Formular gelegt werden) unter
Extras- Makro-Auführen gewählt.
Hast Du noch einen Tipp?
Gruss
Michael
Re: Report öffnen per Button
Verfasst: Mi 5. Apr 2017, 18:22
von RobertG
Hallo Michael,
ich hätte zunächst einmal den Namen des Berichtes im Verdacht. Zufällig ein Leerzeichen davor oder dahinter? Ansonsten musst Du Deine DB hier einmal posten -ohne nennenswerte Daten natürlich.
Gruß
Robert
Re: Report öffnen per Button
Verfasst: Do 6. Apr 2017, 03:16
von mexman
Hallo Robert,
das war das erste, was ich geprüft habe

Anbei die Datenbank (Leider hat "SHUTDOWN COMPACT" nicht functioniert, deshalb leider so gross, obwohl ich 95% der Daten gelöscht habe!
Letztlich möchrte ich auif dem Formular JimTablForm einen Knopf haben, der den Bericht Abfrage1 öffnet. Den will ich dann ausdrucken und schliessen und muss dann wieder ins Formular
Schon mal dankeschön im Voraus
Gruss
Michael
Re: Report öffnen per Button
Verfasst: Do 6. Apr 2017, 14:04
von mexman
Hallo Switi,
ganz herzlichen Dank!
Aber bei mir geht das nicht.
1- Wenn ich das Makro unter EXTRAS aufrufe, kommt wieder die selbe Fehlermeldung
2- Wenn ich auf den Knopf drücke, passiert gar nichts.
Muss ich vielleicht noch irgendeine Grundeinstellung am BASE vornehmen, damit das funktioniert?
Ich arbeite hier mit Ubuntu 16.04 + LO 5.1.6.2
Gruss
Michael
Re: Report öffnen per Button
Verfasst: Do 6. Apr 2017, 16:52
von RobertG
Hallo Michael,
2 Hinweise:
Die Größe Deiner Datei wird dadurch beeinflusst, dass Du in dem Bericht ein Bild als Hintergrundbild eingefügt hast. Das Bild mit etwas über 200 kB ist in dem Unterverzeichnis "Pictures" des Berichtes 6 mal vorhanden. Mit einem Packprogramm kannst Du die Datei öffnen. Je nachdem, wie das Packprogramm gestrickt ist, kannst Du alle *.jpg-Dateien in dem Verzeichnis reports > Obj11 > Pictures löschen - bis auf die *.jpg-Datei, die auf "44.jpg" endet.
Die Installation von LO auf Deinem Rechner ist vermutlich nicht vollständig. Du benutzt Ubuntu wohl mit der mit Ubuntu mitgelieferten Version - zu erkennen an dem Bericht, der bei den Versionen von LO selbst nur noch am Rande vorkommt, da die Gestaltungsmöglichkeiten begrenzt sind. Ich nehme an, dass da (neben dem Report-Builder) auch noch andere Elemente standardmäßig nicht mit installiert werden. Der Report-Builder ist für Deine Bedürfnisse nicht notwendig, aber eben vermutlich einige andere Päckchen. Und da kann Dir nur jemand genaueres schreiben, der mit dieser Ubuntu-Version arbeitet und dort die Pakete kennt.
Um solche Fehler zu vermeiden empfehle ich jedem Nutzer: Nimm die Pakete von LO direkt. Dann können andere Leute auch nachvollziehen, auf welche Probleme Du stößt.
Bei mir startet jedenfalls der Bericht problemlos über den Button (mit LO 4.2.6.2 auf OpenSUSE 42.1).
Gruß
Robert