crystal report verwijst naar verkeerde .mdb

  • Onderwerp starter Onderwerp starter mmy
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

mmy

Gebruiker
Lid geworden
17 okt 2007
Berichten
11
In vb.net 2005 heb ik een crystal report toegevoegd (project - add windows form - crystal report - "rapport.rpt").

Mbv de report wizard heb ik een nieuwe connectie gemaakt (create new connection - ole db (ADO) - Microsoft Jet 4.0 .... - data base name: test.mdb). Vervolgens de velden geschikt... In de preview is dus alles normaal.

Vervolgens heb ik het formulier frmMain waar ik een "CrystalReportViewer" op sleep om dit rapport te kunnen bekijken. Via programmacode maak ik een DataSet en DataTable aan met de gegevens uit test.mdb (deze kan ik ook ter controle bekijken in een DataGridView)

Code:
Public Class frmMain

        Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb;"
       Dim objConnection As OleDbConnection = New OleDbConnection(strConnection)
       Dim objDataSet As DataSet
       Dim objDataAdapter As OleDbDataAdapter

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        objConnection.Open()
        objDataSet = New DataSet("TEST")
        objDataAdapter = New OleDbDataAdapter("select * from tblKlanten", objConnection)
        objDataAdapter.Fill(objDataSet, "Klanten")
        objConnection.Close()
        DataGridView1.DataSource = objDataSet.Tables("Klanten")
End Sub

Private Sub btnRapport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRapport.Click
        Dim objReport As New rapport
        objReport.SetDataSource(objDataSet)
        CRviewer.ReportSource = objReport
End Sub
End Class

Als ik nu het rapport wil opvragen is alles in orde. Maar ik merk dat de gegevens worden opgehaald rechtstreeks uit test.mdb (zoals ik in de wizard aangaf), maar niet via de inhoud van de DataSet.

Als ik test.mdb nu wijzig in testX.mdb en het volgende aanpas:
Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=testX.mdb;" --> nu werkt de datagridview nog steeds goed, maar het rapport wil zijn gegevens uit test.mdb halen ipv uit de DataSet (die op testX.mdb werkt).

Heeft iemand een idee hoe ik dit moet oplossen? Niet via de wizard werken, ok....maar hoe kan ik dan mijn velden schikken? Current Connections is leeg bij de wizard, dus ik moet wel create new connection kiezen...

Edit: dit test project lijkt echter wel te werken. Ik denk dat het probleem in mijn originele project het volgende is: Ik maak er gebruik van subrapporten. De .SetDataSource specifieer ik echter niet voor dit subrapport. Ik ga het verder testen en laat hier nog iets weten als ik er wijzer uit geraak...

Edit2: nope : ( Lijkt niet te werken. Ik geef gebruik SetDataSource zowel voor het hoofdrapport als het subrapport, met hetzelfde resultaat echter...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan