Forum: VB.NET |
Thema:
mehrere DataRelations- geht das überhaupt? |
Von:
paul meier (
18.01.2008 19:06) |
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'
[/code]
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
[/code]
hat jemand ne idee?
www.firmsoftware.de
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!