🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Datum, automatisch

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Datum, automatisch

Beitrag von eiswiese » Mo 8. Apr 2013, 14:53

Hallo,
ich habe in einem Formular ein Feld für das Datum. Da ich in aller Regel das aktuelle Datum benötige, hätte ich gerne, dass dieses automatisch angezeigt wird und, dass der Cursor beim Formularöffnen direkt dorthin springt, für den Fall, dass ich es doch mal ändern möchte.
Weiss jemand, wie ich das hinbekomme?
Gruß eiswiese

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datum, automatisch

Beitrag von gogo » Mo 8. Apr 2013, 16:22

geht nicht mehr seit 1-2 Jahren, Du kannst aber folgendes Makro mit dem Ereignis "Dokument Öffnen" verbinden:

Code: Alles auswählen

Sub Startup_form(oEvent)
   oEvent.Source.DrawPage.Forms.getbyname("NameDesFormulars").getbyname("NameDesDatumsKEs").date = format(date()-360,"yyyymmdd")
end sub
... setzt das Datum auf heute vor 360 Tagen ...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mo 8. Apr 2013, 18:36

Das hat schon mal super geklappt. Nachdem ich die -360 rausgenommmen habe, sogar mit dem heutigen Datum... ;)
Vielleicht weisst du ja auch noch, wie ich den Cursor beim Start ins Feld bekomme...
So oder so: Danke!
eiswiese

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mo 8. Apr 2013, 18:48

Mmmh, so richtig funkioniert das leider doch nicht.
Wenn ich versuche, den Datensatz mit dem Datum zu speichern, meckert Base, dass für das Feld "Datum" eine Eingabe erforderlich ist. (Obwohl das heutige Datum in dem Feld angezeigt wird)
Die Meckerei hört erst auf, wenn ich das Datum manuell nochmal "drüberschreibe"...

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datum, automatisch

Beitrag von gogo » Mo 8. Apr 2013, 18:51

mit dem selben oEvent vom Makro oben

Code: Alles auswählen

...
	oCtrl = oEvent.Source.DrawPage.Forms.getbyname("NameDesFormulars").getbyname("NameDesKEs")
	oEvent.Source.CurrentController.getControl(oCtrl).setfocus
...
und das Datum ... da "fehlt" das Commit:

Code: Alles auswählen

oEvent.Source.DrawPage.Forms.getbyname("NameDesFormulars").getbyname("NameDesDatumsKEs").commit
zum "nur Reinschreiben" des Datums in ein ungeundenes Feld reicht meist das Setzen des Date-Werts, beim Speichern braucht's in der Regel ein Commit.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mo 8. Apr 2013, 19:25

Jetzt läuft es rund! :D

Eines ist allerdings etwas eigenartig:
Beim Starten des Formulars steht im Datumsfeld nur ganz kurz "13.04.12" (-360???),
dann erscheint das heutige Datum.
Damit kann ich wohl leben, aber neugierig in ich trotzdem.

Vielen Dank für deine Hilfe!

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Datum, automatisch

Beitrag von F3K Total » Mo 8. Apr 2013, 19:44

Hallo,
ich hätte da noch eine "nicht-Makro" Version, die das aktuelle Datum beim ersten Abspeichern eines Datensatzes setzt, das Datum kann man natürlich auch nachträglich wieder ändern.
Angenommen die zugrundeliegende Tabelle heißt Tabelle und die Spalte mit dem Datum heißt Datum.
Dann gibst Du einmal unter Extras/SQL... folgenden Befehl ein und führst ihn aus:

Code: Alles auswählen

ALTER table "Tabelle" alter column "Datum" set DEFAULT CURRENT_DATE
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datum, automatisch

Beitrag von gogo » Mo 8. Apr 2013, 20:14

heute ist der 8.4.2013 ... minus 360d wäre der 13.04.12 - hast Du dieses Datum zufällig im Feld "Standardwert" stehen?

... und: Wenn Du bei jedem neuen Datensatz das heutige Datum brauchst ist die Lösung von FK3Total viel besser, denn per Makro wird das Datum ja nur 1x nach dem Öffnen des Formulars gesetzt.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Di 9. Apr 2013, 20:51

So langsam wird meine Verwirrung total...
In der Tat ist das mit dem Makro nicht so toll, da ja tatsächlich immer nur beim Start des Formulars das Datum gesetzt wird. (@gogo: das Feld Standardwert war leer!)
Also: Makro entfernt und SQL-Methode. Ich bekam auch die Bestätigung, dass der Befehl ordnungsgemäß ausgeführt wurde.
Das Formular geöffnet, das aktuelle Datum erschien kurz und dann blieb nur ein leeres Feld. :(
Fällt jemandem dazu etwas ein?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Datum, automatisch

Beitrag von F3K Total » Di 9. Apr 2013, 21:01

Hallo Eiswiese,
hast Du den Datensatz mal gespeichert (Diskettensymbol)?
F3K Total hat geschrieben:... die das aktuelle Datum beim ersten Abspeichern eines Datensatzes setzt ...
Oder hast Du die Datumsspalte in der Tabelle vielleicht nicht als TYP Datum definiert?
Du kannst auch kurz eine Beispieldatei hochladen, ggf. verfremdet, dann kann man mal nachsehen wo der Hase im Pfeffer liegt.
Gruß R
EDIT: hier eine kurze Beispieldatei.
  • Klicke "Neuer Datensatz"
  • Gib einen Betrag ein
  • Wähle einen Namen
  • Speichere den Datensatz mit dem Diskettensymbol
Dateianhänge
Beispiel_Autodatum.zip
nur entpacken
(10.32 KiB) 420-mal heruntergeladen
Zuletzt geändert von F3K Total am Di 9. Apr 2013, 21:29, insgesamt 1-mal geändert.
Windows 11: AOO, LO Linux Mint: AOO, LO


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.



Antworten