❤️ 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. 🤗

DatensatzID aus SubForm ermitteln?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
pschulze59
Beiträge: 51
Registriert: Di 16. Okt 2018, 12:48

DatensatzID aus SubForm ermitteln?

Beitrag von pschulze59 » Do 8. Nov 2018, 19:46

Hallo,

wie ermittle ich die Datensatz-ID des in einem SubForm angezeigten Datensatzes, wenn die ID selbst nicht Bestandteil des SubForms ist?
Mein bisheriger Versuch mit

Code: Alles auswählen

laktKontID = oDoc2.getlong(0)
speichert die "Position" des Datensatzzeigers im SubForm. Das ist aber nicht die ID des Datensatzes, da die Anzeige im SubForm auf einer SELECT-Anweisung bzw. Abfrage basiert und nur bestimmte Datensätze anzeigt.

Wie kann ich aus der Position dann den Datensatz adressieren und davon dessen ID auslesen?

Peter

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

Re: DatensatzID aus SubForm ermitteln?

Beitrag von RobertG » Do 8. Nov 2018, 21:52

Hallo Peter,

prinzipiell muss die ID natürlich in der Abfrage stehen, ansonsten bekommst Du die nicht raus. Sie muss aber nicht Inhalt eines Formularfeldes sein:

Code: Alles auswählen

nName = oForm.findColumn("Name")
sName = oForm.getString(nName)
Dies ist ein Beispiel aus dem Handbuch. Du musst den Namen aus der Abfrage nehmen. Der muss natürlich eindeutig sein.
Bei Deiner Variante müsste oDoc2 das Unterformular sein und "0" die Position sein, an der das Feld "ID" in der Abfrage steht. Meines Wissens geht das aber bei der Spaltenzählung erst bei "1" los. Habe ich so auch im Handbuch hinterlegt.

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

pschulze59
Beiträge: 51
Registriert: Di 16. Okt 2018, 12:48

Re: DatensatzID aus SubForm ermitteln?

Beitrag von pschulze59 » Do 8. Nov 2018, 22:09

Danke, Robert,

zu dem Schluss war ich dann letztlich auch gekommen und hatte entsprechen schon begonnen, das Formular zu erweitern.
In dem Zusammenhang entstand dann aber das nächste Problem (siehe nächsten thread viewtopic.php?f=10&t=19757), nämlich dass mir die ID nur was nützt, wenn ich sie nach Rückkehr ins ursprüngliche Formular zum Auffinden des richtigen Datensatzes auch verwenden kann. Ein Select kommt mir dabei nicht infrage, weil es die Datenmenge auf genau den Datensatz einschränkt und eine Schleife zum Suchen und Finden ist auch nicht elegant.


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