Wert aus 3 Tabellen einer Typisierten DataSet in einem CrytalReportViewer anzeigen

ksk

Erfahrenes Mitglied
Hy @ all!

Habe ein Problem meinem CrytalReportViewer.
ich habe in VB.NET eine ASP-Seite in der ich ein Typisiertes DataSet ertsellt habe. In diesen DataSet habe ich 3 tabllen hinzugefügt.
1. Tabelle = Kunden
2. Tabelle = Titel
3. Tabelle = Geschlecht

In der tabelle Kunden gibt es je einen Foreign Key Spallte für die ID vom Titel und Geschlecht. Die Tabelle Kunden steht sowie im SQL als auch in .NET in Relation.

Ich versuche den jeweiligen Kunden mit
Code:
            Dim strQuery As String = "select B.*, T.*, G.* from tblBesitzer B " & _
                                    "inner join dbo.tblTitel T on B.Titel=T.Titel " & _
                                    "inner join dbo.tblGeschlecht G on B.GID=G.GID " & _
                                    "where BID = '" & aktUser.pBID & "'"
zu holen und so zu übergeben
Code:
            Dim con As New SqlConnection(cDatenbank.GetConnString)

            Try
                Dim dAdapter As New SqlDataAdapter(strQuery, con)
                dsUser = New dsKunden
                con.Open()
                dAdapter.Fill(dsUser, "tblBesitzer")
                repDocument.SetDatabaseLogon("xxx", "xxx")
                repDocument.SetDataSource(dsUser)
                crvUser.ReportSource = repDocument
            Catch ex As Exception
Leider bekomme ich so überhaupt keine Anzeige. Wenn ich im Statement nur die Tablle Kunden abfrage und diese dann einbinde dann funktioniert alles auch richtig. Nur sieht man die ID vom Titel und vom Geschlecht.

Wie kann man dies realisieren bzw. wie kann man werte aus 3 Tabellen einem CrytalReportViewer übergeben.

Ich wäre für jede Hilfe sehr dankbar.


gruß ksk
 
Hy ksk!

...probier mal im SQL-eine Sicht zu erstellen mit deinem Statement.
Nur wird es probleme geben wenn die Beiden anderen tabellen die gleichen Spallten haben wie die Kunden Tabelle.
Code:
select B.*, T.*, G.* from tblBesitzer B
Probier eben eine Sicht zu erstellen mit folgendem Statement.
Code:
select B.*, T.Bezeichnung, G.Bezeichnung from tblBesitzer B 
                                          inner join dbo.tblTitel T on B.Titel=T.Titel 
                                          inner join dbo.tblGeschlecht G on B.GID=G.GID

Dann kannst im .Net die View abfragen und somit hast du die Spallten welche du brauchst
Code:
Dim strQuery As String = "select * from vwKunden where BID = '" & aktUser.pBID & "'"
Wobei "vwKunden" der Name der View ist.
 
Zurück