Seite 1 von 1

[gelöst] datensatzmakierer für übergabe d. Primkey an makro

Verfasst: Di, 02.08.2011 19:26
von juergen_w1987
Hy leute,

hab wieder mal ein problemchen.
Habe ein Formular in meiner Datenbank wo Prüfungen in einer Tabelle (Prüfdaten) angezeigt werden. Nun gibt es in der Tabelle den coolen Datensatzmakierer.
So mein wunsch ist dass ich mit dem Datensatzmakierer eine zeile auswähle(funktioniert). Jetzt habe ich mir ein paar Buttons hinzugefügt (speichern,..) und einen habe ich mit dem ich ein Makro ausführe.
Da ist schon das Problem wie bekomme den Primkey der ausgewählten Zeile in mein Makro. Ich brauche den Primkey da ich mit dem Makro Daten aus einem XML-File auslese und zur richtigen Prüfung schreiben muss.

danke schon mal im vorhinein.
verwende OOo3.2.1
HSQLDB 1.9

Re: datensatzmakierer für übergabe d. Primkey an makro

Verfasst: Di, 02.08.2011 23:06
von F3K Total
Hallo Jürgen,
angenommen der Dateninhalt des Formulares, auf dem sich dein Tabellenkontrollfeld befindet ist eine Tabelle oder Abfrage, und der Primkey ist ein Integer Wert in der ersten Spalte der Tabelle oder Abfrage, der Name des Formulares sei "MainForm" dann geht das am einfachsten so:

Code: Alles auswählen

oform=ThisComponent.drawpage.forms.Mainform
oprimkey=oform.getint(1)
Die 1 bedeutet erste Spalte, wäre der Primkey in Spalte 4 hieße es

Code: Alles auswählen

oprimkey=oform.getint(4)
Gruß R

Edit: Den Namen des Formulares findest Du, wenn du Dein Fomular im Bearbeitungsmodus öffnest, dann einen Rechtsklick auf das Tabellenkontrollfeld machst, "Formular" auswählst, in der ersten Zeile unter dem Reiter "Allgemein".

Re: datensatzmakierer für übergabe d. Primkey an makro

Verfasst: Mi, 03.08.2011 08:38
von juergen_w1987
Ich danke dir funktioniert wunderbar.

Ps.:

Code: Alles auswählen

oprimkey=oform.getint(4)
die Zahl 4 ist die Position in der Tabelle und nicht die Postition in der Tabelle im Formular.

mfg

jürgen

Re: [gelöst] datensatzmakierer für übergabe d. Primkey an ma

Verfasst: Mi, 03.08.2011 09:08
von F3K Total
Ja, genau wie ich geschrieben habe ...
F3K Total hat geschrieben:... der ersten Spalte der Tabelle oder Abfrage
Na, schön dass es klappt
Gruß R

Re: [gelöst] datensatzmakierer für übergabe d. Primkey an ma

Verfasst: Mo, 05.09.2011 19:29
von juergen_w1987
hab noch was gefunden wers braucht nachlesen unter link!!

Code: Alles auswählen

SubForm = thiscomponent.drawpage.forms.getbyname("Payables").getByName("PayablesSubForm")
http://www.oooforum.org/forum/viewtopic.phtml?t=76753

mfg

jürgen

Re: [gelöst] datensatzmakierer für übergabe d. Primkey an ma

Verfasst: Mo, 05.09.2011 20:22
von F3K Total
Hallo,
noch ein Tip: Wenn die Formulare/Subformulare ohne Leerzeichen/Sonderzeichen benannt sind, geht der Zugriff auf das Subform auch so:

Code: Alles auswählen

SubForm = thiscomponent.drawpage.forms.Payables.PayablesSubForm
Dabei auf Groß-/Kleinschreibung zu achten.
Gruß R