Jahreszahlen ändern

Alles, was den Reportdesigner und Drucken betrifft. Fehlermeldungen, Fragen, Reports

Moderatoren: Raffenberg, A. Schüller, Pfotenhauer

Antworten
Wilfried Jansen
Beiträge: 58
Registriert: Mittwoch 5. Dezember 2018, 08:57
Schulform: Berufskolleg

Jahreszahlen ändern

Beitrag von Wilfried Jansen »

Hallo,

ich möchte in einem Report statt der in Schild angegebenen Jahreszahl für das Ende einer Ausbildung das Folgejahr angeben (also: statt Juli 2019 soll Juli 2020 stehen). Ich greife dabei in Schild auf der Individualseite I auf "voraussichtlicher Abschluss" zu.
Wie lässt sich das programmieren?
Mit freundlichen Grüßen aus Coesfeld
Wilfried Jansen
Benutzeravatar
Raffenberg
Beiträge: 2564
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Jahreszahlen ändern

Beitrag von Raffenberg »

Hallo Herr Jansen,
Sie können z.B. im OnGetText Ereignis folgendes reinschreiben:

Code: Alles auswählen

var
y1,m1,d1: Integer;
 
begin 
  DecodeDate(StrToDate(Schueler['AbschlussDatum']),y1,m1,d1);
  Text := IntToStr(y1+1);
end;
Mit freundlichen Grüßen
Jens Raffenberg
Wilfried Jansen
Beiträge: 58
Registriert: Mittwoch 5. Dezember 2018, 08:57
Schulform: Berufskolleg

Re: Jahreszahlen ändern

Beitrag von Wilfried Jansen »

Hallo, Herr Raffenberg!

Die Codierung funktioniert. Danke für die schnelle Hilfe.

Einen kleinen Schönheitsfehler gibt es allerdings:
Bei uns wird unter "voraussichtlicher Abschluss" neben dem Kalenderjahr auch ein Monat eingetragen. Der Monat wird in der geänderten Variante aber nicht mehr erwähnt, sodass ich den Monat (Juli) in den "Fließtext" eingefügt habe, damit "Juli 2021" (ff.) ausgegeben wird. Das kann bei Bildungsgängen, die nicht einem Jahresturnus unterliegen, allerdings zu Problemen führen:

var
y1,m1,d1: Integer;

begin
DecodeDate(StrToDate(Schueler['AbschlussDatum']),y1,m1,d1);
Text := 'Der Bildungsgang der Fachoberschule endet mit dem erfolgreichen Besuch der Klasse 12 (Vollzeit) voraussichtlich im Juli' + ' ' + IntToStr(y1+1) + '.';
end;

Geht dies auch so, dass der eingetragene Monat mit übernommen wird?
Mit freundlichen Grüßen aus Coesfeld
Wilfried Jansen
Benutzeravatar
Raffenberg
Beiträge: 2564
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Jahreszahlen ändern

Beitrag von Raffenberg »

Hallo Herr Jansen,
dann können Sie diese Variante nehmen. Bei dieser kommen gar keine Variablen zum Einsatz:

Code: Alles auswählen

begin 
  Text := FormatDateTime('mmmm yyyy', StrToDate(Schueler['AbschlussDatum'])+365);
end;
Sofern man nur Monat und Jahr ausgeben möchte, ist +365 genau genug. Ansonsten müsste man ja Schaltjahre berücksichtigen.
http://docwiki.embarcadero.com/Librarie ... atDateTime
Mit freundlichen Grüßen
Jens Raffenberg
Wilfried Jansen
Beiträge: 58
Registriert: Mittwoch 5. Dezember 2018, 08:57
Schulform: Berufskolleg

Re: Jahreszahlen ändern

Beitrag von Wilfried Jansen »

Guten Abend, Herr Raffenberg!
Danke für die Hilfe. Die Variante klingt gut. Ich werde sie in Kürze ausprobieren.
Mit freundlichen Grüßen aus Coesfeld
Wilfried Jansen
Wilfried Jansen
Beiträge: 58
Registriert: Mittwoch 5. Dezember 2018, 08:57
Schulform: Berufskolleg

Re: Jahreszahlen ändern

Beitrag von Wilfried Jansen »

Hallo, Herr Raffenberg!

Die Variante funktioniert prima und ist letztlich sogar einfacher zu handhaben. Danke nochmals!
Mit freundlichen Grüßen aus Coesfeld
Wilfried Jansen
Antworten