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

[Gelöst]Verknüpfte Formulare

Alles zur Programmierung im LibreOffice.
gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Verknüpfte Formulare

Beitrag von gogo » Fr 8. Nov 2013, 11:59

nein reicht nicht.

Du musst den Namen des KEs mit-übergeben - am besten also eine Erweiterung des Strings im .TAG-Feld:

Code: Alles auswählen

Childs|ID_Parent = |Childs_MainForm|ID_Parent_numeric@Parents_Grid|fmtID_Parent@Childs_Grid
aufgelöst wird das dann etwa so:

Code: Alles auswählen

	'setzt den Defaultwert auf "FilterWert" ... das ist die ID_Parent
	' zunaechst wird das ForeignKey-Kontrollelement gesucht:
	oForeignKey_Elementnamen() = split(aArgs(4), "@")

	if ubound(oForeignKey_Elementnamen) = 0 then
		oForeignKey_KE = oFormNeu.getbyname(oForeignKey_Elementnamen(0))
	else
		oForeignKey_KE = oFormNeu.getbyname(oForeignKey_Elementnamen(1)).getbyname(oForeignKey_Elementnamen(0))
	end if

	'Dann: IF-Anweisungskette die mit .PropertySetInfo.hasPropertyByName("DefaultValue") absucht ob ein Default-Wert
	'gesetzt werden kann
	if  oForeignKey_KE.PropertySetInfo.hasPropertyByName("DefaultValue") then
		oForeignKey_KE.DefaultValue = FilterWert
	else
	if  oForeignKey_KE.PropertySetInfo.hasPropertyByName("EffectiveDefault") then
		oForeignKey_KE.EffectiveDefault = FilterWert
	else
	if  oForeignKey_KE.PropertySetInfo.hasPropertyByName("DefaultText") then
		oForeignKey_KE.DefaultText = FilterWert
	else
		msgbox "Der Defaultwert fuer den Foreign Key (" & FilterWert & ") konnte NICHT gesetzt werden!"
	end if
	end if
	end if
	
	'nach dem Setzen des Default-Values wird der Filter gesetzt und aktiviert, damit nur die gewuenschten
	'Datensaetze angezeigt werden.
	oFormNeu.filter = aArgs(1)
	oFormNeu.reload
Dateianhänge
Formularnavigation.odb.zip
(16.89 KiB) 226-mal heruntergeladen
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

gerald3659
Beiträge: 22
Registriert: Do 31. Okt 2013, 13:47

Re: Verknüpfte Formulare

Beitrag von gerald3659 » Do 14. Nov 2013, 08:51

Fehlermeldung von Libreoffice
Fehlermeldung von Libreoffice
Fehler1.jpg (11.91 KiB) 5217 mal betrachtet
Hallo gogo
Ich kam erst gestern dazu alles auszuprobieren.
Irgendwo mache ich einen Fehler und komme nicht dahinter.

Ich lade mal die Meldungen und die Datenbank hoch.
Vielleicht kannst Du mir zeigen, wo mein Fehler liegt.
Dateianhänge
Kontakte.zip
Datenbank
(17.96 KiB) 234-mal heruntergeladen
angemeckerte Zeile im Basiccode
angemeckerte Zeile im Basiccode
Fehler2.jpg (162.04 KiB) 5217 mal betrachtet

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

Re: Verknüpfte Formulare

Beitrag von gogo » Do 14. Nov 2013, 11:08

Füge mal vor diese Zeile folegndes ein:

Code: Alles auswählen

msgbox "ich suche im Formular: " & oFormNeu.Name & " das TabellenKE: " & oForeignKey_Elementnamen(1) & " sowie die Spalte " & oForeignKey_Elementnamen(0)
Sollte das Formular NICHT "Childs_mit_Grid" heissen, stimmt das Objekt oFormNeu nicht - da müsste man dann testen warum. Sollte das Formular "Childs_mit_Grid" heißen suchst Du de Elemente wie benannt.
Zuletzt geändert von gogo am Do 14. Nov 2013, 15:52, insgesamt 1-mal geändert.
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

