Seite 1 von 3
Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 10:33
von Franzi
Hallo,
ich meiner Base-Anwendung möchte ich über eine Schaltfläche ein weiteres Formular öffnen, wenn die Schaltfläche gedrückt wird. Das an das Ereignis "Taste gedrückt" gebundene BASIC-Makro sieht so aus
Code: Alles auswählen
Sub openSubform
ThisDatabaseDocument.FormDocuments.getByName("NeuAnlegen").open
End Sub
Das Drücken der Schaltfläche öffnet allerdings nicht das Formular "NeuAnlegen" und es kommt auch keine Fehlermeldung.
Woran kann das liegen?
Franzi
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 17:11
von F3K Total
Hi,
"Taste gedrückt" meint eine Taste auf deiner Tastatur, versuche "Maustaste gedrückt", "Maustaste losgelassen" oder "Aktion ausführen".
Gruß R
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 17:35
von Franzi
F3K Total hat geschrieben:Hi,
"Taste gedrückt" meint eine Taste auf deiner Tastatur, versuche "Maustaste gedrückt", "Maustaste losgelassen" oder "Aktion ausführen".
Gruß R
Prima, das hat zumindest mal bezgl. der Reaktion geholfen. Allerdings kommt auch hier die Fehlermeldung "BASIC-Laufzeitfehler.
Objektvariable nicht belegt." und ein Verweis im BASIC-Editor auf "ThisDatabaseDocument.FormDocuments.getByName("NeuAnlegen").open"
Irgendwie habe ich mit dem ThisDatabaseDocument Probleme, hier
http://www.libreoffice-forum.de/viewtop ... 855#p35855 habe ich einen ähnlichen Fall.
Beides müßte theoretisch funktionieren, weil ich die Codes aus Foren hier habe und man dort Erfolg signalisiert hatte.
Franzi
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 17:40
von F3K Total
Na, dann lade hier eine Beispieldatei, ggf. verfremdet hoch, dann kann man mal gucken ...
Welche Version von Libre-Office verwendest Du?
Gruß R
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 18:07
von Franzi
Ich habe LibreOffice 4.3.7.2 auf Debian Linux Jessie mit JRE 8. Allerdings odb lässt sich hier nihct hochladen.
Franzi
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 18:17
von F3K Total
Franzi hat geschrieben:Allerdings odb lässt sich hier nihct hochladen.
Wenn man sie zipped oder in .zip umbenennt, schon.
Gruß R
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 18:26
von Franzi
Okay, somit hat das geklappt.
Re: Formular aus Startformular heraus öffnen
Verfasst: So 17. Mai 2015, 19:01
von F3K Total
So,
Du hast anscheinend in die Schei... gegriffen, "Ansicht wurde erzeugt" funktioniert bei mir (Windows) mit LO 4.2.8 und ApacheOpenOffice 4.1.1.
Unter LO 4.3.7 und 4.4.3 geht es nicht, dafür aber "Dokument öffnen".
Auf dem Button "Neu..." funzt nun das zweite Makro.
Anbei deine von mir veränderte Datei.
Ich habe die Makros nun in die Datei gepackt, damit sie laufen dürfen, stellst Du unter Extras/Optionen/LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Gruß R
Re: Formular aus Startformular heraus öffnen
Verfasst: Mo 18. Mai 2015, 10:40
von Franzi
Vielen Dank für die Unterstützung. Leider hat das nicht viel geholfen. Deine korrigierte Version lässt LO ständig abstürzen. Jetzt habe ich noch einmal LibreOffice_4.2.8.2 installiert, um es unter dieser Version zu testen.
Wenn ich Deine Angaben auf meine Originaldatei umsetze, stört er sich an
Code: Alles auswählen
sub open_form
oController = ThisDatabaseDocument.CurrentController
If NOT (oController.isConnected() ) Then oController.connect()
ThisDatabaseDocument.formdocuments.getbyname("Kunden").open
End sub
in "Meine Makros & Dialoge => Standard => Module1". Nehme ich das aber heraus und lege es wie alle anderen Makros in die Datei selber, dann startet LO mit
Code: Alles auswählen
Ein Scripting Framework Fehler trat während der Ausführung vom Basic-Skript vnd.sun.star.script:Standard.Module1.open_form?language=Basic&location=application auf.
Meldung: The following Basic script could not be found:
library: 'Standard'
module: 'Module1'
method: 'open_form'
location: 'application'
Also ziemlich verwirrend das Alles.
Franzi
Re: Formular aus Startformular heraus öffnen
Verfasst: Mo 18. Mai 2015, 18:40
von F3K Total
Hallo Franzi,
meine Datei funktioniert mit Windows unter LO 4.3.7, 4.4.3 und ApacheOpenOffice 4.1.1!
Unter Linux Mint habe ich LO 4.3.7 und ApacheOpenOffice 4.1.1 ohne Probleme getestet.
Ich habe zwei Makros in der Datei, und die heißen nicht mehr
open_form
sondern
open_form_Kunden
und
open_form_NeuAnlegen
Die neuen Namen mußt du natürlich in die auslösenden Elemente
- Extras/Anpassen/Reiter Ereignisse
- Schaltfläche Neu.../Reiter Ereignisse
einbauen, sonst werden sie nicht gefunden.
Kleiner Tipp, installiere die
Offline LibreOffice-Hilfe auf Deutsch, drücke F1, Stelle oben
LibreOffice Basic ein, gehe auf
Programmieren mit LibreOffice Basic/Integrierte Entwicklungsumgebung (IDE)/Verwalten von Bibliotheken und Modulen und lies dir die Grundlagen an, sonst fällst du vermutlich weiterhin auf den Bauch.
Gruß und viel Erfolg
R