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
Listenfeld mit Daten aus derselben Tabelle
Moderator: Moderatoren
-
- ****
- Beiträge: 117
- Registriert: So, 09.05.2010 09:53
- Wohnort: Coburg
- Kontaktdaten:
Re: Listenfeld mit Daten aus derselben Tabelle
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:
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:
Hier spreche ich die Registerkarte über dan Namen an, ginge auch über ihre Fortlaufende Nr.
Nun sprechen wir das Formular selbst an:
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:
Viel Erfolg!
Arek
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
Code: Alles auswählen
oSheet=oDoc.sheets.getByName("Tabelle1")
Nun sprechen wir das Formular selbst an:
Code: Alles auswählen
oForm=oSheet.drawpage.forms.getByName("Formular1")
oForm.reload()
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()
Arek