Geburtstagsliste erstellen

Sina Thomas | 04.04.2017 2 Kommentare
Geburtstage in der ausgewählten Periode April bis Juni

Um in Vertec eine Liste mit den Personen zu erstellen, die in einem gewissen Zeitraum – unabhängig vom Jahr – Geburtstag haben, richten Sie einen SQL Suchordner auf Person (oder Kontakt oder Adresseintrag) ein.

Dazu kann die gewünschte Periode vordefiniert werden, in welcher alle Geburtstage anzuzeigen sind:

Zum Beispiel 1. Januar bis 31. Dezember: Von: date.firstofyear Bis: date.lastofyear

Oder ab heute drei Monate: Von: date Bis: date.incmonth(3).lastofmonth

Suchdialog anzeigen: Ja

Für MS SQL und Firebird ist jeweils eine unterschiedliche Syntax notwendig.

SQL für Firebird

CAST (EXTRACT(year FROM CAST ('\1' AS DATE)) || '-' || EXTRACT(month FROM geburtsdatum) || '-' || ( CASE WHEN (EXTRACT(day FROM geburtsdatum)=29 AND EXTRACT(month FROM geburtsdatum)=2) THEN 28 ELSE EXTRACT(day FROM geburtsdatum) END ) AS DATE) BETWEEN '\1' and '\2' OR CAST (EXTRACT(year FROM CAST ('\2' AS DATE)) || '-' || EXTRACT(month FROM geburtsdatum) || '-' || ( CASE WHEN (EXTRACT(day FROM geburtsdatum)=29 AND EXTRACT(month FROM geburtsdatum)=2) THEN 28 ELSE EXTRACT(day FROM geburtsdatum) END ) AS DATE) BETWEEN '\1' and '\2' 

SQL für MS SQL

cast(
cast(datepart(year,cast('\1' as datetime)) as varchar) 
+ right('00' + cast(datepart(month,geburtsdatum) as varchar), 2) 
+ right('00' + cast(case when (datepart(day,geburtsdatum) = 29 and datepart(month,geburtsdatum) = 2) then 28 else datepart(day,geburtsdatum) end as varchar), 2) 
as datetime) 
between cast('\1' as datetime) and cast('\2' as datetime) 
OR 
cast(
cast(datepart(year,cast('\2' as datetime)) as varchar) 
+ right('00' + cast(datepart(month,geburtsdatum) as varchar), 2) 
+ right('00' + cast(case when (datepart(day,geburtsdatum) = 29 and datepart(month,geburtsdatum) = 2) then 28 else datepart(day,geburtsdatum) end as varchar), 2) 
as datetime) 
between cast('\1' as datetime) and cast('\2' as datetime)

Listeneinstellungen

  • Spalte mit dem Geburtstdatum: geburtsdatum
  • Sortierspalte (optional): geburtsdatum.formatdatetime('mmdd') An erster Stelle, Sortierung aufsteigend, Breite 0

2 Kommentare zu «Geburtstagsliste erstellen»

  • Martin Hug | 31.07.2017 um 11:20

    Sehr geehrte Damen und Herren
    Ich habe versucht dies einzurichten (Firebird-Version).
    Leider kann ich nicht den gesamten Code kopieren.
    Mit einzelnen Passagen kopieren hatte ich dann trotzdem Fehler. Ev. habe ich doch nicht denn korrekten Code erwischt?

    • Patricia Amsler | 02.08.2017 um 12:00

      Sehr geehrter Herr Hug

      Sie erhalten in wenigen Augenblicken ein E-Mail mit dem gesamten Code. So können Sie ihn einfacher rauskopieren.

      Beste Grüsse
      Patricia

Was sagen Sie zu diesem Thema?
Diskutieren Sie mit!