Base: Datumsformat in Abfragen und Formularen

Hallo Liste,

ich habe in Base eine Abfrage erstellt, in der mir u.a. ein Datum
ausgegeben wird. Das funktioniert ganz gut, nur leider ist in der
Abfrage selbst das Format des ausgegebenen Wertes eine fünfstellige
Zahl. In der Tabelle der Abfrage kann ich durch Klick auf den
Spaltenkopf das Zahlenformat ändern, sodass der Wert als lesbares Datum
angezeigt wird.

Sobald ich die Abfrage schließe und wieder öffne, ist aber wieder alles
beim Alten. :frowning: Auch Abspeichern der Abfrage hilft nicht.

Wenn ich dieses Feld aus der genannten Abfrage nun in einem Formular
einfüge, erscheint das Datum dort immer im amerikanischen Format mit
Bindestrichen, also z.B. "2013-12-27". Ich möchte aber lieber ein gut
lesbares, deutsches Format wie z.B. "27. 12. 2013" haben. Wie kann ich
hier im Formular das Zahlenformat ändern? In den Eigenschaften des
Kontrollfelds kann ich die Schriftart und -größe verändern, aber für das
Zahlenformat habe ich noch nichts gefunden.

Ich nutze LO 4.2.8.2 unter ubuntu 14.10.

Vielen Dank im Voraus,
Ansgar

- --
Gruß zuvor, greetings first.

Die Bindestriche sind ein gültiges deutschen Datumformat, das nach DIN
und ISO so genormt wurde.

Mit freundlichen Grüßen, kind regards
<sb>
Dr. Heiko Pollmeier, Bonn <hpollmeier@dhps.de>
Bevorzugter PGP-Schlüssel / Preferred PGP key ID 0x09E0BEF8 von/from
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x09e0bef8
<sb>

Hallo Ansgar,

Sobald ich die Abfrage schließe und wieder öffne, ist aber wieder
alles beim Alten. :frowning: Auch Abspeichern der Abfrage hilft nicht.

Alle Formatierungseinstellungen aus Abfragen werden leider nicht
gespeichert. Das wäre sicher eine wünschenswerte Ergänzung.

Wenn ich dieses Feld aus der genannten Abfrage nun in einem
Formular einfüge, erscheint das Datum dort immer im amerikanischen
Format mit Bindestrichen, also z.B. "2013-12-27".

Mit was für Einstellungen betreibst Du Dein LO-Paket? Schau zuerst
einmal unter Extras → Optionen → Spracheinstellungen → Sprachen nach,
ob dort auch die Benutzeroberfläche und das Gebietsschema auf
"Deutsch" eingestellt sind.

Ich möchte aber lieber ein gut lesbares, deutsches Format wie z.B.
"27. 12. 2013" haben. Wie kann ich hier im Formular das
Zahlenformat ändern? In den Eigenschaften des Kontrollfelds kann
ich die Schriftart und -größe verändern, aber für das Zahlenformat
habe ich noch nichts gefunden.

Eigenschaften: Datumsfeld → Allgemein → Datumsformat
oder
Eigenschaften: Formatiertes Feld → Allgemein → Formatierung → Button
mit 3 Punkten

Solltest Du eine andere Feldart gewählt haben (Textfeld), dann kann
höchstens das Datum bei heraus kommen, das als Standardformat in SQL
üblich ist: 2013-12-27 passt genau zum SQL-Code.

Gruß

Robert

Hallo Ansgar,

> Sobald ich die Abfrage schließe und wieder öffne, ist aber wieder
> alles beim Alten. :frowning: Auch Abspeichern der Abfrage hilft nicht.

Alle Formatierungseinstellungen aus Abfragen werden leider nicht
gespeichert. Das wäre sicher eine wünschenswerte Ergänzung.

Hilft es denn, das Ergebnis des SQL-Ausdrucks in ein anderes Format
umzuwandeln? Andere Felder werden in derselben Abfrage nämlich schön als
Datum dargestellt - das sind die, die sowieso das Format "Datum" haben.
Das Feld, um das es geht, enthält aber COALESCE(), und die Funktion
liefert wohl einen Integer-Wert zurück, nehme ich an.

Solltest Du eine andere Feldart gewählt haben (Textfeld), dann kann
höchstens das Datum bei heraus kommen, das als Standardformat in SQL
üblich ist: 2013-12-27 passt genau zum SQL-Code.

Danke, das war's: Ich hatte ein Textfeld gewählt. Jetzt habe ich es in
ein formatiertes Feld umgewandelt und kann auch das Format auswählen.

Viele Grüße,
Ansgar

Hallo Ansgar,

Hilft es denn, das Ergebnis des SQL-Ausdrucks in ein anderes
Format umzuwandeln? Andere Felder werden in derselben Abfrage
nämlich schön als Datum dargestellt - das sind die, die sowieso das
Format "Datum" haben. Das Feld, um das es geht, enthält aber
COALESCE(), und die Funktion liefert wohl einen Integer-Wert
zurück, nehme ich an.

Der Integer-Wert ist wohl im Hintergrund (SQL) eben noch ein Datum.
Wenn Du die Anzeige dauerhaft beeinflussen willst, dann musst Du
daraus einen Text machen - mit allen Nachteilen.

RIGHT('0'||DAY("Datum"),2)||'.'||RIGHT('0'||
MONTH("Datum"),2)||'.'||RIGHT(YEAR("Datum"),2)

Macht aus dem Feld "Datum" einen Text in der gewünschten Schreibweise.
Lässt sich dann allerdings nicht mehr als Datum sortieren oder sonst
wie weiter verwenden.

Gruß

Robert