DatensatzID aus SubForm ermitteln?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
pschulze59
Beiträge: 24
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
Beiträge: 1734
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

pschulze59
Beiträge: 24
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.



Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste