Multiple Key Relations

R

Randy Fraser

How do I create a relationship on muliple columns in an untyped dataset.

Why does this not work.

da.Fill(ds)
ds.Tables(0).TableName = "DesignSummary"
ds.Tables(1).TableName = "FormulaSummary"
ds.Tables(2).TableName = "MaterialSummary"
ds.Tables(3).TableName = "ItemUsage"
ds.Tables(5).TableName = "UsageSummary"
Dim dcDesignSummaryKey As DataColumn() =
{ds.Tables(0).Columns("WorkOrderID"), ds.Tables(0).Columns("DesignID"),
ds.Tables(0).Columns("MachineCode")}
Dim dcFormulaSummaryKey As DataColumn() =
{ds.Tables(1).Columns("WorkOrderID"), ds.Tables(1).Columns("DesignID"),
ds.Tables(1).Columns("MachineCode")}
Dim dcMaterialSummaryKey As DataColumn() =
{ds.Tables(2).Columns("WorkOrderID"), ds.Tables(2).Columns("DesignID"),
ds.Tables(2).Columns("MachineCode")}
Dim dcItemUsageSummaryKey As DataColumn() =
{ds.Tables(3).Columns("WorkOrderID"), ds.Tables(3).Columns("DesignID"),
ds.Tables(3).Columns("MachineCode")}
ds.Relations.Add("DesignFormulaRelation", dcDesignSummaryKey,
dcFormulaSummaryKey, False)
ds.Relations.Add("DesignMaterialRelation", dcDesignSummaryKey,
dcMaterialSummaryKey, False)
ds.Relations.Add("DesignItemUseageRelation", dcDesignSummaryKey,
dcItemUsageSummaryKey, False)


Best Regards
Randy
 
T

tkent

You may have better luck if you individually fill each table - I could
never get the "multi fill" thing to work to begin with.

the following worked for me with trees nested 3 nodes deep...

Dim sql As String
Dim DSRptSetup As DataSet

sql = ya
Dim DAReportNames As New SqlClient.SqlDataAdapter(sql, SqlConn)

sql = yadd
Dim DAReportLineItems As New SqlClient.SqlDataAdapter(sql,
SqlConn)

sql = yadda
Dim DALineItemAccounts As New SqlClient.SqlDataAdapter(sql,
SqlConn)

DSRptSetup = New DataSet

DAReportNames.Fill(DSRptSetup, "dtReportNames")
DAReportLineItems.Fill(DSRptSetup, "dtLineItems")
DALineItemAccounts.Fill(DSRptSetup, "dtLineItemAccounts")


Dim dcLINEITEMSummaryKey As DataColumn() =
{DSRptSetup.Tables("dtLineItems").Columns("rptCntnt_id"),
DSRptSetup.Tables("dtLineItems").Columns("rptNames_id")}

Dim dcACCOUNTSummaryKey As DataColumn() =
{DSRptSetup.Tables("dtLineItemAccounts").Columns("rptCntnt_id"),
DSRptSetup.Tables("dtLineItemAccounts").Columns("rptNames_id")}



DSRptSetup.Relations.Add("RptToLineItem",
DSRptSetup.Tables("dtReportNames").Columns("rptNames_id"),
DSRptSetup.Tables("dtLineItems").Columns("rptNames_id"))


DSRptSetup.Relations.Add("LineItemToAccnts",
dcLINEITEMSummaryKey, dcACCOUNTSummaryKey, False)


then fill trees...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

DataGrid Style 3
problem with datarelationship 1
multiple table in datagrid 3
getting error on record duplication 18
dataset access 4
vb.net early binding coding format 4
data to datagrid 1
selectedrow in datatable 1

Top