BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Formular nach Zeit automatisch aktualisieren

BASE ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit OpenOffice.org zu bearbeiten.
Biber51966
Beiträge: 18
Registriert: Mo 17. Aug 2020, 16:18

Formular nach Zeit automatisch aktualisieren

Beitrag von Biber51966 » Di 3. Nov 2020, 21:28

Hallöchen,
ich hätte mal wieder gerne ein Problem.
Bin mit meiner Datenbank für Reparaturaufträge fast fertig.
Wenn ich die Datenbank starte, dann kommt man automatisch auf ein
Startformular (Zentrale). in diesem Formular sind Listen mit Termine und
Anfragen eingebettet. Da sich der Inhalt der Listen oft verändert, suche ich
nach einem Weg, dass sich dieses Formular automatisch alle 5 Minuten
von alleine aktualisiert. Gibt es da ein Makro für so was?
Danke für Hilfe.
Gruß
Jürgen

Biber51966
Beiträge: 18
Registriert: Mo 17. Aug 2020, 16:18

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von Biber51966 » Fr 13. Nov 2020, 23:52

Keiner ne Idee?

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von F3K Total » Sa 14. Nov 2020, 09:31

Moin Jürgen,
aber sicher, es gibt da Möglichkeiten per Makro. Habe ich schon gemacht. Prinzipiell eine Uhr programmiert die wiederum ein Makro startet, dass das entsprechende Formular nach ein festgelegten Zeit neu lädt.
Ist nur dumm, wenn man gerade etwas eingibt, das ist dann nämlich weg, falls der Datensatz noch nicht gespeichert ist.
Oder handelt es sich um ein reines "Auswahlformular" dann ginge das natürlich. Welche Art von Datenbank verwendest du mit welchem Betriebssystem? Einbenutzer oder Mehrbenutzer?

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von F3K Total » Sa 14. Nov 2020, 11:41


Biber51966
Beiträge: 18
Registriert: Mo 17. Aug 2020, 16:18

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von Biber51966 » Sa 14. Nov 2020, 15:48

Hallöchen,

also auf dem Formular das aktualisiert werden soll, werden keine
Daten eingegeben.
Es dient eigentlich nur als Start-Zentrale. Man kommt von dem
Formular aus über Schaltflächen zu weiteren Programmpunkten.
Jetzt warum dann die Aktualisierung?
Auf dem Formular gibt es eine Liste, die über eine Abfrage generiert wird.
Damit der Inhalt der Liste für jeden Mitarbeiter immer aktuell bleibt,
möchte ich halt gerne das Formular alle 5 Minuten aktualisieren.
Ich möchte halt vermeiden, dass von Hand ein Aktualisierungs-Button
gedrückt werden muss,
Ja, es sind mehrere Mitarbeiter. OO-Base ist über ODBC an eine Mysql-Datenbank
angebunden.
Ich wäre für jedwede Hilfe dankbar.

Gruß
Jürgen

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von F3K Total » Sa 14. Nov 2020, 17:52

Nun denn,
leider gibt es in Starbasic keine UHR in dem Sinne, man kann zwar eine mit dem WAIT-Befehl erzeugen, dann kommen aber alle anderen Makros durcheinander. Ich habe vor Urzeiten im alten englischen OOOForum.org, das es leider nicht mehr gibt, vom USER MS777 einer Kombination aus Starbasic und BeanShell Script gefunden.

Anbei eine Beispieldatei, die sowohl Basic-Makros als auch das BeanShell Script enthält.
Das Basic-Makro Start_timer wird mit dem Öffnen der .odb Datei gestartet. Es startet mit der Zeile

Code: Alles auswählen

oP0 = GenerateTimerPropertySet()
das BeanShell Script, das quasi der Timer ist, zum ersten mal. Die Uhr wird auf einen Zehnsekundentakt mit der Uhr des Rechners synchronisiert.
Dies kann bis zu einer Minute dauern. Dann läuft die Uhr im Takt.
Mit

