Frage

Ich habe ein Lagacy -Projekt (VB6), das neben der Projektausführungsdatei (.exe) mehrere Berichte (.rpx) enthält. Wenn der Benutzer die .exe -Datei ausführt, wird die .rpx -Datei in einen angegebenen lokalen Ordner des Benutzergeräts und mit der Anweisung "LoadLayout" in einen angegebenen lokalen Ordner heruntergeladen es.

Meine Frage lautet: Ich muss einen Unterbericht in den oben genannten Hauptbericht einbetten. Die Subberichtsdatei befindet sich im VB -Projekt NICHT Neben der Exe -Datei. Wie kann ich einen Zusammenhang zwischen dem Hauptbericht und dem Unterbericht herstellen und den Unterbericht mit einem Datensatz basierend auf einigen Daten füttern. Der Hauptbericht verwendet sie?

Vielen Dank

War es hilfreich?

Lösung

Nachdem Sie den übergeordneten Bericht geladen haben, müssen Sie den Unterbericht in eine Variable laden und die Objekteigenschaft des Unterberichts auf diese Variable einstellen, bevor Sie den übergeordneten Bericht ausführen. Zum Beispiel:

' Load parent report:
Dim rptParent As New ActiveReport
rptParent.LoadLayout App.Path & "\myParentReport.rpx"

' Load the subreport:
Dim rptSubreport As New ActiveReport
rptSubreport.LoadLayout App.Path & "\mySubReport.rpx"

' * Initialize the subreport control by passing the actual report to run as a subreport:
Set rptParentReport.Sections("Detail").Controls("MySubreportControl").Object = rptSubreport

' Preview the parent report in the viewer:
ARViewer21.ReportSource = rptParent

Wenn Sie nun den Namen der Teilberichtsdatei nicht hardcodieren können (NamemySubReport.rpx in meinem Beispiel oben) oder dem Unterberichtskontrollnamen (NameMySubreportControl In meinem obigen Beispiel) können Sie eine Routine schreiben, um alle Steuerelemente im übergeordneten Bericht durchzuführen und jede Unterberichtskontrolle zu finden. Stellen Sie dann sicher, dass Sie den Namen der Datei des Unterberichts in der ReportName- oder Tag -Eigenschaft der Subberichtskontrolle speichern. Anschließend können Sie Unterberichtsdateien dynamisch mit Subberichtsteuerungen in Ihrem Code laden/verknüpfen. Bitte antworten Sie mit Ihren Fragen als Kommentar, wenn Sie eine bestimmte Hilfe benötigen.

Außerdem ist die COM -Version von ActiveReports -Dokumentation online verfügbar hier (Archiv) falls dies nützlich sein könnte.

Scott Willeke
GrapeCity
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top