CrystalReports: Fehlermeldung "Hier ist eine Zeichenfolge erforderlich"

Aus GEVITAS
Wechseln zu: Navigation, Suche

1 Allgemeines

Wenn beim Ausführen eines Reports (Formulares) die Fehlermeldung

"Hier ist eine Zeichenfolge erforderlich"

erscheint, dann ist ein möglicher Grund, dass sich durch ein Datenbank-Update ein Feldtyp geändert hat. Das kommt sehr selten vor, kann aber passieren. Im konkreten Beispiel war es so, dass sich das Feld MAufPo.PaketNr vom Integer-Typ in einen Text-Typ (varchar) geändert hat. Das betraf nur Kunden, die die Option Auftragspakete benutzten und die ein Zwischen-Update zwischen 140618 und 140723 erhalten hatten und Unterreports mit Paketen verwendeten.

2 Ursache

CrystalReports merkt sich die Tabellenstruktur der verwendeten Datenbank-Tabellen im Report, also auch die Feld-Typen. Per Option im Report kann man einstellen, dass die Tabellstrukturen der Datenbank vor jedem Druck überprüft und ggf. korrigiert werden sollen. Das klappt im Normalfall auch gut. Im besonderen Fall, nämlich wenn das geänderte Feld als Verknüpfung zu einem Unterbericht verwendet wird, klappt das leider nicht!

3 Lösung

Man kommt nicht drumherum, den Report von Hand zu bearbeiten.

3.1 Report öffnen, Datenbank aktualisieren

Öffnen Sie den Report und klicken im Menü auf "Datenbank-->Datenbank überprüfen". Wenn Sie eine Meldung

Felder zuordnen

bekommen, klicken Sie auf Abbrechen. Da der Report noch nicht aktualisiert wurde, ist das Feld in der angezeigten Liste u.U. noch gar nicht enthalten.

Sollte die Fehlermeldung

"Hier ist eine Zeichenfolge erforderlich"

erscheinen, klicken Sie auf Abbrechen.

Klicken Sie mit der rechten Maustaste auf den Unterbericht und wählen

Unterberichtverknüpfungen ändern 

aus. Entfernen Sie die Verknüpfung "Maufpo.PAKETNR" durch Klicken auf den Button "<".

3.2 Unterbericht öffnen

Doppelklicken Sie auf den Unterbericht, der mit der PaketNr verknüpft ist. Klicken im Menü auf "Datenbank-->Datenbank überprüfen". Ignorieren Sie eventuelle Fehlermeldungen.

Öffnen Sie den Feld-Explorer. Unter dem Eintrag "Parameterfelder" klicken Sie auf "?Pm-Maufpo.PAKETNR" (wenn der noch angezeigt wird!) und dann mit der rechten Maustaste und hier auf "Löschen".


3.3 Zurück zum Hauptbericht

Gehen Sie zum Hauptbericht zurück. Klicken Sie mit der rechten Maustaste auf den Unterbericht und wählen

Unterberichtverknüpfungen ändern 

aus. Suchen Sie im linken Teil das Feld "MAufKo.PAKETNR" aus und klicken auf " > ". Das Feld "PAKETNR" im Unterbericht sollte automatisch ausgewählt werden. Klicken Sie auf OK.

3.4 Speichern und Testen

Speichern Sie den Report und testen ihn.


4 Links