2017-02-23 7 views
0

Meine Tabelle enthält zwei relevante Felder, PartNo und SubPartNo. Diese enthalten alle Teilenummern, die zum Erstellen einer gesamten Baugruppe verwendet werden. Die Hauptbaugruppe (1. Ebene) verwendet PartNo. Abhängig von der Komplexität der Baugruppe können Hunderte von Datensätzen mit der Teilenummer der ersten Ebene vorliegen. Diese Aufzeichnungen enthalten alle SubPartNo.Alle Unterobjekte rekursiv im Bericht anzeigen

Wenn eine SubPartNo auch Teile enthält, wird SubPartNo auch an anderer Stelle in der Tabelle als PartNo aufgeführt. Diese können wiederum Unterteile haben, und so weiter.

Mein Bericht muss den Hauptbauteil, dann jeden relevanten Unterteil und ihre nachfolgenden Zahlenketten auflisten. Wie kann ich dies in Crystal Reports erreichen?

enter image description here

+0

Danke für die Antwort 4444. Ich werde in SQL-Rekursion schauen und sehen, ob es das ist, was ich brauche. – highrise955

+0

Sie könnten hierarchische Abfragen untersuchen. In Oracle wird mit/connect von gestartet. Weitere Ideen hier: http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-a-relational-database – Sun

+0

Dank Sun, ich werde es überprüfen. – highrise955

Antwort

0

Wenn Sie dies tun müssen, um in Crystal Reports, du wirst haben eine schlechte Zeit.

Eine Formel wäre für die Rekursion besonders ungeeignet, da sie jeden Eintrag der Reihe nach mit sehr begrenzten Vergleichsfunktionen bewertet. Wenn Sie beispielsweise den Eintrag Nr. 42 in Ihrer Liste auswerten, können Sie nur die Einträge 41 und 43 vergleichen. Nicht für Ihre Bedürfnisse geeignet.

Während es in Crystal möglich ist, Unterberichte zu verwenden, die perfekt dazu geeignet wären, eine einzelne Ebene Ihrer Rekursion zu durchlaufen, können Sie leider keine Unterberichte verschachteln. So könnten Sie die Unterteile für einen Hauptteil, aber keinen der Unterteile oder darüber hinaus erhalten.

Die nur Weise ich denke, dies zu tun ist eine gespeicherte Prozedur in Ihrem Bericht verwenden, die die gesamte Rekursion für Sie behandelt - bevor die Daten sogar den Bericht erreicht. Das ist völlig machbar, und ich würde Ihnen empfehlen, die SQL-Rekursion zu recherchieren, um Ihnen die Arbeit zu erleichtern.

Verwandte Themen