Seite 1 von 1

Abfrage bei mehreren Vermerken eines Schülers

Verfasst: Mittwoch 9. November 2022, 09:24
von OWeber
Hallo alle zusammen,

ein Item soll bei einem Report nur dann gedruckt werden, wenn ein bestimmter Vermerk eingetragen ist.

Mit

Code: Alles auswählen

begin
   if Vermerke['VermerkArt_ID'] = '5' then 
   Image4.visible := true 
else 
  Image4.visible := false;
end;
funktioniert das problemlos, wenn es nur den einen Vermerk gibt oder dieser als erster eingetragen ist.

Wie muss der obige Code verändert werden, dass auch bei mehreren eingetragenen Vermerken das Item dann korrekt gedruckt wird?

Vielen Dank für Hinweise und Anregungen!

Re: Abfrage bei mehreren Vermerken eines Schülers

Verfasst: Mittwoch 9. November 2022, 09:40
von D.Jakel
Guten Tag, um mehrere Bemerkungen drucken zu können, muss man einen Subreport haben. So wie Sie das schildern, gibt es im Report wahrscheinlich nur ein DB-Feld. Dadurch wird immer nur der erste Vermerk ausgegeben bzw. unterdrückt.
Wenn Sie das innerhalb eines Subreports machen, werden alle Vermerke abgearbeitet, es entsteht aber immer eine Leerzeile, wenn das Feld ausgeblendet wird.

Re: Abfrage bei mehreren Vermerken eines Schülers

Verfasst: Mittwoch 9. November 2022, 10:18
von OWeber
Hallo Herr Jakel,
danke für den Hinweis, der aber leider so nicht klappt. Baue ich das Bild in einen Subreport ein und setze den obigen Code dann im onPrint-Bereich für das Element im Subreport ein, dann wird auch nur der erste Vermerk berücksichtigt. Ich habe dunkel im Kopf, dass ich da eine Art Schleife durch die Vermerke laufen lassen müsste .. aber da hört es bei mir leider auf :(

Re: Abfrage bei mehreren Vermerken eines Schülers

Verfasst: Mittwoch 9. November 2022, 10:43
von D.Jakel
Vielleicht hilft diese Debatte:
viewtopic.php?f=14&t=3618&p=21596&hilit ... rke#p21596

Herr Sprung hat da eine Lösung gepostet, wie mir scheint.

Re: Abfrage bei mehreren Vermerken eines Schülers

Verfasst: Mittwoch 9. November 2022, 12:41
von A.Löser
Bei den RAP-Funktionen gibt es LoadVermerke() und LoadVermerkeEx().
Vielleicht hilft das.