以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 数据查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95207) |
-- 作者:lk15502 -- 发布时间: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 |
-- 作者:有点色 -- 发布时间:2017/1/13 9:46:00 -- 请上传实例测试
Dim idxs As String = "-1," for each bh as string in DataTables("计划配缸通知单").GetValues("订单明细编号对外")
|
-- 作者:lk15502 -- 发布时间:2017/1/13 11:34:00 -- 老师,找到原因了, Dim tpzl As Double = 0
Dim jhzl As Double = 0 |
-- 作者:lk15502 -- 发布时间:2017/1/13 11:57:00 -- Dim idxs As String = "-1,"为什么等于-1;并且还要加上逗号 |
-- 作者:有点色 -- 发布时间:2017/1/13 12:39:00 -- 以下是引用lk15502在2017/1/13 11:57:00的发言:
Dim idxs As String = "-1,"为什么等于-1;并且还要加上逗号
这种,是为了生成 数字 类型的条件,最后会得到 -1,2,9,8 之类的数据,作为条件;当没有查到数据的时候,也不至于让数据报错,因为 -1 本身就可以查。
你也可以不用-1,最后你判断idxs是不是空值即可。
如果是判断字符的,改代码
Dim idxs As String = "\'\'," for each bh as string in DataTables("计划配缸通知单").GetValues("订单明细编号对外")
|
-- 作者:lk15502 -- 发布时间:2017/1/13 15:45:00 -- 明白了,谢谢! |