Report: alle Vornamen ausgeben

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

Moderatoren: A. Schüller, Raffenberg, Pfotenhauer

Antworten
tobias.kemper
Beiträge: 149
Registriert: Freitag 11. Januar 2019, 12:42
Schulform: Gymnasium

Report: alle Vornamen ausgeben

Beitrag von tobias.kemper »

Guten Tag,
vor einiger Zeit haben auf die Nutzung der Felder Rufname / Alle Vornamen umgestellt. Nun gab es das Problem, dass eine Kindergeldstelle eine Schulbescheinigung nur mit dem Rufnamen nicht akzeptiert hat und auf einer Bescheinigung mit allen Namen besteht. Muss man nicht verstehen ... aber daher die Frage:

Ich würde im Report "Schulbescheinigung" also gerne das vordefinierte Feld "Vorname Name" so anpassen, dass dann, wenn das Feld "Alle Namen" gefüllt ist, dieses Feld genutzt wird, und wenn es leer ist, das Feld "Rufname".
Wenn nur das Datenfeld "Zusatz", in dem sich "Alle Vornamen" verstecken (es dauert, bis man das gefunden hat), benutzt wird, wird bei jenen mit nur einem Rufnamen gar nichts ausgegeben.

Es sollte also letztlich so funktionieren, wie beim Zeugnisdruck, wenn in der ini-Datei "A" gewählt ist.

Für Hinweise wäre ich sehr dankbar.

Viele Grüße

Tobias Kemper
Benutzeravatar
Raffenberg
Beiträge: 3182
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Report: alle Vornamen ausgeben

Beitrag von Raffenberg »

Hallo Herr Kemper,
am einfachsten geht das über eine Funktion. Auf dem Reiter Berechnungen in der Ansicht Verwendete Module definieren Sie in der Modulansicht Programme eine neue Funktion:

Code: Alles auswählen

function VornamenAnalysieren: String;
var
  rufname,
  allenamen: String;
  
begin
  rufname := Trim(Schueler['Vorname']);
  allenamen := Trim(Schueler['Zusatz']);
  
  if allenamen = '' then
    Result := rufname
  else if Pos(rufname, allenamen) > 0 then
    Result := allenamen
  else
    Result := rufname + ' ' + allenamen;

end;
Im OnGetText-Ereignis des Labels schreiben Sie

Code: Alles auswählen

Text := Schueler['Name'] + ', ' + VornamenAnalysieren;
Bei einem Memo-Feld im OnPrint Ereignis

Code: Alles auswählen

Memoname.Text := Schueler['Name'] + ', ' + VornamenAnalysieren;
Der Code ist übrigens aus den Reports der Basisreportsammlung, wo dies flächendeckend umgesetzt ist. In Schild3 gibt es neu definierte Datenfelder, welche dies automatisch machen.
Mit freundlichen Grüßen
Jens Raffenberg
tobias.kemper
Beiträge: 149
Registriert: Freitag 11. Januar 2019, 12:42
Schulform: Gymnasium

Re: Report: alle Vornamen ausgeben

Beitrag von tobias.kemper »

Lieber Herr Raffenberg,
herzlichen Dank für den Code. Dann bau ich das morgen mal zusammen - das Sekretariat wird es danken ;-)
Mit freundlichen Grüßen
Tobias A. Kemper
Antworten

Zurück zu „Drucken / Reportdesigner“