Hallo zusammen!
Ich habe einen Report zum Bearbeiten, aber ich schaffe es nicht, ihn richtig zu ändern. Ich weiß nicht wie ich die Berechnungen ändern muss. Es betrifft die Subreports 1 und 2(,glaube ich).
Ich brauche die Notenübersicht im Report nur aus dem aktuellen Halbjahr bzw. Schuljahr. Beim Jahrgängen 5 klappt es, aber ab dem Jahrgang 6 erscheinen zum Druck ALLE möglichen Fächer und Noten der SuS seitdem sie bei uns unterrichtet werden. Das bedeutet, dass der Report bei SuS z.B. im Jahrgang 10 für jeden einzelnen Schüler zwei-drei Seiten braucht.
Das ist der Report. Könnte mir bitte jemand helfen?
Mit freundlichen Grüßen
Ioannis Kaltsidis
Report bearbeiten
Moderatoren: Raffenberg, A. Schüller, Pfotenhauer
-
- Fachberater*in
- Beiträge: 10
- Registriert: Montag 26. November 2018, 18:09
- Schulform: - keine Schule -
Re: Report bearbeiten
Die Datenquelle "Schuelerlaufbahn" durchläuft immer alle Lernabschnitte der betreffenden Schüler.
Will man nur die Daten des aktuellen Abschnitts ausgeben, kann man z.B. die Ausgabe der anderen Abschnitte unterdrücken, indem im Subreport mit der Datenquelle "Schuelerlaufbahn" folgende Programmierung hinterlegt:
procedure DetailBeforePrint;
begin
if ((Schuelerlaufbahn['Jahr']=EigeneSchule['Schuljahr']) and (Schuelerlaufbahn['Abschnitt']=EigeneSchule['SchuljahrAbschnitt']))
then Detail.Visible:=true
else Detail.Visible:=false;
end;
Will man die Ausgabe auf das aktuelle Schuljahr beschänken, ist die Benutzung eines Filters eleganter (und schneller):
procedure ReportBeforePrint;
begin
FilterLaufbahnJahr(EigeneSchule['Schuljahr'],EigeneSchule['Schuljahr']);
end;
Ausschalten des Filters nicht vergessen:
procedure ReportAfterPrint;
begin
FilterLaufbahnJahr(0, 0);
end;
Man kann auch beides kombinieren: Einschränkung auf das Schuljahr durch den beschriebenen Filter und Ausgabe nur für den aktuellen Abschnitt durch
procedure DetailBeforePrint;
begin
if (Schuelerlaufbahn['Abschnitt']=EigeneSchule['SchuljahrAbschnitt'])
then Detail.Visible:=true
else Detail.Visible:=false;
end;
MfG
Dietmar Krahn
Will man nur die Daten des aktuellen Abschnitts ausgeben, kann man z.B. die Ausgabe der anderen Abschnitte unterdrücken, indem im Subreport mit der Datenquelle "Schuelerlaufbahn" folgende Programmierung hinterlegt:
procedure DetailBeforePrint;
begin
if ((Schuelerlaufbahn['Jahr']=EigeneSchule['Schuljahr']) and (Schuelerlaufbahn['Abschnitt']=EigeneSchule['SchuljahrAbschnitt']))
then Detail.Visible:=true
else Detail.Visible:=false;
end;
Will man die Ausgabe auf das aktuelle Schuljahr beschänken, ist die Benutzung eines Filters eleganter (und schneller):
procedure ReportBeforePrint;
begin
FilterLaufbahnJahr(EigeneSchule['Schuljahr'],EigeneSchule['Schuljahr']);
end;
Ausschalten des Filters nicht vergessen:
procedure ReportAfterPrint;
begin
FilterLaufbahnJahr(0, 0);
end;
Man kann auch beides kombinieren: Einschränkung auf das Schuljahr durch den beschriebenen Filter und Ausgabe nur für den aktuellen Abschnitt durch
procedure DetailBeforePrint;
begin
if (Schuelerlaufbahn['Abschnitt']=EigeneSchule['SchuljahrAbschnitt'])
then Detail.Visible:=true
else Detail.Visible:=false;
end;
MfG
Dietmar Krahn
- Falko Müller
- Fachberater*in
- Beiträge: 989
- Registriert: Donnerstag 4. Oktober 2018, 20:23
- Schulform: Gymnasium
Re: Report bearbeiten
Eine Alternative ist es, statt der Datenquelle 'Schulerlaufbahn' die Quelle 'Lernabschnitte' zu wählen, denn diese durchläuft dann nur den aktuellen Abschnitt. Dann darf man allerdings nicht die Übersicht aktivieren und muss statt 'Leistungsuebersicht' die Quelle 'SchuelerLeistungen' wählen. Ich habe den Bericht dahingehend angepasst und hoffe, dass ich bei der Umstellung nichts übersehen habe.
Freundliche Grüße
Falko Müller
Falko Müller
Re: Report bearbeiten
Vielen lieben Dank euch beiden. Beides hat mir geholfen!