FastReport 6: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Folgende(r) Fehler trat(en) auf: Unbekannte Variable oder Datenfeld: seite)
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
  
 
=== IF ELSE:===
 
=== IF ELSE:===
 +
'''Im Memo'''
 
<source lang=bash>  
 
<source lang=bash>  
 
[IIF(<KOPF_Fuss."LIEFERTERMIN">= 0,'_if_', '_else_')]  [IIF(<Kopf_Fuss."LIEFERTERMIN">= 0,  ' ', <Kopf_Fuss."LIEFERTERMIN">)]
 
[IIF(<KOPF_Fuss."LIEFERTERMIN">= 0,'_if_', '_else_')]  [IIF(<Kopf_Fuss."LIEFERTERMIN">= 0,  ' ', <Kopf_Fuss."LIEFERTERMIN">)]
 +
</source>
 +
'''Pascal Script'''
 +
<source lang=bash>
 +
if( <Kopf_Fuss."ZAHLART">='VK' ) then
 +
  begin
 +
      AncMemoSpecialInfo.Text :=  '';
 +
      AncMemoSpecialInfo.Visible := False;
 +
  end
 +
else
 +
  begin
 +
      AncMemoSpecialInfo.Visible := True;
 +
      AncMemoSpecialInfo.Text := 'Text ';
 +
  end;
 +
</source>
 +
 +
=== Case ===
 +
 +
<source lang="pascal">
 +
case <Kopf_Fuss."BELEGART"> of
 +
  '0100':
 +
      begin
 +
        Zahl.visible := True
 +
      end;
 +
  '0200':
 +
      begin
 +
        Zahl.visible := True
 +
      end;
 +
  '0400':
 +
      begin
 +
        Zahl.visible := True
 +
      end;
 +
  else
 +
      begin
 +
        Zahl.visible := FALSE;
 +
      end;
 
</source>
 
</source>
  
Zeile 15: Zeile 51:
 
</source>
 
</source>
  
 +
===Leerzeilen unterdrücken:===
 +
<source lang=bash>
 +
[vLeerzeilenUnterdruecken(<Lieferanschrift."AUSGABE">)]
 +
</source>
  
 
== Funktionen ==
 
== Funktionen ==
Zeile 24: Zeile 64:
 
Im Child Ereignisse
 
Im Child Ereignisse
 
  OnBeforePrint: ancAncMasterData1HideIfNoData   
 
  OnBeforePrint: ancAncMasterData1HideIfNoData   
 
+
=== Zeige nicht bei 0 Datensätzen ===
 
<source lang=pascal>  
 
<source lang=pascal>  
 
procedure ancAncMasterData1HideIfNoData(Sender: TfrxComponent);
 
procedure ancAncMasterData1HideIfNoData(Sender: TfrxComponent);
Zeile 34: Zeile 74:
 
   end;
 
   end;
 
end;
 
end;
 +
 +
</source>
 +
 +
=== String mit Datum verknüfen und anzeiogen ===
 +
<source lang=pascal>
 +
procedure FixdatumOnBeforePrint(Sender: TfrxComponent);
 +
begin
 +
        if  <qrBEK."FIXDATUM"> > 0 then
 +
            Fixdatum.Text := 'Fixtermin: '+ FormatDateTime(  'd-mmm-yyyy' ,  <qrBEK."FIXDATUM"> )  +'!'         
 +
        else
 +
            Fixdatum.Text :=''; 
 +
end;
 +
</source>
 +
'''vs. als Memo'''
 +
<source lang=pascal>
 +
[IIF(<qrBEK."FIXDATUM"> >0,  'Fixtermin: '+ FormatDateTime( 'd-mmm-yyyy' ,<qrBEK."FIXDATUM">)+'!','' )]
 +
</source>
 +
=== Zeige nur auf der ersten Seite ===
 +
<source lang=pascal>
 +
procedure Memo67OnBeforePrint(Sender: TfrxComponent);
 +
begin
 +
  // Zeige nur auf der ersten Seite                                                                             
 +
  if <Page#> > 1 then
 +
    begin
 +
      Memo67.Visible := False
 +
    end
 +
  else
 +
    begin
 +
      Memo67.Visible := True
 +
    end             
 +
end;
 +
</source>
 +
 +
== Datenband mit Liste, Gruppierung und Überschrift ==
 +
 +
Über dem Datenbankband wird ein Gruppenkopfband angelegt mit dem Gruppienwechsel bei Datenfeld.
 +
Darüber kommt der Kopf.
 +
 +
 +
== Probleme Bei der Übernahme von firebird 2.5 auf 3 Querys==
 +
===  Zero length identifiers are not allowed ===
 +
<source lang=sql>
 +
select
 +
  bek.id bek_id,
 +
  bek.belegnr,
 +
  iif(coalesce(adr.kurzname, "") <> "", adr.kurzname, adr.name1) kurzname,
 +
