У меня есть две разные таблицы в моей базе данных. Один - это класс, а другой - LAREACT, и оба имеют ключевое поле MAIN FACILITY USED. В следующей части моего кода будет сгенерирован DataTable на основе суммы записей в обеих таблицах.
На основе приведенного ниже кода ACTIVITYLOOKUP datatable имеет столбцы «MAIN FACILITY USED», «Description», «TypeName», «Type», «Id». Проблема возникает, когда есть строка с тем же объектом MAIN FACILITY USED. Данные не будут показывать его (фильтровать?). Вы знаете, в чем проблема? и как это будет исправлено без каких-либо изменений в базе данных?
While oLArea.GetCurrent(oCursor)
oRow = DS.Tables("ActivityLookup").NewRow
oRow.Item("MainFacilityUsed") = oLArea.MAIN_FACILITY_USED
oRow.Item("Description") = oLArea.DESCRIPTION
oRow.Item("TypeName") = If(oLArea.TYPE = "G", "Group", "Single")
oRow.Item("Type") = oLArea.TYPE
oRow.Item("Id") = oRow.Item("Type") & "-" & oRow.Item("MainFacilityUsed")
DS.Tables("ActivityLookup").Rows.Add(oRow)
oCursor.MoveNext()
End While
If bIncludeClasses Then
Dim oClass As New CFastLookup
Dim d As Date = DateAdd(DateInterval.Year, 1, Today)
oCursor = oClass.ClassLookup(tCentreId, d)
While oClass.GetCurrent(oCursor)
DS.Tables("ActivityLookup").DefaultView.RowFilter = "[MainFacilityUsed]=" & EncodeToText(oClass.moGen.Item("MAIN FACILITY USED"))
If DS.Tables("ActivityLookup").DefaultView.Count = 0 Then
oRow = DS.Tables("ActivityLookup").NewRow
oRow.Item("MainFacilityUsed") = oClass.moGen.Item("MAIN FACILITY USED")
oRow.Item("Description") = oClass.moGen.Item("Description")
oRow.Item("TypeName") = "Class"
oRow.Item("Type") = "C"
oRow.Item("Id") = oRow.Item("Type") & "-" & oRow.Item("MainFacilityUsed")
DS.Tables("ActivityLookup").Rows.Add(oRow)
End If
oCursor.MoveNext()
End While
End If
DS.Tables("ActivityLookup").DefaultView.RowFilter = ""
DS.AcceptChanges()