проблема с фильтрами данных - PullRequest
0 голосов
/ 07 марта 2011

У меня есть две разные таблицы в моей базе данных. Один - это класс, а другой - 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()

1 Ответ

0 голосов
/ 08 марта 2011

Попробуйте указать UNION ALL в вашем SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...