mehrere DataRelations- geht das überhaupt?

paul meier

Grünschnabel
hi,
ich habe auf meiner form 3 datagridviews, die die daten aus 3 access-tabellen anzeigen, so: 1.termin 2.firma 3.ansprechpartner
während die datarelation zw. firma u.ansprechpartner steht, d.h. wen ich auf eine zeile im dgv'firma' klicke, wird autom. die entspr.zeile im dgv'ansprtechpartner' sel. dargestellt.
jetzt möchte ich das aber vom dgv'termin' aus machen, d.h. reihe im dgv'termin' wird angeclickt -> entspr.zeile im dgv'firma' u. im dgv'ansprtechpartner' wird sel.angezeigt.
die 2.datarelation gibt jetzt einen laufzeitfehler:
'Diese Spalten haben momentan keine eindeutigen Werte.'
der code: in Form1.load:
Code:
        f.ds_firma_fill(InstForm1) 'füllt ds-tab firma
        a.ds_a_fill(InstForm1)       'füllt ds-tab ansprechpartner
        td.ds_termin_fill()                   'füllt ds-tab termin
        d.GetData1(InstForm1) 'd = class Daten'
        d.GetData(InstForm1)   'd = class Daten'
dann in class Daten:
Code:
        Public Sub GetData(ByVal InstForm1)
        Dim myDataRelation As DataRelation
        myDataRelation = New DataRelation _
        ("FA", ds.Tables("firma").Columns("kd_id"), _
        ds.Tables("ansprechpartner").Columns("a_k_id"))
        ds.Relations.Add(myDataRelation)
        masterBindingSource.DataSource = ds
        masterBindingSource.DataMember = "firma"
        detailsBindingSource.DataSource = masterBindingSource
        detailsBindingSource.DataMember = "FA"
        Form1.dgv_aktuell_firma.DataSource = masterBindingSource
        Form1.dgv_aktuell_apartner.DataSource = detailsBindingSource
    End Sub
    Public Sub GetData1(ByVal InstForm1)
        Dim myDataRelation1 As DataRelation
        myDataRelation1 = New DataRelation _
        ("Termin", ds.Tables("termin").Columns("td_k_id"), _
        ds.Tables("firma").Columns("kd_id"))
        ds.Relations.Add(myDataRelation1)
        masterBindingSource.DataSource = ds
        masterBindingSource.DataMember = "termin"
        detailsBindingSource.DataSource = masterBindingSource
        detailsBindingSource.DataMember = "firma"
        Form1.dgv_aktuell_todo.DataSource = masterBindingSource
        Form1.dgv_aktuell_firma.DataSource = detailsBindingSource
    End Sub
hat jemand ne idee?
 
Zurück