Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   FastReport Script Pascal MasterData1.Filter= ??? (https://www.delphipraxis.net/189416-fastreport-script-pascal-masterdata1-filter%3D.html)

IwasNix 10. Jun 2016 07:37

FastReport Script Pascal MasterData1.Filter= ???
 
Ich komme wieder einmal trotz Googeln nicht weiter,

ich möchte in Fast Report per Pascal-Script
(Auslöser ist ein DialogPage Kontrollkästchen) einfach den Filter setzten!

procedure CheckBox1OnClick(Sender: TfrxComponent);
begin
if CheckBox1.Checked = True then
begin
MasterData1.Filter = '(<KostErtragBasis."EigenleistungJN"> <> 0) and (<KostErtragBasis."FremdleistungJN"> = 0)';
end
else
...

Fehlermeldung: Folgende(r) Fehler trat(en) auf: Scriptfehler bei 15:23:';' excepted

Danke für jede Hilfe :)


PS: im MasterData1 / Objektinspektor / Filter
(<KostErtragBasis."EigenleistungJN"> <> 0) and (<KostErtragBasis."FremdleistungJN"> = 0)

funktioniert der Filter einwandfrei ...

Lemmy 10. Jun 2016 08:10

AW: FastReport Script Pascal MasterData1.Filter= ???
 
Zitat:

Zitat von IwasNix (Beitrag 1339868)
Delphi-Quellcode:
procedure CheckBox1OnClick(Sender: TfrxComponent);
begin
  if CheckBox1.Checked = True then
  begin
       MasterData1.Filter = '(<KostErtragBasis."EigenleistungJN"> <> 0) and (<KostErtragBasis."FremdleistungJN"> = 0)';
  end
  else
    ...


hmm... ist es ein Abschreibfehler oder hast Du vergessen wie die Zuweisung in Pascal funktioniert? ;-)

Delphi-Quellcode:
procedure CheckBox1OnClick(Sender: TfrxComponent);
begin
  if CheckBox1.Checked = True then
  begin
       MasterData1.Filter := '(<KostErtragBasis."EigenleistungJN"> <> 0) and (<KostErtragBasis."FremdleistungJN"> = 0)';
  end
  else
    ...

IwasNix 10. Jun 2016 08:14

AW: FastReport Script Pascal MasterData1.Filter= ???
 
Wenn man blöd ist ist man es meistens im Kopf :oops:

Bin ein 'Delphi-Frischling' komme von C#
aber so ein blöder Fehler sollte nicht sein, sorry!

Danke:thumb:

Lemmy 10. Jun 2016 08:17

AW: FastReport Script Pascal MasterData1.Filter= ???
 
Zitat:

Zitat von IwasNix (Beitrag 1339872)
Bin ein 'Delphi-Frischling' komme von C#
aber so ein blöder Fehler sollte nicht sein, sorry!

ach, da passiert mir in C# auch noch oft genug beim Vergleich der Fehler, und als c# Frischling würde ich mich nicht mehr bezeichnen... :-)

IwasNix 10. Jun 2016 11:20

AW: FastReport Script Pascal MasterData1.Filter= ???
 
:thumb: und schon funktioniert es :thumb:

Delphi-Quellcode:
// Aktuelles Jahr aus SystemDatum und 1 bzw 2 Jahre davor                                                                                              
procedure DialogPage1OnActivate(Sender: TfrxComponent);
begin
  rbJahrMinus2.Caption := IntToStr(YearOf(Now) - 2);
  rbJahrMinus1.Caption := IntToStr(YearOf(Now) - 1);
  rbJahrAktuell.Caption := IntToStr(YearOf(Now));      
end;
 
// Filter zusammenstellen                                                    
procedure ButtonOKOnClick(Sender: TfrxComponent);
var
  myEigenLeistungFilter,
  myFremdLeistungFilter,
  myJahrFilter: String;

begin
  if chbEigenLeistung.Checked = true then
    begin
      myEigenLeistungFilter := '(<KostErtragBasis."EigenleistungJN"> <> 0)';
    end
  else
    begin
      myEigenLeistungFilter := '(<KostErtragBasis."EigenleistungJN"> = 0)';
    end;

  if chbFremdLeistung.Checked = true then
    begin
      myFremdLeistungFilter := ' and (<KostErtragBasis."FremdleistungJN"> <> 0)';
    end
  else
    begin
      myFremdLeistungFilter := ' and (<KostErtragBasis."FremdleistungJN"> = 0)';
    end;


  if rbJahrMinus2.Checked = true then
    begin
      myJahrFilter := ' and (<KostErtragBasis."SRJAHR"> = ' + rbJahrMinus2.Caption +')';
    end;                    
  if rbJahrMinus1.Checked = true then
    begin                        
      myJahrFilter := ' and (<KostErtragBasis."SRJAHR"> = ' + rbJahrMinus1.Caption +')';
    end;                    
  if rbJahrAktuell.Checked = true then
    begin                        
      myJahrFilter := ' and (<KostErtragBasis."SRJAHR"> = ' + rbJahrAktuell.Caption +')';
    end;              

  MasterData1.Filter := myEigenLeistungFilter + myFremdLeistungFilter +  myJahrFilter;

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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