2012-03-29 8 views
0

Ich habe eine Crystal Reports-RPT-Datei aus C# -Code aufgerufen. Der Bericht funktioniert wie erwartet in Designer von Studio 2010. Derselbe Bericht ignoriert Auswahlkriterien, wenn er in C# aufgerufen wird, jedoch NUR, wenn ein bestimmtes Tabellenfeld in die Kriterien eingeschlossen wird.C# und Crystal Reports SDK - Auswahlkriterien ignoriert

Aktuelle Kriterien Beispiel: {? Von bis}

date({transaction.transaction_date}) in {?FromTo} and 
{user_branch.branch_id} = 1 

ist ein Datumsbereich Parameter, die perfekt

funktioniert, wenn ich die branch_id Abschnitt zu entfernen, die {? Von bis} Datum Parameter aktiviert ist richtig und die Daten werden wie erwartet zurückgegeben. ABER, sobald ich das field_id-Feld einschließe, werden ALLE Daten zurückgegeben, was überhaupt keinen Sinn ergibt.

Das Ausführen dieses exakt gleichen Berichts über den Designer funktioniert ordnungsgemäß ... Das Problem tritt auf, wenn über den C# SDK-Code ausgeführt wird.

Alle mit dieser Hilfe wird sehr geschätzt

bereits versucht

  • Recreate gesamten Bericht von Grund auf neu bitweise Tisch Tisch wird. Das funktioniert bis zu einem Punkt, wo ich anfange, weitere Felder zum Bericht selbst hinzuzufügen, niemand, dann startet das Problem wieder ... Also beginne ich natürlich, meine Schritte zurückzuverfolgen, bis der gesamte Bericht wieder leer ist, aber der Problem besteht weiterhin, wie die Datei jetzt "gebrochen" ist
  • Keine ähnlichen Probleme in Google ... Nein, wo in meinem Code ist eine Zeile die Auswahlkriterien während des Codes leert ... Meine anderen Berichte nicht auf diese Tabelle zugreifen funktioniert gut.
  • Momentan wird Version 13.0.1 der CR-Laufzeit verwendet. Versucht, auf 13.0.2 zu aktualisieren, hat immer noch nicht funktioniert
  • Lief die exakt gleiche SQL, die der Bericht direkt gegen die Datenbank generiert. Das funktioniert wie erwartet.

Antwort

0

Nach vielen Kopfschmerzen in dieser Woche, habe ich endlich das Problem gefunden ... Dies sieht wie ein Fehler im SDK selbst aus, aber um das Problem zu lösen, vergewissern Sie sich, dass das Feld mit dem oben genannten Problem enthalten ist im Detailbereich des Berichts.

d. H. Ich habe das Feld branch_id zum Detailabschnitt des Berichts hinzugefügt und unterdrückt. Es funktioniert auch, indem der Abschnitt unterdrückt wird, solange das Feld darin enthalten ist.

Ich testete dies auf alle meine anderen Berichte mit dem gleichen Problem und es hat funktioniert.

0

Versuchen Sie, Ihre Kriterien zu ändern:

(date({transaction.transaction_date}) in {?FromTo}) and 
{user_branch.branch_id} = 1 

die date({transaction.transaction_date}) in {?FromTo} Linie innerhalb eines () Hinzufügen.
Ich bin mir nicht sicher.

+0

Danke für die Antwort. Versucht, dass nicht funktioniert ... Ich entfernte auch die Datumsfelder vollständig, nur mit dem Feld branch_id ... noch gibt es Daten aus den Zweigen 2 und 3 sowie. –

+0

Was ist die Verbindung von "transaction" -Tabelle und "user_branch" -Tabelle und wie benutzt man sie in einem Crystal Reports? –

+0

transaction.user_branch_id Innerer Join user_branch.user_branch_id. Die Transaktion wird von einem Benutzer gesendet, der in einer bestimmten Zweigstelle angemeldet ist. In dieser Zweigstelle wird der Bericht generiert. Ich habe doppelt überprüft und spielte mit den Joins (außerhalb der Norm), aber immer noch kein Glück –