Frage stellen
0

Aktuelle Uhrzeit im Formular von Libreoffice Base anzuzeigen

gefragt 2019-11-10 18:50:57 +0100

Benny90 Gravatar-Bild

Hallo Leute,

Ich arbeite unter Windows 10 pro und Base (Version: 6.2.7.1 (x64)), wie kann man die aktulle Uhrzeit im Formular anzeigen? Die Uhrzeit wird beim öffnen des Formular angezeigt und auch das Datum. Die Uhrzeit wird nur nicht fortlaufend anzeigt. Ich habe das offizielle Base Handbuch 5.0, aber da und auch im Internet konnte ich nichts finden. Die Zeit habe ich eine Abfrage (SELECT DISTINCT CURRENT_TIME "Jetzt" FROM "INFORMATION_SCHEMA"."SYSTEM_SCHEMAS") dargestellt. Gibt es vielleicht die Möglichkeit, die Abfrage zeitgesteuert zu aktuallisieren?

Vielen Dank für die Hilfe Gruß Benny90

Bearbeiten Tags ändern Melden schließen vereinen löschen

Kommentare

Willst Du tatsächlich eine Uhr in Dein Base-Formular einbauen oder willst Du die Uhrzeit abspeichern? Das Speichern geht ja, wie Du beim Lesen des Handbuches mitbekommen haben wirst, über die Default-Werte der Datenbank, nicht die des Tabelleneditors.

Für die Änderung der Uhrzeit könntest Du über ein Makro an das entsprechende Feld eine Schleife hängen, die den WAIT-Befehl zusammen mit einem refresh des aktuellen Feldes oder des ganzen Formulars koppelst. Der Sinn dafür erschließt sich mir aber nicht, da die Uhr doch sowieso (zumindest bei mir am PC) rechts unten in der Bildschirmecke ihren Dienst tut.

RobertG Gravatar-BildRobertG ( 2019-11-10 19:05:24 +0100 )Bearbeiten

1 Antwort

0

geantwortet 2019-11-10 19:33:11 +0100

RobertG Gravatar-Bild

Auch wenn sich mir der Sinn nicht erschließt, hier ein Makro, das in dem mit einer Tabelle verbundenen Formularfeld die Zeit beständig anzeigt:

Sub Zeit_einfach(oEvent AS OBJECT)
Dim unoTime As New com.sun.star.util.Time
oForm = oEvent.Source
oTField = oForm.getByName("Zeitfeld")
Dim ActDate As Date
FOR i=1 TO 10
ActDate = Now()
With unoTime
  .Seconds = Second(ActDate)
  .Minutes = Minute(ActDate)
  .Hours = Hour(ActDate)
End With
oTField.BoundField.updateTime(unoTime) ' ACHTUNG: loescht bei einem Timestamp das Datum!
WAIT(1000)
NEXT
End Sub

Die Wait-Dauer entspricht einer Sekunde. Die Schleife habe ich testweise nur 10 Sekunden ablaufen lassen. Das ganze habe ich an das Laden des Formulars gebunden. Das Zeitfeld hat in dem Formular die Bezeichnung "Zeitfeld".

Da sich all das in einem Formularfeld abspielt wird natürlich die nachfrage kommen, ob der geänderte Datensatz abgespeichert werden soll.

Bearbeiten Melden löschen Link mehr
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2019-11-10 18:50:57 +0100

Angesehen: 33 Mal

Aktualisiert: Nov 10