🙏 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. 🤗

Datenübergabe von Formular zu Formular

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Cardinal
Beiträge: 9
Registriert: Mo 21. Nov 2011, 20:19

Datenübergabe von Formular zu Formular

Beitrag von Cardinal » Di 29. Nov 2011, 16:32

Hey hou,

ich hab mir ein Makro geschrieben, welches:
-einen Wert von einem Textfeld abspeichert
-neues Formular öffnet
-den gespeicherten Wert in ein Textfeld des neuen Formulars einfügt
-das alte Formular schliesst.

das Makro sieht so aus:

Code: Alles auswählen

Sub Projekt_aus_Firma (event as object)
sFirmenname = ThisDatabaseDocument.FormDocuments.GetByName("Firma").component.drawpage.Forms.getByName("MainForm").getByName("txtFirma").Text
ThisDatabaseDocument.FormDocuments.getByName( event.Source.Model.Tag ).open 'Formularname
print sFirmenname
ThisDatabaseDocument.FormDocuments.GetByName("Projekte").component.drawpage.Forms.getByName("MainForm").getByName("txtFirma").setString(sFirmenname)
'thisdatabasedocument.formDocuments.getbyname("Firma").close
Das Interessante daran: Wenn ich beim Makro das "print sFirmenname" drin lasse, funktioniert die Übergabe, wenn ichs ausschalte, dann werden die Werte nicht übergeben...
Kann mir jemand erklären warum das so ist?

vielen dank schonmal

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datenübergabe von Formular zu Formular

Beitrag von gogo » Di 29. Nov 2011, 16:57

das Formular "Projekte" braucht ein bisschen Zeit um geöffnet zu sein - vielleicht reicht es schon, die zwei ersten Zeilen des Makros zu vertauschen. Ggf musst Du das Objekt abfragen, das mache ich immer über den Frame, den müsstest Du aber zuerst mal finden ;)
... oder es reicht ein

Code: Alles auswählen

wait 500
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu


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