🙏 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. 🤗

Datentyp in Abfrage ändern

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Eixen
Beiträge: 16
Registriert: Mi 11. Dez 2013, 14:06

Datentyp in Abfrage ändern

Beitrag von Eixen » Di 4. Feb 2014, 17:21

Hallo Community,

ich habe mich nun an einem Problem aufgehangen und fand trotz stundenlanger Recherche keine Lösung.

Es geht um folgendes:

In einer Tabelle existieren mehrere Datumsfelder: Datum1, Datum2, Datum3.

Datum1 ist immer ausgefüllt. Datum2 und Datum 3 ist Änderungsdatum und manchmal ausgefüllt.

Ich möchte nun mit dem CASE WHEN den letzten Eintrag finden und in ein Extra-Feld schreiben:

Code: Alles auswählen

CASE
WHEN "Datum3" IS NOT NULL THEN "Datum3"
WHEN "Datum2" IS NOT NULL THEN "Datum2"
ELSE "Datum1"
END [color=#800000]AS "Zulassung"[/color]
Der Code funktioniert auch. Aber nun kommt das Problem:

In die neu erschaffene Spalte "Zulassung" werden die Datums-Informationen als Zahl bzw Text geschrieben: z.B. 41203, 41205, usw.

Da alle abgefragten Spalten Datumstypen sind, sollte die Zielspalte doch auch als Datumstyp durchgehen.
Ich finde keine Lösung, wie ich die Spalte "Zulassung" als Datumstyp definieren kann.

Der CAST-Befehl konnte mir leider nicht helfen.
Ich bin sicher, dass jemand die Lösung kennt. Stehe wohl etwas auf dem Schlauch.

Beste Grüße,
Eixen

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

Re: Datentyp in Abfrage ändern

Beitrag von F3K Total » Di 4. Feb 2014, 18:54

Hi,
das ist wohl nur ein Darstellungsproblem, im Formular, wenn Du ein Datums- oder formatiertes Feld verwendest, wird alles richtig angezeigt.
Du kannst auch den direkten SQL-Modus einschalten, dann ist die Abfrage aber nicht mehr zur Dateneingabe geeignet.
Dein SQL Befehl geht übrigens etwas einfacher:

Code: Alles auswählen

SELECT COALESCE ( "Datum3", "Datum2", "Datum1" ) AS "Zulassung" FROM "Daten"
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Datentyp in Abfrage ändern

Beitrag von RobertG » Di 4. Feb 2014, 20:04

Hallo Eixen,

Formatierungen in Abfragen sind von Formatierungen in Tabellen abhängig. Stellst Du dort für ein Feld eine Formatierung und Spaltenbreite entsprechend ein, so wird das gleiche Feld in der Abfrage auch so dargestellt. Bei Funktionen muss Base da leider passen.
Du kannst die Formatierung leider nur vorübergehend einstellen - die Formatierungen von Abfragen werden nicht gespeichert.
Zwei Auswege:
Du machst aus der Abfrage, die Du richtig formatiert hast, eine Ansicht - dann kannst Du aber Daten nicht mehr ändern.
Du lässt Dir die Daten immer im Formular anzeigen. Dort kannst Du die Formatierung in den Feldeigenschaften des Formulars speichern.

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

Eixen
Beiträge: 16
Registriert: Mi 11. Dez 2013, 14:06

Re: Datentyp in Abfrage ändern

Beitrag von Eixen » Mi 5. Feb 2014, 17:21

Danke für eure Antworten!
F3K Total hat geschrieben: das ist wohl nur ein Darstellungsproblem, im Formular, wenn Du ein Datums- oder formatiertes Feld verwendest, wird alles richtig angezeigt.
Das stimmt. Auch wenn ich einen Bericht erstelle, kann ich das Feld als Datum anzeigen lassen.
RobertG hat geschrieben: Formatierungen in Abfragen sind von Formatierungen in Tabellen abhängig. Stellst Du dort für ein Feld eine Formatierung und Spaltenbreite entsprechend ein, so wird das gleiche Feld in der Abfrage auch so dargestellt.
Ja, das habe ich auch gedacht. Da die Ausgangsfelder alles Datumsfelder sind, sollte das neu erschaffene Feld (AS "Zulassung") auch als Datum angezeigt werden. Dieses existiert ja vorher noch nicht, sondern wird durch die Abfrage erstellt.

Ich brauche nur zwangsläufig die Formatierung als Datum, da ich in dem Zielfeld "Zulassung" ein Datums-Kriterium habe: z.B. ZWISCHEN #01.01.2014# UND #31.01.2014#

Dieses Kriterium funktioniert allerdings nicht, wenn nur Zahlenwerte im Feld stehen.
Sonst müsste ich den gesuchten Bereich als Zahl wiedergeben, das ist für den Nutzer, der die Eingabe via Parameterabfrage macht, nicht möglich.

Habt ihr da noch eine Idee, wie man das Problem lösen kann?
Im Anhang nochmal das Beispiel.

Vorab schon mal vielen Dank für die Unterstützung!
Eixen
Dateianhänge
beispiel_datum.png
beispiel_datum.png (59.28 KiB) 2807 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Datentyp in Abfrage ändern

Beitrag von RobertG » Mi 5. Feb 2014, 19:08

Hallo Eixen,

bei mir funktioniert das einwandfrei mit dem entsprechenden Befehl auf genau das Feld, was in der GUI nur Zahlen darstellt. Das Einzige, was ich beobachten kann, ist, dass meine LO-Version den Code nach einem Ausschalten und Wiedereinschalten der Design-Ansicht so umsetzt, dass die GUI den selbst nicht mehr verstehen kann. Solange Du aber in der GUI-Ansicht bleibt läuft auch die Datumabfrage mit "Zwischen ... und ..."

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


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