Listenfeld mit Daten aus derselben Tabelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Listenfeld mit Daten aus derselben Tabelle

Re: Listenfeld mit Daten aus derselben Tabelle

von arkadiuszpaluszek » Sa, 16.04.2011 11:04

Na ja - mit einem an ein Ereignis gekoppeltem Makro eben. Du gehst in die Formulareigenschaften und verbindest das Makro mit den Ereignissen "Nach der Datensatzaktion" und / oder mit "Nach dem Datensatzwechsel".

DAs Makro selbst... hier kommt es darauf an, wie das Formular gemacht ist.

Zunächst beziehen wir uns auf das geöffnete Dokument und deklarieren Variablen:

Code: Alles auswählen

dim oDoc as Object
dim oForm as Object
dim oSheet as Object
oDoc=thisComponent
Jetzt kommt es darauf an ob das Formular in Writer oder in Calc gemacht ist. Wenn in Calc, dann musst Du noch sagen in welchem Registerreiter es ist:

Code: Alles auswählen

oSheet=oDoc.sheets.getByName("Tabelle1")
Hier spreche ich die Registerkarte über dan Namen an, ginge auch über ihre Fortlaufende Nr.

Nun sprechen wir das Formular selbst an:

Code: Alles auswählen

	oForm=oSheet.drawpage.forms.getByName("Formular1")
	oForm.reload()
Natürlich muss der Formularnaame auch passen, hier ist er halt "Formular1".
oSheeet bezieht sich auf die Registerkarte, wenn das Formular aber in Writer gemacht ist, dann gibt es keine Registerkarten, dann statt der oberen zwei Zeilen so:

Code: Alles auswählen

	oForm=oDoc.drawpage.forms.getByName("Formular1")
	oForm.reload()
Viel Erfolg!

Arek

Listenfeld mit Daten aus derselben Tabelle

von bkleine » Sa, 19.03.2011 20:20

Hallo,

eine Tabelle Mitarbeiter hat folgende Einträge

ID, Name, Vorname, staff_initials, Personalnummer, Eintragender, Eintragsdatum.

Beim Feld Eintragender (Integer) soll ein ID Wert aus der Tabelle selbst eingetragen werden.

Dazu habe ich im Formular eine SQL-Abfrage für ein Listenfeld

SELECT `staff_Initials`, `ID` FROM `Firmadb`.`tab_staff` AS `tab_staff`

eingetragen (bzw. der Wizard). Funktioniert.

Was nicht sofort funktioniert, ist die Anzeige eines neuen Eintrags in dem Feld Eintragender:

Ich gebe Schmitz, Michael, ms15, ztr-156723.99, bk01 ein (ID als Autowert, und Eintragsdatum als timestamp) und gehe zur nächsten Eingabe. Wenn ich jetzt in Eintragender schaue, fehlt der ms15 (noch). Durch den Button "Aktualisieren eines Kontrollfeldes" mache ich ihn sichtbar. Offensichtlich wird dadurch die Tabelle neu geladen.

Meine Frage: Mit welchem Makro kann ich das reload() beim Abschicken des Beitrags automatisch durchführen, so dass der Klick auf "Aktualisieren" nicht mehr notwendig ist?

Danke fürs Lesen und Jede Hilfe willkommen!

Gruß aus dem Schwarzwald

Bernhard

Nach oben