以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助,号码段标记问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73548) |
||||
-- 作者:covechen -- 发布时间:2015/8/21 10:47:00 -- 求助,号码段标记问题 A表中有N个号码段 B表中有N个号码 要怎么把B表中含有A表号码中号码的号码标记出来以方便后期的统计? 我现在的做法是这样的 以下内容为程序代码:
1 Dim Arys As List(Of String()) 2 Arys = DataTables("购单").GetValues("开始|结束|已用","用完 = " & False ) 3 For Each Ary As String() In Arys 4 \'Output.Show(Ary(0) & "|" & Ary(1) & "|" & Ary(2)) 5 Dim drs As List(Of DataRow) 6 drs = DataTables("寄件").Select("[单号] >= " & ary(0) & " And [单号] <= " & ary(1) ) 7 For Each dr As DataRow In drs 8 dr("购单") = True 9 Next 10 If drs.Count <> ary(2) Then 11 DataTables("购单").ReplaceFor("已用",drs.Count , "[开始] = " & ary(0)) 12 End If 13 Next
这样虽然能把B表的号码标出来,但效率不怎么高,A表中每个号码都要轮一次,,求个高效的解决方法
实例如下
|
||||
-- 作者:大红袍 -- 发布时间:2015/8/21 11:02:00 -- 你这种,肯定要循环才行啊
For Each dr As DataRow In DataTables("购单").Select("") |
||||
-- 作者:covechen -- 发布时间:2015/8/21 11:33:00 -- 谢谢,你写的简洁好多 |