🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Zeit und Datum im Forumlar in Base anzeigen
-
- ! Supporter - Spende !
- Beiträge: 45
- Registriert: Mi 29. Aug 2012, 18:18
Zeit und Datum im Forumlar in Base anzeigen
Hallo Leute,
ich möchte die aktuelle Zeit und das Datum auf meinen Formular in Base anzeigen lassen. Ich hatte vor längere Zeit schon mal die gleiche Frage gestellt. Aber der Code funktioniert nicht mehr
Sub Startup_form(oEvent)
oEvent.Source.DrawPage.Forms.getbyindex(0).getbyname("Datum").date = format(date(),"yyyymmdd")
end sub
Ich habe ein Datumsfeld auf dem Formular angelegt, aber kommt beim Starten des Formular immer folgende Fehlermeldung;
BASIC-Laufzeitfehler.
Objektvariable nicht belegt
Ich kann den Fehler nicht finden, funktioniert der Code unter Base 4.2.5.2 nicht mehr oder wo könnte der Fehler liegen?
Wer hat einen Tipp bei der Fehlersuche für mich?
Vielen Dank
Thomas
ich möchte die aktuelle Zeit und das Datum auf meinen Formular in Base anzeigen lassen. Ich hatte vor längere Zeit schon mal die gleiche Frage gestellt. Aber der Code funktioniert nicht mehr
Sub Startup_form(oEvent)
oEvent.Source.DrawPage.Forms.getbyindex(0).getbyname("Datum").date = format(date(),"yyyymmdd")
end sub
Ich habe ein Datumsfeld auf dem Formular angelegt, aber kommt beim Starten des Formular immer folgende Fehlermeldung;
BASIC-Laufzeitfehler.
Objektvariable nicht belegt
Ich kann den Fehler nicht finden, funktioniert der Code unter Base 4.2.5.2 nicht mehr oder wo könnte der Fehler liegen?
Wer hat einen Tipp bei der Fehlersuche für mich?
Vielen Dank
Thomas
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo Thomas,
mit der Version 4.1.2 von LO hat es eine Änderung bei Datumswerten in der API gegeben. Vielleicht ist da das dabei, was auf Dein Problem passt. Schau einmal in dem aktuellen Handbuch (Version 4.3) auf S. 357 und auch sonst in dem Makrokapitel einfach einmal nach dem Suchbegriff "Datum".
Gruß
Robert
mit der Version 4.1.2 von LO hat es eine Änderung bei Datumswerten in der API gegeben. Vielleicht ist da das dabei, was auf Dein Problem passt. Schau einmal in dem aktuellen Handbuch (Version 4.3) auf S. 357 und auch sonst in dem Makrokapitel einfach einmal nach dem Suchbegriff "Datum".
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- ! Supporter - Spende !
- Beiträge: 45
- Registriert: Mi 29. Aug 2012, 18:18
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo Robert,
vielen Dank für die Hilfe, ich habe folgenden Code gefunden:
SUB Datum_aktuell
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oFeldAender AS OBJECT
DIM unoDate
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm")
oFeld = oForm.getByName("datDatum")
oFeldAender = oForm.getByName("datDatumAender")
unoDate = createUnoStruct("com.sun.star.util.Date")
unoDate.Year = Year(Date)
unoDate.Month = Month(Date)
unoDate.Day = Day(Date)
IF isEmpty(oFeld.Date) THEN
oFeld.BoundField.updateDate(unoDate)
END IF
oFeldAender.BoundField.updateDate(unoDate)
END SUB
Denn Code habe geändert in den folgende Zeilen entfernt habe, jetzt wird das aktuelle Datum im Formular angezeigt.
oFeldAender = oForm.getByName("datDatumAender")
IF isEmpty(oFeld.Date) THEN
END IF
oFeldAender.BoundField.updateDate(unoDate)
Einen kleinen Schönheitsfehler hat Sache noch, es kommt immer die Frage ob, die Änderungen gespeichert werden sollen. Wie kann man die Sicherheitsabfrage unterdrücken?
Vielen Dank für die Hilfestellung!
Gruß
Thomas
vielen Dank für die Hilfe, ich habe folgenden Code gefunden:
SUB Datum_aktuell
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oFeldAender AS OBJECT
DIM unoDate
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm")
oFeld = oForm.getByName("datDatum")
oFeldAender = oForm.getByName("datDatumAender")
unoDate = createUnoStruct("com.sun.star.util.Date")
unoDate.Year = Year(Date)
unoDate.Month = Month(Date)
unoDate.Day = Day(Date)
IF isEmpty(oFeld.Date) THEN
oFeld.BoundField.updateDate(unoDate)
END IF
oFeldAender.BoundField.updateDate(unoDate)
END SUB
Denn Code habe geändert in den folgende Zeilen entfernt habe, jetzt wird das aktuelle Datum im Formular angezeigt.
oFeldAender = oForm.getByName("datDatumAender")
IF isEmpty(oFeld.Date) THEN
END IF
oFeldAender.BoundField.updateDate(unoDate)
Einen kleinen Schönheitsfehler hat Sache noch, es kommt immer die Frage ob, die Änderungen gespeichert werden sollen. Wie kann man die Sicherheitsabfrage unterdrücken?
Vielen Dank für die Hilfestellung!
Gruß
Thomas
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo Thomas,
der Befehl schreibt das Datum in eine Datenbankzeile, macht aber keine Speicherung.
Wenn oForm das Formular ist, in dem das Datenfeld liegt:
Gruß
Robert
der Befehl schreibt das Datum in eine Datenbankzeile, macht aber keine Speicherung.
Wenn oForm das Formular ist, in dem das Datenfeld liegt:
... ich hoffe einmal, dass das so passt.IF oForm.rowUpdated THEN
oForm.updateRow()
ELSE
oForm.insertRow()
END IF
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- ! Supporter - Spende !
- Beiträge: 45
- Registriert: Mi 29. Aug 2012, 18:18
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo Robert,
erst mal vielen Dank für die Hilfe, leider funktioniert die Sache noch nicht so ganz. Denn Code habe ich geändert, aber jetzt kommt eine Fehlermeldung:
oForm.insertRow()
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: Fehler in der Funktionsfolge.
SUB Datum_aktuell
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM unoDate
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Standard")
oFeld = oForm.getByName("Date")
unoDate = createUnoStruct("com.sun.star.util.Date")
unoDate.Year = Year(Date)
unoDate.Month = Month(Date)
unoDate.Day = Day(Date)
REM oFeld.BoundField.updateDate(unoDate)
IF oForm.rowUpdated THEN
oForm.updateRow()
ELSE
oForm.insertRow()
END IF
END SUB
Was mach ich falsch oder wo liegt der Fehler? Vielen Dank noch mal!
Gruß
Thomas
erst mal vielen Dank für die Hilfe, leider funktioniert die Sache noch nicht so ganz. Denn Code habe ich geändert, aber jetzt kommt eine Fehlermeldung:
oForm.insertRow()
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: Fehler in der Funktionsfolge.
SUB Datum_aktuell
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM unoDate
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Standard")
oFeld = oForm.getByName("Date")
unoDate = createUnoStruct("com.sun.star.util.Date")
unoDate.Year = Year(Date)
unoDate.Month = Month(Date)
unoDate.Day = Day(Date)
REM oFeld.BoundField.updateDate(unoDate)
IF oForm.rowUpdated THEN
oForm.updateRow()
ELSE
oForm.insertRow()
END IF
END SUB
Was mach ich falsch oder wo liegt der Fehler? Vielen Dank noch mal!
Gruß
Thomas
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo,
warum eigentlich der Umweg über ein Makro?
Du kannst in jeder Abfrage oder Ansicht, das aktuelle Datum mit
oder
ermitteln
z.B
Wenn du diese Abfrage zur Datengrundlage eines strukturellen Formulares machst, kannst Du dem Datumsfeld die Spalte HEUTE zuordnen, anbei ein einfaches Beispiel, öffne das Formular Adressverwaltung.
EDIT: mit
kommst du an das aktuelle Datum inklusive der aktuellen Zeit, die "Uhr" würde aber nicht laufen, sondern nur beim Aktualisieren des Formulares die richtige Zeit anzeigen.
Gruß R
warum eigentlich der Umweg über ein Makro?
Du kannst in jeder Abfrage oder Ansicht, das aktuelle Datum mit
Code: Alles auswählen
CURRENT_DATE
Code: Alles auswählen
CURDATE()
z.B
Code: Alles auswählen
SELECT DISTINCT CURRENT_DATE AS "HEUTE" FROM "INFORMATION_SCHEMA"."SYSTEM_SCHEMAS"
Code: Alles auswählen
CURRENT_TIMESTAMP
Gruß R
- Dateianhänge
-
- aktuelles_Datum.zip
- nur entpacken
- (68.04 KiB) 304-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo Thomas,
Wenn bei insertRow ein Fehler in der Funktionsfolge entsteht, dann handelt es sich nicht um einen neuen Datensatz, der noch nicht in der Tabelle steht. Es muss ein bestehender Datensatz geändert werden, also updateRow. Das greift hier aber nicht, weil eben nichts geändert wurde und damit oForm.rowUpdated ein FALSE wiedergibt.
Gruß
Robert
Wenn das tatsächlich Dein Code ist: Du musst doch erst etwas in das Feld schreiben, damit ein Insert oder Update funktionieren kann. Den entsprechenden Befehl hast Du als Kommentar mit REM versehen.thomas.weiss hat geschrieben: Fehlermeldung:
oForm.insertRow()
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: Fehler in der Funktionsfolge.
REM oFeld.BoundField.updateDate(unoDate)
IF oForm.rowUpdated THEN
oForm.updateRow()
ELSE
oForm.insertRow()
END IF
END SUB
Wenn bei insertRow ein Fehler in der Funktionsfolge entsteht, dann handelt es sich nicht um einen neuen Datensatz, der noch nicht in der Tabelle steht. Es muss ein bestehender Datensatz geändert werden, also updateRow. Das greift hier aber nicht, weil eben nichts geändert wurde und damit oForm.rowUpdated ein FALSE wiedergibt.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- ! Supporter - Spende !
- Beiträge: 45
- Registriert: Mi 29. Aug 2012, 18:18
Re: Zeit und Datum im Forumlar in Base anzeigen
Hallo,
vielen Dank für den Tipp, das funktioniert super und ist einfacher als die Sache mit dem Makro.
Vielen Dank nochmal.
Gruß
Thomas
vielen Dank für den Tipp, das funktioniert super und ist einfacher als die Sache mit dem Makro.
Vielen Dank nochmal.
Gruß
Thomas
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.