以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]增加行后,循环都是赋值第一行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85873) |
||||
-- 作者:huhu -- 发布时间:2016/6/4 11:03:00 -- [求助]增加行后,循环都是赋值第一行 If e.DataCol.name = "SN" Then Select Case lb.text Case "2" Dim rr1 As DataRow = DataTables("assemblyMiddle").SQLFind("item_ID = \'" & e.DataRow("SN") & "\'") If rr1 IsNot Nothing Then Dim rr2s As List(of DataRow) = DataTables("assemblyMiddle").SQLSelect("id_Flag = \'" & rr1("id_Flag") & "\'") For Each rr2 As DataRow In rr2s Dim ndr As DataRow = DataTables("扫描配货明细").AddNew msgbox(rr2("item_ID"))-------弹出的结果是对的。 ndr("SN") = rr2("item_ID") -----ndr("SN")怎么不是循环行的值,一直是固定的第一行的值。 Next End If End Select End If
|
||||
-- 作者:新航程小何 -- 发布时间:2016/6/4 11:20:00 --
|
||||
-- 作者:Hyphen -- 发布时间:2016/6/4 11:29:00 -- 代码没有问题,是不是其它事件代码影响到了,上例子测试 |
||||
-- 作者:huhu -- 发布时间:2016/6/4 11:42:00 --
user:liujiyong@bdcom.com.cn pwd:liujy 表:扫描配货明细 窗体:生产入库 库位类别:选择成品库 入库类别:插卡 序列号SN:00418012074 |
||||
-- 作者:Hyphen -- 发布时间:2016/6/4 14:03:00 -- 连接不了数据库,测试不了。 复制项目,转换为内部表测试
|
||||
-- 作者:huhu -- 发布时间:2016/6/4 14:41:00 -- 此主题相关图片如下:死循环.png |
||||
-- 作者:Hyphen -- 发布时间:2016/6/4 14:47:00 -- "扫描配货明细"就是这段代码所在的表? |
||||
-- 作者:Hyphen -- 发布时间:2016/6/4 14:50:00 -- 试试 If e.DataCol.name = "SN" Then Select Case lb.text Case "2" Dim rr1 As DataRow = DataTables("assemblyMiddle").SQLFind("item_ID = \'" & e.DataRow("SN") & "\'") If rr1 IsNot Nothing Then Dim rr2s As List(of DataRow) = DataTables("assemblyMiddle").SQLSelect("id_Flag = \'" & rr1("id_Flag") & "\'") For Each rr2 As DataRow In rr2s Dim ndr As DataRow = DataTables("扫描配货明细").AddNew SystemReady = False ndr("SN") = rr2("item_ID") -----ndr("SN")怎么不是循环行的值,一直是固定的第一行的值. SystemReady = True Next End If End Select End If |
||||
-- 作者:huhu -- 发布时间:2016/6/4 14:51:00 -- 对的。 行是增加了。 现在是每次循环都是集合ll2s的第一个值,一直死循环,没有按照顺序下去。
|
||||
-- 作者:huhu -- 发布时间:2016/6/4 14:54:00 -- 用8楼的代码就对了。 |