BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Formularinhalte per Button in ein anderes Formular übertragen

Alles zur Programmierung im OpenOffice.org
Antworten
homeedition
Beiträge: 2
Registriert: So 20. Feb 2022, 19:45

Formularinhalte per Button in ein anderes Formular übertragen

Beitrag von homeedition » So 20. Feb 2022, 20:06

Hallo,

ich möchte gerne im Adressformular einen Button "Brief schreiben" erstellen um bei einer ausgewählten Adresse einfach auf den Button "Brief schreiben" zu drücken und so das Formular Briefe zu öffnen.
Es soll ein neuer Datensatz mit den entsprechenden Adressdaten im Briefformular erstellt werden, im Feld Brieftext möchte ich dann einen Text eingeben.

Die Adressdatenbank enthält schon einige Adressen :)

Anbei mal meine Testdatenbank.
Darin sind die Datenbanken sowie die Formulare enthalten.

In dem Adressformular ist auch schon ein Button "Briefe schreiben" eingefügt aber das mit der Datenübertragung klappt nicht.
Es öffnet sich beim Klicken (ab zweiter Datensatz) das Briefformular aber es wird nur die ID übertragen.

Wie muss ich das folgende Makro anpassen, daSs die Datei "Briefe" geöffnet und die Inhalte der Felder "ID, Anrede, Vorname, Nachname, Strasse, PLZ, Ort" des jeweiligen Datensatzes übertragen werden?
Wie oben erwähnt wird die Datei "Briefe" geöffnet und die ID übernommen/eingesetzt, alle anderen Felder bleiben leer.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Formularsprung(oEvent AS OBJECT)
	oButton = oEvent.Source.Model	'Button wird über das auslösende Ereignis bestimmt.
	oForm = oButton.Parent	' Formular wird über den Button bestimmt
	IF oForm.getLong(1) > 0 THEN
		IF oForm.isNew THEN	'Abspeichern - bei neuem Datensatz insert, bei bestehendem Datensatz update
			oForm.insertRow()
		ELSE
			oForm.updateRow()
		END IF
		loID = oForm.getLong(1)	'Wert des ersten Feldes auslesen
		stNewForm = oButton.Tag	'Zielformular aus den Zusatzinformationen des Buttons auslesen
		oFormDocNew = ThisDatabaseDocument.FormDocuments.getByName(stNewForm).open	'Neues Formular öffnen und das Object des Formular weiter nutzen
		oDrawpageNew = oFormDocNew.drawpage
		oFormNew = oDrawpageNew.forms.getByIndex(0)	'Zugriff auf das neue Formular in dem Formulardokument - Annahme: Formular ist das einzige/erste Formular.
		oFormNew.filter = """ID"" = '" + loID + "'"	'Filter definieren und setzen
		oFormNew.ApplyFilter = TRUE
		oFormNew.reload()	'Formular mit Filter neu laden. Jetzt würde nur noch der Datensatz mit gleicher ID angezeigt
		Wait 100	'Wenn zu schnell versucht wird einen Wert zu schreiben ist das Formular noch nicht geladen - Wartezeit 0,1 Sekunden
		IF oFormNew.getLong(1) <> loID THEN	'Wenn das ID-Feld ungleich der ID ist, die weitergegeben wurde, dann ist dort kein Wert drin (Filter!)
			oFormNew.updateLong(1, loID)
		END IF
	END IF
End Sub
Ich hoffe das mir jemand helfen kann, da ich was makro angeht nicht wirklich bewandert bin :)
Besten Dank
AdressenDB.odb
(25.36 KiB) 238-mal heruntergeladen
Zuletzt geändert von homeedition am Mo 21. Feb 2022, 10:30, insgesamt 1-mal geändert.

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Formularinhalte per Button in ein anderes Formular übertragen

Beitrag von F3K Total » Mo 21. Feb 2022, 18:03

Moin,
wenn du mit einem Unterformular arbeitest, brauchst du kein Makro und hast auf einer Seite die gesamte Übersicht.
Briefe.png
Briefe.png (30.83 KiB) 6118 mal betrachtet
Beispiel anbei.
Gruß R
Dateianhänge
AdressenDB.odb
(16.28 KiB) 227-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

homeedition
Beiträge: 2
Registriert: So 20. Feb 2022, 19:45

Re: Formularinhalte per Button in ein anderes Formular übertragen

Beitrag von homeedition » Mo 21. Feb 2022, 18:27

Vielen Dank :)

Das ist eine sehr gute Hilfe.
Damit kann ich was anfangen.

Ich wäre aber auch an einer Lösung mit (Basic)Makros interessiert :)
So kann ich andere Formulare wie Briefe, Etiketten, Briefumschläge auslagern und daraus drucken.

Gruß
M.

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Formularinhalte per Button in ein anderes Formular übertragen

Beitrag von F3K Total » Di 22. Feb 2022, 15:55

Moin,
das ist nach meiner Einschätzung die falsche Herangehensweise.
Die Ausgabe der Briefe sollte etweder über einen Serienbrief oder eine Bericht erfolgen.

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Antworten