[gelöst]Prob.b.Abfrage "Geburtstagsliste": Format u. Eingabe

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Neujuenger2010
**
Beiträge: 20
Registriert: Mo, 25.10.2010 18:31

[gelöst]Prob.b.Abfrage "Geburtstagsliste": Format u. Eingabe

Beitrag von Neujuenger2010 »

Hallo!

Ja, ich schon wieder... :wink:

Ich will mir über eine Abfrage eine Geburtstagsliste meiner Kunden auswerfen lassen (bloss keinen vergessen...).

Meine Abfrage sieht aktuell so aus:

Code: Alles auswählen

select
	"Kunden"."Kundennummer",
	"Kunden"."Name",
	[diverse Adressfelder],
	"Kunden"."Geb.-Datum",
	DATEDIFF('yy', "Kunden"."Geb.-Datum",CURRENT_DATE) AS Wird
		
from
	"Kunden"
	[diverse andere Tabellen]
	
 where extract (month from "Kunden"."Geb.-Datum") = 5

 order by (extract (day from "Kunden"."Geb.-Datum")), (extract (year from "Kunden"."Geb.-Datum"))
Funktioniert auch.

Problem 1:
In der Tabelle "Kunden" ist das Geburtsdatum in der Form "TT.MM.JJJJ" hinterlegt. In der Ausgabe der Abfrage wird das Datum im Format "TT.MM.JJ" ausgegeben - also einem anderen Format.
Ist das nur ein Schönheitsfehler? Oder verändert meine Abfrage irgendwie das Format?

Problem 2:
In obiger Abfrage will ich alle Geburtstage im Mai (...where ..... =5....) auswerfen. Das möchte ich latürnich auch für Januar, Februar....
Muss ich jedesmal die Abfrage bearbeiten oder kann man der Abfrage irgendwie über ein Formular o.ä. ein Eingabefeld voranstellen (z.B. "Für welchen Monat Liste erstellen (1-12)" __)?

Danke im voraus!
Zuletzt geändert von Neujuenger2010 am Do, 28.10.2010 19:27, insgesamt 1-mal geändert.
Gruss Neujuenger2010

OOo 3.2.1 auf Vista
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Probleme bei Abfrage "Geburtstagsliste": Format und Eingabe

Beitrag von Barlee »

Hallo,

zu Problem 1 zwei Möglichkeiten:
Entweder im Abfrageergebnis rechter Mausklick auf die Ergebnisspalte > Spaltenformatierung > ändern.
Oder schaue Dir "TO_CHAR" an:
http://wiki.services.openoffice.org/wik ... Procedures
In Deinem Fall:

Code: Alles auswählen

SELECT TO_CHAR(DEINE_DATUMSSPALTE,'DD.MM.YYYY') FROM ...
zu Problem 2:
Dein Suchbegriff für's Forum hier lautet "PARAMETERABFRAGE"

Was mir noch auffällt:
Statt

Code: Alles auswählen

(extract (day/month from ...)
kannst Du auch einfach folgendes verwenden:

Code: Alles auswählen

DAY("Kunden"."Geb.-Datum")  bzw. MONTH("Kunden"."Geb.-Datum")
Gruß Barlee
Neujuenger2010
**
Beiträge: 20
Registriert: Mo, 25.10.2010 18:31

Re: Probleme bei Abfrage "Geburtstagsliste": Format und Eingabe

Beitrag von Neujuenger2010 »

Hi Barlee,

vielen Dank für Deine Antwort!
Barlee hat geschrieben:Hallo,

zu Problem 1 zwei Möglichkeiten:
Entweder im Abfrageergebnis rechter Mausklick auf die Ergebnisspalte > Spaltenformatierung > ändern.
Oder schaue Dir "TO_CHAR" an:
http://wiki.services.openoffice.org/wik ... Procedures
In Deinem Fall:

Code: Alles auswählen

SELECT TO_CHAR(DEINE_DATUMSSPALTE,'DD.MM.YYYY') FROM ...
Daraus schliesse ich, dass es wohl nicht an meiner Abfrage liegt.
Übernimmt Base nicht automatisch das Quellformat in das Abfrageergebnis? Sondern nutzt im Ergebnis ein vorbelegtes Standardformat? Gilt das nur für "Datum" oder auch für andere Formate (z.B. Dezimalzahl)?
Barlee hat geschrieben: zu Problem 2:
Dein Suchbegriff für's Forum hier lautet "PARAMETERABFRAGE"
Sorry, hab ich vergessen dazuzuschreiben: Hatte ich schon gefunden und hat nicht funktioniert.

Hab nach Deinem Hinweis aber nochmal damit experimentiert: Man muss wohl "SQL-Kommando direkt ausführen" abschalten, damit es geht.

Schalte ich das jedoch ab, zerbröselt Base nach dem Speichern meinen "schönen" übersichtlichen SQL-Code wieder in seinen unübersichtlichen Fliesstext. Kann ich das irgendwie umgehen? Geht eine Parameterabfrage direkt im SQL-Modus? Dazu hab ich nix gefunden.

Barlee hat geschrieben: Was mir noch auffällt:
Statt

Code: Alles auswählen

(extract (day/month from ...)
kannst Du auch einfach folgendes verwenden:

Code: Alles auswählen

DAY("Kunden"."Geb.-Datum")  bzw. MONTH("Kunden"."Geb.-Datum")
Gruß Barlee
Ah! Danke!
Gruss Neujuenger2010

OOo 3.2.1 auf Vista
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Probleme bei Abfrage "Geburtstagsliste": Format und Eingabe

Beitrag von herz4 »

Hallo, ich noch mal ...

wie wär's mit

Code: Alles auswählen

... WHERE (WEEK("GEB_DATUM")>=WEEK(CURRENT_DATE)-1 AND WEEK("GEB_DATUM")<=WEEK(CURRENT_DATE)+3
ganz ohne Parameter und mit "Blick zurück", falls doch mal vergessen ...

René
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
Neujuenger2010
**
Beiträge: 20
Registriert: Mo, 25.10.2010 18:31

Re: Probleme bei Abfrage "Geburtstagsliste": Format und Eingabe

Beitrag von Neujuenger2010 »

herz4 hat geschrieben:Hallo, ich noch mal ...

wie wär's mit

Code: Alles auswählen

... WHERE (WEEK("GEB_DATUM")>=WEEK(CURRENT_DATE)-1 AND WEEK("GEB_DATUM")<=WEEK(CURRENT_DATE)+3
ganz ohne Parameter und mit "Blick zurück", falls doch mal vergessen ...

René
Hi!

Entspricht zwar nicht meinen Vorstellungen in diesem Fall, ist allerdings eine geniale Anregung für eine andere benötigte Abfrage! Danke!

Gruss
Gruss Neujuenger2010

OOo 3.2.1 auf Vista
Antworten