Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi FastReport 4 leeres Feld abfragen im FR-Script (https://www.delphipraxis.net/118369-fastreport-4-leeres-feld-abfragen-im-fr-script.html)

Kostas 6. Aug 2008 18:21


FastReport 4 leeres Feld abfragen im FR-Script
 
Hallo Zusammen,

ich möchte gerne das MasterDataBand ein-/ausschalten in Abhängigkeit
des Feldes innerhalb vom Report-Script.

Weis jemand wie der Syntax ist wenn das Feld null ist?

Wenn ich es so wie unten ausprobiere bekomme ich eine Fehlermeldung
"Ungültige Variant-Operation" sobald das Feld null ist.
Delphi-Quellcode:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  MasterData1.visible := not (<Ergebnistabelle1a."ADRESS_ID"> = null);
end;
Gruß Kostas

haentschman 6. Aug 2008 18:54

Re: FastReport 4 leeres Feld abfragen im FR-Script
 
Guten Abend.

- Feldinhalte mit null finde ich persönlich schlecht...ist einfach undefiniert. :roll:
- welchen Datentyp hat das Feld ADRESS_ID (normalerweise Integer...aber fragen kostet nichts :wink: )
- kannst du nicht beim Erzeugen des Datensatzes (sofern die ID noch nicht feststeht) ADDRESS_ID auf -1 setzen ? Damit hast du einen Wert den du auswerten kannst.

bis bald... :hi:

Kostas 6. Aug 2008 19:46

Re: FastReport 4 leeres Feld abfragen im FR-Script
 
Zitat:

Zitat von haentschman
Guten Abend.

- Feldinhalte mit null finde ich persönlich schlecht...ist einfach undefiniert. :roll:
- welchen Datentyp hat das Feld ADRESS_ID (normalerweise Integer...aber fragen kostet nichts :wink: )
- kannst du nicht beim Erzeugen des Datensatzes (sofern die ID noch nicht feststeht) ADDRESS_ID auf -1 setzen ? Damit hast du einen Wert den du auswerten kannst.

bis bald... :hi:

Hallo,

grundsätzlich hast Du recht. In meinem Fall ist das so das ich eine Select habe welcher mir Daten liefert die gedruckt werdne sollen. Das Layout für den Druck wird über ein Subreport erzeugt. Jetzt kann es vorkommen das der Select für den Subreport eine leere Datenmenge zurückliefert. In diesem Fall darf der Subreport nicht gedruckt werden. In meinem MasterDataBand wird der Subreport gedruckt. Diese möchte ich eben unterdrücken.

Ist es Möglich den RecordCount im Script abzufragen? Ansonsten sehe ich nur die Möglichkeit über eine Varaible die ich bei OnBeforePrint befüllen kann.

Gruß Kostas

haentschman 6. Aug 2008 20:02

Re: FastReport 4 leeres Feld abfragen im FR-Script
 
Hallo...

- im Kontextmenü der Bänder findest du 'Drucke wenn Detail leer'...Haken weg.
- probiere mal, ob das dein Problem löst

andere Variante:
- ich habe noch nicht mit RecordCount im Report gearbeitet.
- schlimmstenfalls nach der Query für den Subreport eine frxVariable mit dem Record Count setzen
- im Report die frxVariable im Script auswerten und die entsprechenden Memos / Subreports Visible:= False setzen
...nur so als Idee

:hi:

Kostas 6. Aug 2008 22:17

Re: FastReport 4 leeres Feld abfragen im FR-Script
 
Hallo,

es geht einfacher als ich dachte:

Delphi-Quellcode:
  MasterData1.Visible := (MasterData3.dataset.recordcount >0);
Nur in meinen Falls funkt es immer noch nicht weil zu dem Zeitpunkt anscheinend
das Dataset keine Daten enthält. So jetzt bin ich beleidigt und mache es aus Delphi
heraus.

Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz