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
Report: alle Vornamen ausgeben
Moderatoren: A. Schüller, Raffenberg, Pfotenhauer
-
tobias.kemper
- Beiträge: 149
- Registriert: Freitag 11. Januar 2019, 12:42
- Schulform: Gymnasium
- Raffenberg
- Beiträge: 3182
- Registriert: Dienstag 25. September 2018, 15:22
- Schulform: Gymnasium
- Kontaktdaten:
Re: Report: alle Vornamen ausgeben
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:
Im OnGetText-Ereignis des Labels schreiben Sie
Bei einem Memo-Feld im OnPrint Ereignis
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.
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;Code: Alles auswählen
Text := Schueler['Name'] + ', ' + VornamenAnalysieren;Code: Alles auswählen
Memoname.Text := Schueler['Name'] + ', ' + VornamenAnalysieren;Mit freundlichen Grüßen
Jens Raffenberg
Jens Raffenberg
-
tobias.kemper
- Beiträge: 149
- Registriert: Freitag 11. Januar 2019, 12:42
- Schulform: Gymnasium
Re: Report: alle Vornamen ausgeben
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
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