View Full Version : Query Serienbrief sobald eine Person 32 Jahre wird
Hallo Zusammen
Ich bin gerade daran ein Query zu erstellen und stehe vor einem Problem.
Zuerst aber noch zu der Ausganglage:
Sobald eine Person 32 Jahr wird, möchten wir einen bestimmten Brief versenden (machen wir mit einem Serienbrief). Der Serienbrief wird jeweils im Vormonat verschickt. Der Text würde folgendermassen lautet: " am 22.11.2020 werden Sie 32 Jahre alt".
Wie kann ich mit einem Query ausrechnen, wann eine Person 32 Jahr alt wird? Geburtstag, Adresse, Korrespondenzsprache, usw. sind alle vorhanden.
Gruss
mademi
Pie mal Daumen:
(days(current days) - days(birthdate)) / 365.25
Andreas_Prouza
10-11-20, 08:28
Hi Mademi,
values (date('1991-01-01') + 32 years)
liefert dir: 2023-01-01
Also am 2023-01-01 wird diese Person 32 Jahre alt.
lg Andreas
Danke für die Antworten, jedoch erhalten ich einen Wert in der neuen Ergebnis, mit dem ich nicht viel anfangen kann (+++++++)
Zeile ....+....1....+....2.
Geb.Datum GEB
000001 730608 03.05.26
000002 880226 ++++++++
000003 551208 ++++++++
000004 530908 ++++++++
000005 650608 ++++++++
Das Ergebnisfeld habe ich so formatiert:
Feld Ausdruck Spaltenüberschrift Länge Dez
GEB date(ADBDDT) + 25 years
Gruss
Mademi
So wie es aussieht handelt es sich bei Deinem Datum um ein numerisches Datum im Format 2-st. Jahr, 2-st. Monat, 2-st. Tag.
Du musst zunächst das numerische Datum in ein echtes Datum verwandeln.
Sofern Du mit SQL arbeitest, kannst Du das numerische Datum wie folgt in eine echte Zeitmarke konvertieren:
Timestamp_Format(Digits(NumDat), 'YYMMDD')
Wenn nur das Datum brauchst, musst Du noch DATE drumherumsetzen.
Date(Timestamp_Format(Digits(NumDat), 'YYMMDD'))
Wenn Du allerdings mit Query/400 arbeitest, was ich stark vermute, wird das ganze ungleich schwieriger, da es weder eine Timestamp_Format-Funktion noch eine Case-Anweisung gibt.
Birgitta
KingofKning
10-11-20, 12:59
So wie es aussieht handelt es sich bei Deinem Datum um ein
Wenn Du allerdings mit Query/400 arbeitest, was ich stark vermute, wird das ganze ungleich schwieriger, da es weder eine Timestamp_Format-Funktion noch eine Case-Anweisung gibt.
Birgitta
Na ja, er kann sich doch ne kleine View basteln wo alles drin steht. Oder wenn das nicht klappt mit Excel arbeiten und dann allen Leuten vorher kündigen........ ;-)
GG 3854
Es ist leider AS400 heheh
Ich komme zu keinem Ergebnis. Ich könnte die Datei im Excel bearbeiten, jedoch fände ich es schöner, dieses Problem im Query zu lösen.
Gruss
nimm qmqry statt query.
da hast du SQL zur Verfügung.
und beschreibe mal vernünftig wie die Daten sind, die du hast.
tag / monat jahr2 / Jahr4 seperat,
jjmt
jmt
tmjj
tmj
DATUM
...
Da macht der lieber Excel .... kopfschüttel
Oder baue eine View, die kannst du dann mit Query bearbeiten.
KingofKning
11-11-20, 07:38
Oder baue eine View, die kannst du dann mit Query bearbeiten.
Ich befürchte er weiß nicht was das ist, sonst hätte er auf mein Post ne andere Antwort gegeben.