</source>
 +
 +
'''Quotes müssen einfach sein:'''
 +
 +
<source lang=sql>
 +
select
 +
  bek.id bek_id,
 +
  bek.belegnr,
 +
  iif(coalesce(adr.kurzname, '') <> '', adr.kurzname, adr.name1) kurzname,
 
</source>
 
</source>
 +
 +
 +
== Probleme Bei der Vererbung ==
 +
 +
=== Folgende(r) Fehler trat(en) auf: Unbekannte Variable oder Datenfeld: seite ===
 +
 +
Im Band unter Page/Ereignisse die verknüpfte Funktion OnBeforePrint (oder andere) geht ins leere oder auf jeden fall nicht auf den Code der gewünscht ist (und z.b. Variablen wurden nicht gesetzt)

Aktuelle Version vom 29. Oktober 2019, 16:44 Uhr


Fast Report 6

Anweisungen

IF ELSE:

Im Memo

 
[IIF(<KOPF_Fuss."LIEFERTERMIN">= 0,'_if_', '_else_')]   [IIF(<Kopf_Fuss."LIEFERTERMIN">= 0,  ' ', <Kopf_Fuss."LIEFERTERMIN">)]

Pascal Script

 
if( <Kopf_Fuss."ZAHLART">='VK' ) then
   begin
      AncMemoSpecialInfo.Text :=  '';
      AncMemoSpecialInfo.Visible := False;
   end
else
   begin
      AncMemoSpecialInfo.Visible := True;
      AncMemoSpecialInfo.Text := 'Text ';
   end;

Case

case <Kopf_Fuss."BELEGART"> of
  '0100':
      begin
         Zahl.visible := True
      end;
  '0200':
      begin
         Zahl.visible := True
      end;
  '0400':
      begin
         Zahl.visible := True
      end;
   else
      begin
         Zahl.visible := FALSE;
      end;

Trim:

 
[TRIM(<Kopf_Fuss."KOPFTEXT">)]

Leerzeilen unterdrücken:

 
[vLeerzeilenUnterdruecken(<Lieferanschrift."AUSGABE">)]

Funktionen

Hier Soll Ein Element Prozedural versteckt werden, normalerweise ist das ja nicht nötig

Es Muss ein MasterData Band existieren und das Child

ancAncMasterData1HideIfNoData

Im Child Ereignisse

OnBeforePrint: ancAncMasterData1HideIfNoData  

Zeige nicht bei 0 Datensätzen

 
procedure ancAncMasterData1HideIfNoData(Sender: TfrxComponent);
begin
  if AncMasterData1.RowCount = 0 then
  begin
   Engine.ShowBand(AncHeaderDatenNichtVersendet);
   AncHeaderDatenNichtVersendet.Visible := True;
  end;
end;

String mit Datum verknüfen und anzeiogen

 
procedure FixdatumOnBeforePrint(Sender: TfrxComponent);
begin
         if  <qrBEK."FIXDATUM"> > 0 then
            Fixdatum.Text := 'Fixtermin: '+ FormatDateTime(  'd-mmm-yyyy' ,  <qrBEK."FIXDATUM"> )   +'!'           
         else
            Fixdatum.Text :='';  
end;

vs. als Memo

 
[IIF(<qrBEK."FIXDATUM"> >0,  'Fixtermin: '+ FormatDateTime( 'd-mmm-yyyy' ,<qrBEK."FIXDATUM">)+'!','' )]

Zeige nur auf der ersten Seite

 
procedure Memo67OnBeforePrint(Sender: TfrxComponent);
begin
  // Zeige nur auf der ersten Seite                                                                              
  if <Page#> > 1 then
    begin
       Memo67.Visible := False
    end
  else
    begin
       Memo67.Visible := True
    end              
end;

Datenband mit Liste, Gruppierung und Überschrift

Über dem Datenbankband wird ein Gruppenkopfband angelegt mit dem Gruppienwechsel bei Datenfeld. Darüber kommt der Kopf.


Probleme Bei der Übernahme von firebird 2.5 auf 3 Querys

Zero length identifiers are not allowed

 
select 
  bek.id bek_id,
  bek.belegnr,
  iif(coalesce(adr.kurzname, "") <> "", adr.kurzname, adr.name1) kurzname,

Quotes müssen einfach sein:

 
select 
  bek.id bek_id,
  bek.belegnr,
  iif(coalesce(adr.kurzname, '') <> '', adr.kurzname, adr.name1) kurzname,


Probleme Bei der Vererbung

Folgende(r) Fehler trat(en) auf: Unbekannte Variable oder Datenfeld: seite

Im Band unter Page/Ereignisse die verknüpfte Funktion OnBeforePrint (oder andere) geht ins leere oder auf jeden fall nicht auf den Code der gewünscht ist (und z.b. Variablen wurden nicht gesetzt)