🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Formular aus Startformular heraus öffnen

Alles zur Programmierung im LibreOffice.
Franzi
Beiträge: 17
Registriert: So 17. Mai 2015, 09:27

Formular aus Startformular heraus öffnen

Beitrag von Franzi » So 17. Mai 2015, 10:33

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular aus Startformular heraus öffnen

Beitrag von F3K Total » So 17. Mai 2015, 17:11

Hi,
"Taste gedrückt" meint eine Taste auf deiner Tastatur, versuche "Maustaste gedrückt", "Maustaste losgelassen" oder "Aktion ausführen".
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Franzi
Beiträge: 17
Registriert: So 17. Mai 2015, 09:27

Re: Formular aus Startformular heraus öffnen

Beitrag von Franzi » So 17. Mai 2015, 17:35

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular aus Startformular heraus öffnen

Beitrag von F3K Total » So 17. Mai 2015, 17:40

Na, dann lade hier eine Beispieldatei, ggf. verfremdet hoch, dann kann man mal gucken ...
Welche Version von Libre-Office verwendest Du?
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Franzi
Beiträge: 17
Registriert: So 17. Mai 2015, 09:27

Re: Formular aus Startformular heraus öffnen

Beitrag von Franzi » So 17. Mai 2015, 18:07

Ich habe LibreOffice 4.3.7.2 auf Debian Linux Jessie mit JRE 8. Allerdings odb lässt sich hier nihct hochladen.

Franzi

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular aus Startformular heraus öffnen

Beitrag von F3K Total » So 17. Mai 2015, 18:17

Franzi hat geschrieben:Allerdings odb lässt sich hier nihct hochladen.
Wenn man sie zipped oder in .zip umbenennt, schon.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Franzi
Beiträge: 17
Registriert: So 17. Mai 2015, 09:27

Re: Formular aus Startformular heraus öffnen

Beitrag von Franzi » So 17. Mai 2015, 18:26

Okay, somit hat das geklappt.
Dateianhänge
DemoDatabase.zip
(29.58 KiB) 221-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular aus Startformular heraus öffnen

Beitrag von F3K Total » So 17. Mai 2015, 19:01

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
Dateianhänge
DemoDatabase.zip
nur in .odb umbenennen
(30.82 KiB) 273-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

Franzi
Beiträge: 17
Registriert: So 17. Mai 2015, 09:27

Re: Formular aus Startformular heraus öffnen

Beitrag von Franzi » Mo 18. Mai 2015, 10:40

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular aus Startformular heraus öffnen

Beitrag von F3K Total » Mo 18. Mai 2015, 18:40

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
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten