BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> 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
-
- Beiträge: 18
- Registriert: Mo 17. Aug 2020, 16:18
Formular nach Zeit automatisch aktualisieren
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
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
-
- Beiträge: 18
- Registriert: Mo 17. Aug 2020, 16:18
Re: Formular nach Zeit automatisch aktualisieren
Keiner ne Idee?
Re: Formular nach Zeit automatisch aktualisieren
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
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
-
- Beiträge: 18
- Registriert: Mo 17. Aug 2020, 16:18
Re: Formular nach Zeit automatisch aktualisieren
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
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
Re: Formular nach Zeit automatisch aktualisieren
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 Zeiledas 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.
Mitwird 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 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
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()
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
Mit
Code: Alles auswählen
oform.reload
Ö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
-
- Beiträge: 18
- Registriert: Mo 17. Aug 2020, 16:18
Re: Formular nach Zeit automatisch aktualisieren
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
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
Re: Formular nach Zeit automatisch aktualisieren
Bitteschön,
habe es dir eingebaut.
Gruß R
habe es dir eingebaut.
Gruß R
- Dateianhänge
-
- TestDatenbank.odb
- (19.1 KiB) 244-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 18
- Registriert: Mo 17. Aug 2020, 16:18
Re: Formular nach Zeit automatisch aktualisieren
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
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
-
- Beiträge: 18
- Registriert: Mo 17. Aug 2020, 16:18
Re: Formular nach Zeit automatisch aktualisieren
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
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