VB.NET:
'For simple single column relation Dim Tran_Detail As New DataRelation("ds", ds.Tables(0).Columns("TransID"), ds.Tables(1).Columns("TransID")) You can also use all Ordinal references or mix them as you see fit. Assuming that TransID was the first column in both Datatables, the following would work the same: Dim Tran_Detail As New DataRelation("MyRelationName", ds.Tables("Transactions").Columns(0), ds.Tables("Details").Columns(0)) 'or Dim Tran_Detail As New DataRelation("MyRelationName", ds.Tables(0).Columns(0), ds.Tables(1).Columns(0)) 'Finally ds.Relations.Add(Tran_Detail) VB.NET 'Declare the Columns - even though we have multiple fields, we only have two tables, hence TransactionColumns and DetailColumns Dim TransactionColumns() as DataColumn Dim DetailColumns() as DataColumn TransactionColumns = New DataColum(){ds.Tables(0).Columns("TransID"), ds.Tables(0).Columns("CustomerID"), ds.Tables(0).Columns("SalePersonID")} DetailColumns = New DataColumns(){ds.Tables(1).Columns("TransID"), ds.Tables(1).Columns("CustomerID"), ds.Tables(1).Columns("SalesPersonID")} 'We could also use all norminals, ordinals or any mixture of them 'Add the name and DataColumn arrays to the Relation Dim Tran_Detail as New DataRelation("myRelationName", TransActionColumns, DetailColumns) 'Add the Relation to the DataSet ds.Relations.Add(Tran_Detail) Dim Tran_Detail as New DataRelation("myRelationName", TransActionColumns, DetailColumns, True |