Hallo Dave, leider sowohl vom Einen als auch vom Anderen viel zu wenig vorhanden
Nun werden die Views wohl untereinander angezeigt, wie blende ich aber nun das nicht angesprochene Frame am einfachsten aus? Wäre es einfacher die wichtigsten Werte wie ID und Anlagennummer der Detailvies in ein paar Textfeldern anzuzeigen? Dabei blieben die nicht angesprochenen Felder leer. Das wäre auch nicht tragisch und würde der gewünschten Überichtlichkeit zur Not auch dienen.
mfg
Pepiman
'Siehe Programmteil ab ********************************
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim ConnectionString As String
Dim dsView As DataViewManager
Dim ds As DataSet
' Setup DB-Connection
'ConnectionString = "data" & _
"source=xeon;uid=sa;password=manager;database=northwind";
ConnectionString = "server=UG04;Database=LabSQL;Integrated" & _
"security=true"
Dim cn As New SqlConnection(ConnectionString)
' Create the DataSet
ds = New DataSet("KundAnlage")
' Fill the Dataset with tblKunde, map Default Tablename
' "Table" to "tblKunde".
Dim da1 As New SqlDataAdapter("SELECT * FROM tblKunde", cn)
da1.TableMappings.Add("Table", "tblKunde")
da1.Fill(ds)
' Fill the Dataset with tblAnlage, map Default Tablename
' "Table" to "tblAnlage".
Dim da2 As New SqlDataAdapter("SELECT * FROM tblAnlage", cn)
da2.TableMappings.Add("Table", "tblAnlage")
da2.Fill(ds)
' Fill the Dataset with [tblAnlWVA], map Default Tablename
' "Table" to "tblAnlWVA".
Dim da3 As New SqlDataAdapter("SELECT * FROM tblAnlWVA", cn)
da3.TableMappings.Add("Table", "tblAnlWVA")
da3.Fill(ds)
' Fill the Dataset with [tblAnlWVA], map Default Tablename
' "Table" to "tblAnlWVA".
Dim da4 As New SqlDataAdapter("SELECT * FROM tblAnlSB", cn)
da4.TableMappings.Add("Table", "tblAnlSB")
da4.Fill(ds)
Dim relKdAnl As System.Data.DataRelation
Dim colMaster1 As System.Data.DataColumn
Dim colDetail1 As System.Data.DataColumn
colMaster1 = ds.Tables("tblKunde").Columns("KundeId")
colDetail1 = ds.Tables("tblAnlage").Columns("KundeId")
relKdAnl = New System.Data.DataRelation("RelKdAnl", colMaster1, _
colDetail1)
ds.Relations.Add(relKdAnl)
Dim relAnlWVA As System.Data.DataRelation
Dim colMaster2 As System.Data.DataColumn
Dim colDetail2 As System.Data.DataColumn
colMaster2 = ds.Tables("tblAnlage").Columns("AnlageID")
colDetail2 = ds.Tables("tblAnlWVA").Columns("AnlageID")
relAnlWVA = New System.Data.DataRelation("RelAnlWVA", colMaster2, _
colDetail2)
ds.Relations.Add(relAnlWVA)
Dim relAnlSB As System.Data.DataRelation
Dim colMaster3 As System.Data.DataColumn
Dim colDetail3 As System.Data.DataColumn
colMaster3 = ds.Tables("tblAnlage").Columns("AnlageID")
colDetail3 = ds.Tables("tblAnlSB").Columns("AnlageID")
relAnlSB = New System.Data.DataRelation("RelAnlSB", colMaster3, _
colDetail3)
ds.Relations.Add(relAnlSB)
dsView = ds.DefaultViewManager
'Form Anlage anzeigen
grdAnlage.DataSource = dsView
grdAnlage.DataMember = "tblKunde.RelKdAnl"
'********************************
'Form AnlWVA anzeigen (ist 1.Unterformular von Anlage)
grdAnlWVA.DataSource = dsView
grdAnlWVA.DataMember = "tblKunde.relKdAnl.relAnlWVA"
'Form AnlSB anzeigen (ist 2.Unterformular von Anlage)
grdAnlSB.DataSource = dsView
grdAnlSB.DataMember = "tblKunde.relKdAnl.relAnlSB"
'Combofeld KundeID des Kundenteiles anzeigen
KundeID.DataSource = dsView
KundeID.DisplayMember = "tblKunde.KundeID"
KundeID.ValueMember = "tblKunde.KundeID"
'Textfeld Firma10 des Kundenteiles anzeigen
KD_Firma10.DataBindings.Add("Text", dsView, "tblKunde.KD_Firma10")
End Sub
'Anzeige von View AnlWVA oder AnlSB abhängig von Attribut Anlage_Art aus
' dem Dataset tblAnlage
'Das Attribut kann entweder "WVA" für AnlWVA oder "SB" für AnlSB sein
'???????????????? |