Code: Alles auswählen

oP = GenerateTimerPropertySet()...
oP.lPeriodInMilliSec = 10000'alle zehn Sekunden
wird die Uhr nun genau alle 10 Sekunden abgefragt, genauer UHR_trigger wird alle 10 Sekunden ausgeführt, kannst du auf 300000 ändern, das sind dann deine 5 Minuten.
Mit

Code: Alles auswählen

oform.reload
wird das Formular neu geladen.
Öffnest du das Formular AUTO_UPDATE_FORMULAR, kannst du oberhalb des Tabellenkontrollfeldes den aktuellen Datumzeitstempel sehen, der sich automatisch aktualisiert.
Führst du im Formular FORMULAR_ZUR_EINGABE eine Änderung durch, erscheint sie innerhalb von zehn Sekunden im AUTO_UPDATE_FORMULAR.
Viel Erfolg beim Nachbauen.
Solltest du mit der Lösung zufrieden sein, bitte im englischen Forum Bescheid geben, damit sich da nicht noch jemand einen Kopf machen muss.
Gruß R
Dateianhänge
AUTO_RELOAD_FORM.odb
(23.76 KiB) 247-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Biber51966
Beiträge: 18
Registriert: Mo 17. Aug 2020, 16:18

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von Biber51966 » Sa 14. Nov 2020, 19:57

Hallöchen,

Tausend Dank,
das könnte wirklich genau das sein was ich brauche. Nun hab ich aber folgendes Problem.
Beim Starten der ODB wird bereits ein Makro ausgeführt, dass automatisch die Startseite des
ganzen Projektes öffnet. (Das ist dann die Seite, die dauernd aktualisiert werden soll).

sub FormAutostart '1. Formular beim Start laden -------------------------------

dim oCon as object
oCon = ThisDatabaseDocument.CurrentController
If NOT ( oCon.isConnected() ) Then oCon.connect() 'Verbindung sicherstellen

oCon.loadComponent(com.sun.star.sdb.application.DatabaseObject.FORM,"Zentrale",FALSE)

Anbei eine kleines Beispiel mit der Startseite (Zentrale). (Die Schaltflächen auf der Seite gehen natürlich nicht). und die genannte Liste ist da auch nicht drauf, weil das noch ne alte Version der Startseite ist) Wie krieg ich deine Zeit-Lösung und mein Start-Makro unter einen Hut?
Wirkt sich deine Zeit-Lösung nur auf dieses eine Formular in der DB aus?

Gruß
Jürgen
Dateianhänge
TestDatenbank.odb
(16.45 KiB) 236-mal heruntergeladen

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von F3K Total » Sa 14. Nov 2020, 21:15

Bitteschön,
habe es dir eingebaut.

Gruß R
Dateianhänge
TestDatenbank.odb
(19.1 KiB) 244-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Biber51966
Beiträge: 18
Registriert: Mo 17. Aug 2020, 16:18

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von Biber51966 » Sa 14. Nov 2020, 21:52

Hallo,
super, klasse, vielen Dank.

Aber wie krieg ich das jetzt in meine richtige DB rein?
Das Makro zum laden der Startseite finde ja. Aber wo
muss ich jetzt das Zeit-Makro einbauen?

-Etwas hilflos guck-

Jürgen

Biber51966
Beiträge: 18
Registriert: Mo 17. Aug 2020, 16:18

Re: Formular nach Zeit automatisch aktualisieren

Beitrag von Biber51966 » So 15. Nov 2020, 09:27

Hallöchen,

habs rausgefunden. Hätte gleich drauf kommen können, dass du
da ein "Start Timer" reingeschrieben hast.

Werde das morgen da testen wo es hingehört und berichten ob es so
klappt wie es soll.

Thx a lot.

Gruß
Jürgen

Antworten