表:计划配缸通知单;有“订单明细编号对外”,“计划重量”,“投坯重量”三列,想查找“订单明细编号对外”是相同的列,如果“订单明细编号对外”相同,“计划重量"也是一样的;如果一样的编号列“投坯重量”相加小于“计划重量”,把符合这样条件的找出来,下面的代码不能达到目的,去老师看看,或者有更好的办法?DataTables("计划配缸通知单").LoadFilter = ""
DataTables("计划配缸通知单").Load
Tables("计划配缸通知单").RepeatFilter("订单明细编号对外", 0)
Tables("计划配缸通知单").Filter = "[System_Filter_Unique] = 1 And 订单明细编号对外 Is not null"
Dim s As String = DataTables("计划配缸通知单").GetComboListString("订单明细编号对外",Tables("计划配缸通知单").Filter)
Dim gh1s As New List(of String)
Dim ghs() As String
ghs = s.split("|")
For Index As Integer = 0 To ghs.Length - 1
Dim drs As List(of DataRow) = DataTables("计划配缸通知单").Select("订单明细编号对外 = '" & ghs(Index) & "'")
If drs.count > 0 Then
Dim tpzl As Double
Dim jhzl As Double
For Each dr As DataRow In drs
tpzl = tpzl + dr("投坯重量")
jhzl = dr("计划重量")
Next
If tpzl/jhzl < 0.96 Then
gh1s.Add(ghs(Index))
End If
End If
Next
If gh1s.Count > 0 Then
Dim st As String
For Each gh1 As String In gh1s
st = "'" & gh1 & "'," & st
Next
st = st.TrimEnd(",")
DataTables("计划配缸通知单").loadfilter = "订单明细编号对外 in (" & st & ")"
DataTables("计划配缸通知单").load
Else
DataTables("计划配缸通知单").loadfilter = "_identify is null"
DataTables("计划配缸通知单").load
End If