Seite 1 von 1

Wochenangabe (A-B) auf Klausurreport

Verfasst: Mittwoch 11. Dezember 2019, 11:25
von Venjakob
Hallo,
gibt es ein Möglichkeit auf dem Report, der die Klausurübersicht ausgibt, die Woche (bei uns A oder B) mit anzugeben?
Ich habe leider kein DB-Feld dazu gefunden.

Danke für jede Hilfe.

Re: Wochenangabe (A-B) auf Klausurreport

Verfasst: Mittwoch 11. Dezember 2019, 13:44
von wschrewe
Das Datenfeld gibt es nicht, Sie können es aber nachbauen:
Legen Sie an eine geeignete Stelle ein Label. Im Ereignis 'onGetText' dieses Labels fügen Sie den folgenden Code ein:

Code: Alles auswählen

procedure Label21OnGetText(var Text: String);
var
  lWoche : integer;
begin
  lWoche:=StrToIntDef(Kalenderwoche(Klausurschienen['KlausurDatum'])),0);
  if odd(lWoche) then
    Text:='A'
  else
    Text:='B';   
end;
Wenn bei Ihnen die B-Wochen ungerade sein sollten, müssen Sie im Code natürlich 'A' und 'B' vertauschen.

Re: Wochenangabe (A-B) auf Klausurreport

Verfasst: Mittwoch 11. Dezember 2019, 13:48
von W.Maßmann
Hallo Herr Venjakob,
das lässt sich mit der Funktion Kalenderwoche lösen:
in einem Subreport: Klausurschienen habe ich an das Element Klausurschienen['Name'] in OnGetText angefügt:

if (strtoint(kalenderwoche( Klausurschienen['KlausurDatum'])) mod 2) =0 then text:=text+' (Woche A)' else text:=text+' (Woche B)';
(falls A in den geraden Wochen liegt).

Nachtrag: Herr Schrewe war schneller und im Programmieren eleganter.

Re: Wochenangabe (A-B) auf Klausurreport

Verfasst: Donnerstag 12. Dezember 2019, 14:20
von Venjakob
Vielen Dank!
Ich probiere das die Tage aus.

Re: Wochenangabe (A-B) auf Klausurreport

Verfasst: Montag 16. Dezember 2019, 08:33
von Venjakob
Kurze Rückmeldung:
Ich habe den Ansatz von Herrn Schere ausprobiert und es wunderbar geklappt.
Vielen Dank für die schelle Hilfe.