gerald3659
Beiträge: 22
Registriert: Do 31. Okt 2013, 13:47

Re: Verknüpfte Formulare

Beitrag von gerald3659 » Do 14. Nov 2013, 14:48

Hallo Gogo

ich erhalte nachdem ich die Msgbox-Zeile eingefügt habe folgende Meldung in meiner Datenbank:

SOFFICE: Ich suche im Formular Persabteilung (das Formular das ich öffne)
das TabellenKE Persabteilung_Grid (existiert in dem geöffneten FOrmular)
sowie die Spalte fmtPers_ID_PersStamm_numeric (existiert ebenfalls im Formular)

Ich habe das mehrfach geprüft. Deskhalb frage ich mich: Was mache ich falsch?

Danke für Deine Hilfe

PS: In meinem letzten Post habe ich die Datenbank, so wie sie besteht hochgeladen.

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

Re: Verknüpfte Formulare

Beitrag von gogo » Do 14. Nov 2013, 16:01

Kannst Du mal den String aus dem Tag posten?

Code: Alles auswählen

Childs|ID_Parent = |Childs_MainForm|ID_Parent_numeric@Parents_Grid|fmtID_Parent@Childs_Grid
Childs: Name des Formulars in der Datenbank
Childs_MainForm: Name des Formular-Objektes im Formular
Childs_Grid: Name des Tabellen-Kontrollelementes im Formular-Objekt Childs_MainForm
fmtID_Parent: Name der Spalte im Childs_Grid

teile bitte einmal die Fehlerzeile:

Code: Alles auswählen

oForeignKey_KE = oFormNeu.getbyname(oForeignKey_Elementnamen(1))
oForeignKey_KE = oForeignKey_KE.getbyname(oForeignKey_Elementnamen(0)) 
dann wissen ob der Fehler das Tabellen-KE oder die Spalte betrifft
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

gerald3659
Beiträge: 22
Registriert: Do 31. Okt 2013, 13:47

Re: Verknüpfte Formulare

Beitrag von gerald3659 » Fr 15. Nov 2013, 07:16

Hallo GoGo
hier ist mein TAG-String

Code: Alles auswählen

PersAbteilung|Pers_ID=|PersAbteilung_main|Pers_ID_PersStamm_numeric|fmtPers_ID_PersStamm_numeric@PersAbteilung_Grid
Das mit dem Trennen der Codezeilen probiere ich gleich aus.

Erst mal Danke

Gerald

Edit
Das mit dem Trennen habe ich jetzt ausprobiert.
Er meldet mir jetzt die zweite Zeile als Fehler.
Allerdings meldet er vorher einen SQL-Fehler. Kann SPalte nicht finden.
Nun bin ich etwas blind.
Ich finde im Formularobjekt die Zeile für die Verknüpfungen nicht.

Ich habe mal wieder meine db Kontakte angehängt
Dateianhänge
Kontakte.zip
(40.9 KiB) 220-mal heruntergeladen

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

Re: Verknüpfte Formulare

Beitrag von gogo » Fr 15. Nov 2013, 16:49

Tippfehler

"Pers_ID_PersStamm_numeric" muss "Pers_ID_Stamm_numeric" heißen! ... oder Du benennst die Spalte auf "Pers_ID_PersStamm_numeric" um ;)

"Pers_ID=" muss "Pers_IDStamm=" heißen
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

gerald3659
Beiträge: 22
Registriert: Do 31. Okt 2013, 13:47

[gelöst]Re: Verknüpfte Formulare

Beitrag von gerald3659 » Fr 15. Nov 2013, 18:31

Hallo Gogo

Danke für das "korrekturlesen".
Ich habe die Fehler einfach nicht gesehen.
Nun klappt es einwandfrei.

Du bist klasse

Gerald

tanmos
Beiträge: 1
Registriert: Mi 27. Nov 2013, 17:08

Re: Verknüpfte Formulare

Beitrag von tanmos » Mi 27. Nov 2013, 17:10

ich klink mich mal einfach so ein, und sag auch danke. hat mir grad extrem weiter gehlofen :)

liebe grüße, tanja


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