Foxtable(狐表)用户栏目专家坐堂 → 数据查询


  共有1428人关注过本帖平板打印复制链接

主题:数据查询

帅哥哟,离线,有人找我吗?
lk15502
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
数据查询  发帖心情 Post By:2017/1/13 9:17:00 [只看该作者]

表:计划配缸通知单;有“订单明细编号对外”,“计划重量”,“投坯重量”三列,想查找“订单明细编号对外”是相同的列,如果“订单明细编号对外”相同,“计划重量"也是一样的;如果一样的编号列“投坯重量”相加小于“计划重量”,把符合这样条件的找出来,下面的代码不能达到目的,去老师看看,或者有更好的办法?
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


 回到顶部