FastReport Fehler, Ursachen, Behebung

Aus GEVITAS
Wechseln zu: Navigation, Suche

1 Fehler

Wie bei jedem umfangreichen Software-System gibt es auch bei der Report-Erstellung mit FastReport© jede Menge Fehler-Möglichkeiten.

Unserer Erfahrung nach sind die allermeisten Anwender-Fehler, nur selten ist FastReport schuld.

2 Daten, Tabellen

2.1 Tabelle wird im Report nicht angezeigt

Wenn eine bestimmte Tabelle wird im Report nicht angezeigt wird, obwohl sie eigentlich vorhanden sein müsste, müssen Sie diese Tabelle u.U. erst im Report auswählen. Siehe FastReport Dataset (Tabelle) wird im Report nicht angezeigt.

Wenn eine Tabelle nicht ausgewählt wird, kann es auch zu einer Fehlermeldung kommen:

Fehler im Ausdruck ´Tabellenname."Feld": Identifier expected

In diesem Fall wird der Report nicht ausgeführt. Anstelle der Daten kommen die Feldnamen des Reports oder auch gar nichts!


3 Bänder

3.1 Band wird nicht gedruckt, obwohl Daten vorhanden sind

Ein bestehende Report wurde geändert, z.B. ein Detail-Band wurde entfernt. Das Master-Band wird nicht gedruckt, obwohl Daten vorhanden sind.

Grund:

Das Master-Datenband wurde im Original-Report nicht gebraucht und daher dauerhaft ausgeblendet. Stellen Sie die Eigenschaft Visible von False auf True.


3.2 Im Report werden Felder gedruckt, die es gar nicht gibt

Der Fall
In einem Report (der einen Basis-Report benutzt), tauchen Feld mitten im Report auf, die es im Report eigentlich gar nicht gibt! Wo kommen die her?
Ursache
Das Problem war, dass in den Basis-Report neue Felder (Memo-Felder) eingefügt wurden. Dabei wurden die Namen der Felder von FastReport automatisch vergeben ("Memo1", "Memo2) usw.). Felder mit diesem Namen kommen jedoch auch im eigentlichen Report vor! Da kommt FastReport dann etwas durcheinander.
Die Lösung
Die sauberste Lösung ist, den Feldern im Basis-Report ein eindeutigen Namen zu geben, also z.B. statt "Memo1" besser "MemoBasisKopFirma". Dieser Name wird im Report sicherlich nicht vorkommen und es kommt zu keinen Namens-Kollisionen.

Siehe:


4 Felder

4.1 Anzahl Seitennummern ist 0

In einem Report gibt es ein Feld, in dem die aktuelle Seite und die Gesamt-Seitenanzahl im Kopf gedruckt werden. Die Gesamt-Seitenanzahl ist jedoch immer 0!

Das Feld hat folgenden Inhalt:

Stand: [Date]    Seite [Page] von [TotalPages]

Beispiel:

FastReport Bsp Zweipass 01.png

Warum zeigt [TotalPages] immer 0 statt der Anzahl der Seiten?

Grund
Damit [TotalPages] funktioniert, muss man dem Report "sagen", dass er zuerst den Report intern durchrechnen soll. Erst danach weiß der Report, wie viele Seiten erzeugt werden!
Dazu muss man den Report im Designer öffnen und dann auf das Menü Report⇒Optionen klicken. Dann schaltet man die Option Zweipass ein:

FastReport Bsp Zweipass 02.png

Das Ergebnis:

FastReport Bsp Zweipass 03.png


4.2 Seitenzähler zeigt eine Seite mehr an als vorhanden sind

ACHTUNG! Wenn Sie die Top-Position im Code verschieben, kann das den Gesamt-Seitenzähler durcheinander bringen!

Angenommen, es gibt ein Feldobjekt im Detail-Band, das im Editor auf der Feldposition 3 cm liegt...


FastReport Fehler SeitenAnzahl 01.png


...und Sie verschieben es im Code auf "Top=0",

  // Bei Mietartikeln den Mietpreisfaktor anzeigen,
  // bei Arbeitszeit die Stunden/Tage:
  // (Im Editor stehen die Felder übereinander im Band zur besseren Übersicht. Hier werden sie ganz nach oben versetzt mit  .Top=0)
  PositionenMietFaktor.Visible := False;
  PositionenStundenSoll_BeiArbZeit.Visible := False;
  if <Positionen."Artikelart_1MT_2VK_3DL_4AZ"> = 1 then
  begin
    PositionenMietFaktor.Top := 0;
    PositionenMietFaktor.Visible := True;
  end;
 
  if <Positionen."Artikelart_1MT_2VK_3DL_4AZ"> = 4 then
  begin
    PositionenStundenSoll_BeiArbZeit.Top := 0;
    PositionenStundenSoll_BeiArbZeit.Visible := True;
  end;

...dann kann es passieren, dass der Gesamt-Seitenzähler eine Seite mehr angibt als es in Wirklichkeit sind!!!


FastReport Fehler SeitenAnzahl 02.png

4.3 Feld wird nicht oder irgendwo im Report gedruckt

Sie haben ein Feld-Objekt in den Report eingefügt, aber es erscheint nicht an der erwarteten Stelle?

Die wahrscheinlichste Ursache ist, dass das Feld nicht innerhalb eines Bandes positioniert wurde.

Beispiel 1:

FastReport Feld Ausserhalb Band.png

In diesem Fall liegt das Feld außerhalb des Bandes "ChildStandardTextFuss"! Wenn man im Objekt-Inspektor genau hinschaut sieht man, dass die Top-Eigenschaft des Feldes 35,80 cm beträgt!

Da sich die Top-Eigenschaft relativ auf das Band bezieht, kann das nicht sein! Das Band ist nur 2,9 cm hoch!

Das Feld liegt also nicht auf dem Band sondern direkt auf der Seite ("Page1"). Es wird also nicht wie erwartet am Ende der Seite gedruckt sondern mitten im Report.


Beispiel 2:

Hier liegt das Feld im Kopf, aber außerhalb des Bandes:

FastReport Feld Ausserhalb Band 01.png


Die Auswirkung:


FastReport Feld Ausserhalb Band 02.png

5 Fehlermeldungen

5.1 Fehlermeldung "Alternativ nicht gefunden" in Rechnung

Wenn Sie einen als Auftragsformular erstellten Report kopieren und als Rechungsformular (-Grundlage) verwenden wollen, erhalten Sie eine Fehlermeldung wie diese:

FastReport Rechnung Fehlermeldung Alternativ.png

Grund:

In Rechnungen gibt es kein Alternativ.

Lösung:

Entfernen Sie mit dem Report-Designer alle Verweise auf das Alternativ-Feld!


5.2 Fehler im Ausdruck ´Tabellenname."Feld": Identifier expected

Hier kann es mehrere Ursachen geben.

5.2.1 Tabelle im Report nicht ausgewählt

Wenn eine Tabelle nicht ausgewählt wird, kann es zu dieser Fehlermeldung kommen. In diesem Fall wird der Report nicht ausgeführt. Anstelle der Daten kommen die Feldnamen des Reports oder auch gar nichts!

Siehe FastReport Dataset (Tabelle) wird im Report nicht angezeigt.


5.2.2 Schreibfehler im Code

Wenn Sie im Code auf Datenbank-Felder verweisen und einen Schreibfehler haben, kommt auch diese Fehlermeldung.



6 Links