2017-12-18 41 views
1

Ich habe einen Crystal Report, der eine gespeicherte Prozedur aufruft, um eine Tabelle zurückzugeben, die eine Auswahl von Werten enthält.Wie setze ich bestimmte Zeilen in einen Crystal Report ein?

Ich möchte verschiedene Zeilen dieser Tabelle in verschiedenen Positionen auf dem Bericht platzieren. Zu diesem Zweck erstellen I Formel Felder mit den Datenelementen in der Formel angegebenen somit: -

{sp_MyReport.Column1} 

und bespritzen sie über den Bericht als notwendig. Um verschiedene Zeilen auswählen, ändern Sie die Auswahlformel: -

{sp_MyReport.IdColumn} = 2 

Aber wenn ich das tue, die Datensatzauswahl in allen anderen Formelfelder geändert übereinstimmen, so kann ich immer nur eine Reihe von Daten Artikel angezeigt.

Erstens, erstellt Formel Felder den richtigen Weg, um darüber zu gehen (ich muss weiterhin den Text in der Kopfzeile ausgeblendet, was darauf hindeutet, dass es nicht die beabsichtigte Verwendung)?

Wenn ja, wie bekomme ich verschiedene Formelfelder, um verschiedene Zeilen anzuzeigen?

Wenn nicht, was soll ich tun?

+0

Wenn Sie nur Kopfzeilen und Werte aufrufen möchten, dann verwenden Sie einfach die Kreuztabellen, in denen '{sp_MyReport.IdColumn}' aktiviert ist Spalten und Werte in Zeilen – Siva

Antwort

1

Ein Ansatz wäre, einen Unterbericht zu erstellen, der die gespeicherte Prozedur enthält, und dann die Werte mit gemeinsamen Variablen zwischenzuspeichern.

Definieren Sie eine Variable pro Wert, die im Hauptbericht angezeigt werden soll, und weisen Sie ihr den entsprechenden Wert zu.

Die Formel im subreport würde wie folgt aussehen:

WhilePrintingRecords; 
Shared NumberVar myValueX; 
Shared NumberVar myValueY; 

//assign the corresponding value to the variable 
If {sp_MyReport.IdColumn}=2 Then myValueX := {sp_MyReport.ValueColumn} 
If {sp_MyReport.IdColumn}=3 Then myValueY := {sp_MyReport.ValueColumn} 

den Wert im Hauptbericht anzuzeigen, eine Formel wie folgt erstellen:

WhilePrintingRecords; 
Shared NumberVar myValueX; 

Die subreport innen platziert werden soll Der Report-Header-Bereich, da Variablen immer von oben nach unten ausgewertet werden.

Um den Unterbericht auszublenden, verringern Sie die Größe, bis sie klein genug ist, um irgendwo in den Bericht zu passen, ohne das Berichtsdesign zu "zerstören".
(Den Unterbericht nicht unterdrücken, weil er dann nicht ausgewertet wird.)