Rubrik: Datenbanken | VB-Versionen: VB.NET | 25.05.05 |
Crystal Report mit VB.NET zur Laufzeit Ein CrystalReport zur Laufzeit mit Daten "füttern" | ||
Autor: Christian Huber | Bewertung: | Views: 34.052 |
ohne Homepage | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Nehmen Sie eine Form (Form1) und ziehen aus der Toolbar ein CrystalReportViewer rüber. Dann erstellen Sie ein CrystalReport über Projekt/Windows Forms hinzufügen/CrystalReport. Mit dem Berichtsassistent(standard) erstellt man den Report und nennnt ihn CrystalReport1. Danach sucht man sich eine Quelle aus. In meinem Fall ist das ein SQL-Server(OLE DB ADO). Man wird aufgefordert seine Zugangsdaten für den Server anzugeben und eine Tablle (Tabellen) auszuwählen. Man sollte sich darüber im klaren sein, dass das DataSet bzw. DataTable die selbe Struktur haben muss, wie die Voreinstellung bei dem Erstellen des Reports.
Beispiel:
Sie wollen die Spalten ID, Name und Datum aus der Tabelle haben. Dann geben Sie diese Spalten beim Erstellen des Berichts an.
Spaäter ist dann die SQL-Abfrage "SELECT ID,Name,Datum FROM Table".
Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim oConn As New SqlConnection(cString) Dim oDataA As SqlDataAdapter Dim oDataT As New DataTable Dim crReportDocument As New CrystalReport1 Dim sQry As String oConn.Open() sQry = "SELECT ID,Name,Datum FROM Table" oDataA = New SqlDataAdapter(sQry, cString) oDataA.Fill(oDataT) crReportDocument.SetDataSource(oDataT) With CrystalReportViewer .ReportSource = crReportDocument .ShowFirstPage() End With oConn.Close() End Sub
Das wars auch schon. Nun kann man für "sQry" jedes WHERE dranhängen.