vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Relations und Datagrindview 
Autor: WehrliRoland
Datum: 28.03.07 14:06

Hallo Forum.

Ich möchte folgende Datenbank-Beziehung mit zwei DGV darstellen.

1 Tabelle: Adressen
2 Tabelle: Personen
3 Tabelle: LinkAdressenPersonen

Einer Adresse können n Personen zugeordnet werden (1:n).

Im ersten DGV habe ich die Adressen. Wenn ich nun eine Adresse anklicke soll er alle Personen im zweiten DGV darstellen. Ich habe eine Lösung mit einer SQL-Abfrage (INNER JOIN) die mich aber nicht so glücklich macht. Ich möchte lieber mit Relationen im DataSet arbeiten. Eine Lösung mit 2 DGV und 2 Tabellen habe ich auch schon gefunden aber mit drei Tabellen nicht.

Das ist mein Ansatz bis jetzt:

        Dim tCON = New OleDbConnection(VerbindungsZeichnfolge)
 
        Dim tAD01 = New OleDbDataAdapter("SELECT * FROM tdtAdressen", _
          gTedecConnection)
        tAD01.Fill(tDS, "Adressen")
        Dim tAD02 = New OleDbDataAdapter("SELECT * FROM tdtPersonen", _
          gTedecConnection)
        tAD02.Fill(tDS, "Personen")
        Dim tAD03 = New OleDbDataAdapter("SELECT * FROM tlnkAdressenPersonen", _
          gTedecConnection)
        tAD03.Fill(tDS, "Link")
 
        Dim colParent As DataColumn = tDS.Tables("Adressen").Columns( _
          "idAdressenID")
        Dim colChild As DataColumn = tDS.Tables("Link").Columns("fiAdressenID")
        Dim rel As DataRelation = New DataRelation("AdressenLink", colParent, _
          colChild)
 
        tDS.Relations.Add(rel)
 
        colParent = tDS.Tables("Personen").Columns("idPersonenID")
        colChild = tDS.Tables("Link").Columns("fiPersonenID")
        rel = New DataRelation("PersonenLink", colParent, colChild)
 
        tDS.Relations.Add(rel)
 
        Dim ParentBS As New BindingSource
        ParentBS.DataSource = tDS
        ParentBS.DataMember = "Adressen"
 
        Dim ChildBS As New BindingSource
        ChildBS.DataSource = ParentBS
        ChildBS.DataMember = "AdressenLink"
 
        DataGridView1.DataSource = ParentBS
        DataGridView2.DataSource = ChildBS
Gibt es eine Lösung mit Relationen für dieses Problem, oder muss ich mit einer SQL Abfrage arbeiten.

Grüssle Roland
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Relations und Datagrindview1.158WehrliRoland28.03.07 14:06

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel