Seite 1 von 1

Re: automatisch Tagesdatum setzen

Verfasst: Do, 08.12.2011 21:41
von F3K Total
Hi,
anbei eine kleine Beispiel Datenbank zum Erforschen.
Das Makro

Code: Alles auswählen

Sub insert_Date
oform = thiscomponent.drawpage.forms.MainForm
if oform.isnew = true then
dim odate as new com.sun.star.util.Date
odate.day = day(now())
odate.Month = month(now())
odate.Year = year(now())
ogrid=oform.getbyname("MainForm_Grid")
ocolumn = ogrid.getbyname("Datum")
ocolumn.boundfield.updatedate(odate)
oform.insertrow()
endif
End Sub
wird Nach dem Datensatzwechsel ausgeführt.
Klicke in eine neue Zeile, und du siehst wie das heutige Datum eingetragen wird.

Gruß R

Re: automatisch Tagesdatum setzen

Verfasst: Mo, 12.12.2011 00:45
von gogo
Die Kontrollelemente eines Formulars haben eine Eigenschaft die sich "Standartwert" nennt. Bei Datums-Kontrollelementen muss man dort eine Null ("0") eingeben - dann steht da bei einem neuen Datensatz immer das aktuelle Datum - leider funktioniert ein -1 oder +2 nicht...

Re: automatisch Tagesdatum setzen

Verfasst: Mo, 12.12.2011 06:33
von F3K Total
Hallo gogo,
gogo hat geschrieben:leider funktioniert ein -1 oder +2 nicht...
, was für den o.a. Fall auch nicht benötigt wird. Eindeutig die einfachere Lösung. Woher hast Du das? In F1 steht es nicht. Da habe ich wieder was gelernt. Super, Vielen Dank.
Gruß Rik

Re: automatisch Tagesdatum setzen

Verfasst: Mo, 12.12.2011 09:52
von gogo
Schlag' mich, aber ich weiss und find's nicht mehr - es war irgendein Nebensatz in einem vollkommen anderem Kontext eines Wikis oder einer Dokumentation...

Was in F1 in Bezug auf die Datums-Standardwerte steht bezieht sich auf etwas ältere OOo-Versionen - ist jedenfalls nicht besonders aktuell :?

Re: automatisch Tagesdatum setzen

Verfasst: So, 18.12.2011 13:19
von F3K Total
Hallo,
durch diesen Thread Aktuelles Datum als Vorgabewert für neuen Datensatz habe ich gelernt, dass das Setzen des aktuellen Tagesdatums, der aktuellen Uhrzeit oder des Timestamps auch ohne Makro und ohne Eingabe der 0 als Defaultwert im Kontrollfeld möglich ist. Vielen Dank an DPunch.

Hier ein Beispiel für die angehängte Datei [embeddet HSQLDB]:
Unter Extras/SQL ... einmalig folgenden Befehl eingeben:

Code: Alles auswählen

alter table "Tabelle1" alter column "Datum" set default current_date
was soviel bedeutet wie:
Ändere in der Tabelle "Tabelle1", ändere die Spalte "Datum", setzte als Standardinhalt das aktuelle Datum

Ausserdem habe ich default current_time und default current_timestamp erfolgreich ausprobiert.

In angehängter DB kann dies ausprobiert werden, noch ist das Autodatum nicht gesetzt.
Ein Makro zum Zurücksetzen habe ich nicht rausgelöscht, das Autodatum wird direkt von der embeddet HSQLDB gesetzt.

Gruß R