Seite 1 von 1
Zugriff auf aktuelle Datensatz
Verfasst: Di, 26.02.2013 01:10
von Luke78
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ß
Re: Zugriff auf aktuelle Datensatz
Verfasst: Di, 26.02.2013 06:40
von F3K Total
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:
- 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)
Gruß R
Re: Zugriff auf aktuelle Datensatz
Verfasst: Di, 26.02.2013 09:11
von juetho
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
Re: Zugriff auf aktuelle Datensatz
Verfasst: Di, 26.02.2013 09:33
von Luke78
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