Hallo zusammen
gibt es irgendeine Möglichkeit auf die Werte eines gerade gespeicherten Datensatzes zuzugreifen?
Ich brauch in einem Unterformular die Autowert ID eines neu gespeicherten Datensatzes. Ich käme natürlich an die ID, wenn ich die in einem verknüpften Textfeld anzeigen lasse, das möchte ich aber aus verschiedenen Gründen nicht.
Gibt es einen Zugriff a la oSubForm.currentRow oder ähnliches? Hab mir schon n Wolf gesucht, verzweifel aber mal wieder an der imho mangelhaften Doku von Base.
Besten Gruß
Zugriff auf aktuelle Datensatz
Moderator: Moderatoren
Zugriff auf aktuelle Datensatz
LO 3.6.5.2 auf Windows 7 64bit
"Ein Programm ist immer nur so gut wie sein Benutzer" - "Software has no brain, use your own"
"Ein Programm ist immer nur so gut wie sein Benutzer" - "Software has no brain, use your own"
Re: Zugriff auf aktuelle Datensatz
Moin,
klar, gibt es:
Angenommen dein Formular heißt im Formularnavigator MainForm, das Subformular SubForm und die ID, ein Integer Wert, steht in der zugrundeliegenden Tabelle/Abfrage in der ersten Spalte:
klar, gibt es:
Angenommen dein Formular heißt im Formularnavigator MainForm, das Subformular SubForm und die ID, ein Integer Wert, steht in der zugrundeliegenden Tabelle/Abfrage in der ersten Spalte:
- oform = ThisComponent.drawpage.Forms.getbyname("MainForm").getbyname("SubForm")
nID = oform.getint(1)
kurz, auf Groß- und Kleinschreibung achten: - oform = ThisComponent.drawpage.Forms.MainForm.SubForm
nID = oform.getint(1)
...oder wenn du die Spalte nicht kennst, aber die Bezeichnung, z.B. ID - oform = ThisComponent.drawpage.Forms.MainForm.SubForm
ncolumn = oform.findcolumn("ID")
nID = oform.getint(ncolumn)
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Zugriff auf aktuelle Datensatz
Zwei kleine Ergänzungen:
1. Die ID kann erst nach insertRow zur Verfügung stehen. (Ob noch andere Umstände berücksichtigt werden müssen, habe ich nicht geprüft; ich habe keine geeignete odb-Testdatei.)
2. Wenn die ID den Datentyp INTEGER verwendet, muss in Makros (sicherheitshalber) getLong verwendet werden. Die Datentypen integer sind in Basic (Makros) und den Datenbanken unterschiedlich definiert. (In der Neufassung des Handbuchs weisen wir darauf ausdrücklich hin.)
Gruß Jürgen
1. Die ID kann erst nach insertRow zur Verfügung stehen. (Ob noch andere Umstände berücksichtigt werden müssen, habe ich nicht geprüft; ich habe keine geeignete odb-Testdatei.)
2. Wenn die ID den Datentyp INTEGER verwendet, muss in Makros (sicherheitshalber) getLong verwendet werden. Die Datentypen integer sind in Basic (Makros) und den Datenbanken unterschiedlich definiert. (In der Neufassung des Handbuchs weisen wir darauf ausdrücklich hin.)
Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Zugriff auf aktuelle Datensatz
Hi erstmal Danke!
Das mit der mangelhaften Dokumentation war nicht persönlich gemeint
, bin da glaub ich von Flash auch etwas verwöhnt.
Hatte es mit analag zu updateInt mit getInt ausprobiert, aber das scheiterte dann wohl an der groß/kleinschreibung bzw. werde ich es mal mit Long ausprobieren.
Grüße
Das mit der mangelhaften Dokumentation war nicht persönlich gemeint

Hatte es mit analag zu updateInt mit getInt ausprobiert, aber das scheiterte dann wohl an der groß/kleinschreibung bzw. werde ich es mal mit Long ausprobieren.
Grüße
LO 3.6.5.2 auf Windows 7 64bit
"Ein Programm ist immer nur so gut wie sein Benutzer" - "Software has no brain, use your own"
"Ein Programm ist immer nur so gut wie sein Benutzer" - "Software has no brain, use your own"