❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ 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 über Button aufrufen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formular über Button aufrufen

Beitrag von RobertG » Di 3. Jan 2017, 07:53

Hallo Martias,

Du liest in Deinem Makro gar keine Variablen aus. So kannst Du natürlich auch nicht weiter geben.

Start des Makros:

Code: Alles auswählen

SUB openForm(oEvent AS OBJECT)
nutze ich eigentlich nur noch. Dann muss ich mich nicht um irgendwelche Ebenen in Formularen kümmern. Der Button gehört in das Formular (oder Unterformular), aus dem Du Daten haben willst.

Code: Alles auswählen

oForm = oEvent.Source.Model.Parent
Damit hast Du das Formularobjekt und kannst jetzt auf die Felder im Formular zugreifen. Das Meiste, was Du irgendwie in Makros brauchst, liegt im Model-Objekt.

Code: Alles auswählen

stVName = oForm.getByName("txtVorname").getCurrentValue()
Hier gibt es verschiedene Methoden, um Daten auszulesen. Die obige greift auf das Formularfeld zu. Du kannst aber auch direkt auf die Felder zugreifen, die in der Datengrundlage für das Formular stecken. Siehe dazu das Handbuch.
Jetzt willst Du das neue Formular öffnen - das passiert ja sicher schon korrekt. Anschließend musst Du in diesem Formular auf die Felder zugreifen, in die Du das Ganze rein schreiben willst:

Code: Alles auswählen

oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.Forms.getByName("MainForm")
oFeld = oForm.getByName("Hier soll der Vorname rein")
oFeld.BoundField.UpdateString(stVName)
Damit hast Du den Vornamen in dem Feld des neuen Formulars, in das er rein soll. Die Deklaration sämtlicher Variablen habe ich ausgelassen. Das sollte aber eigentlich dazu gehören ...

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Martias
Beiträge: 5
Registriert: Mi 10. Aug 2016, 13:25

Re: Formular über Button aufrufen

Beitrag von Martias » Di 10. Jan 2017, 13:09

Vielen lieben dank Robert.

Ich schlage mich, was Libre angeht, immer noch sehr mit den Grundlagen herum.
Deine Erklärung hat aber nun wirklich schon sehr zum allgemeinen Verständnis beigetragen.
Danke nochmals

richgsm
Beiträge: 3
Registriert: Do 13. Jul 2017, 16:38

Re: Formular über Button aufrufen

Beitrag von richgsm » Do 13. Jul 2017, 16:54

Mansaylon hat geschrieben:
Fr 5. Feb 2016, 20:02
Tataaaa..... Makro Sicherheit war zu hoch.
Und es läuft.

Vielen Dank für die Hilfe und Geduld.
Hallo Mansaylon

Du hast es geschafft - ich noch nicht :-(
Habe mich auch durch alle Foren gewühlt, deutsch - englisch----

Ich möchte ein Formular öffnen aus einem anderen Formular öffnen (ich gebe Kunden ein und möchte dan per click das Formular "Retour" öffnen, in dem ich bei Warenrücksendungen ein paar Infos eingeben kann)
Mit Formular meine ich unter der Abteilung Formulare ein erstelltes Formular, keine Tabelle oder Writer document

Ich das Makro nun in der Datenbank gespeichert, die Sicherheit auf niedrig gesetzt

ABER ES TUT SICH NICHTS ---frust

So sieht es nun aus:

Sub Tabellenformular_oeffnen
ThisDatabaseDocument.FormDocuments.getByName( "Retour" ).open
End Sub

Aber nichts passiert.

Kannst Du vieleicht Deine Step by Step Anleitung durchfunken?

Danke
Rich

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formular über Button aufrufen

Beitrag von RobertG » Fr 14. Jul 2017, 12:27

Hallo Rich,

ich habe Dein Makro genommen, eben kurz in eine kleine Beispieldatenbank eingebaut und ausgeführt - geht. Siehe die Datei im Anhang.
Öffne das Formular "Personen" und drücke den Button.
Das zweite Formular wird ebenfalls geöffnet.
Jetzt wäre es natürlich sinnvoll, das erste Formular anschließend zu schließen (mit close).

Gruß

Robert
Dateianhänge
FormularNavigation.zip
Formularnavigation von einem Formular zum nächsten - einfache Variante
(18.1 KiB) 170-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

richgsm
Beiträge: 3
Registriert: Do 13. Jul 2017, 16:38

Re: Formular über Button aufrufen

Beitrag von richgsm » Do 20. Jul 2017, 11:42

Hallo Robert,

vielen Dank für die Mühe!!

Nächste komme ich zum testen und melde mich.

Gruss
RobertG hat geschrieben:
Fr 14. Jul 2017, 12:27
Hallo Rich,

ich habe Dein Makro genommen, eben kurz in eine kleine Beispieldatenbank eingebaut und ausgeführt - geht. Siehe die Datei im Anhang.
Öffne das Formular "Personen" und drücke den Button.
Das zweite Formular wird ebenfalls geöffnet.
Jetzt wäre es natürlich sinnvoll, das erste Formular anschließend zu schließen (mit close).

Gruß

Robert

richgsm
Beiträge: 3
Registriert: Do 13. Jul 2017, 16:38

Re: Formular über Button aufrufen

Beitrag von richgsm » Mi 2. Aug 2017, 14:21

Hallo Robert

es klappt, vielen Dank.

Gruss Richard

RobertG hat geschrieben:
Fr 14. Jul 2017, 12:27
Hallo Rich,

ich habe Dein Makro genommen, eben kurz in eine kleine Beispieldatenbank eingebaut und ausgeführt - geht. Siehe die Datei im Anhang.
Öffne das Formular "Personen" und drücke den Button.
Das zweite Formular wird ebenfalls geöffnet.
Jetzt wäre es natürlich sinnvoll, das erste Formular anschließend zu schließen (mit close).

Gruß

Robert


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