Foxtable(狐表)用户栏目专家坐堂 → [求助]增加行后,循环都是赋值第一行


  共有2283人关注过本帖树形打印复制链接

主题:[求助]增加行后,循环都是赋值第一行

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]增加行后,循环都是赋值第一行  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
新航程小何
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2016/6/4 11:20: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") & "'")
Dim ndr As DataRow
                For Each rr2 As DataRow In rr2s
                    Dim ndr As DataRow = DataTables("扫描配货明细").AddNew'去掉这个
            ndr=DataTables("扫描配货明细").AddNew
                    msgbox(rr2("item_ID"))-------弹出的结果是对的。
                    ndr("SN") = rr2("item_ID")    -----ndr("SN")怎么不是循环行的值,一直是固定的第一行的值。               
                Next
            End If
    End Select
End If
你试试这样行不行?

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/4 11:29:00 [只看该作者]

代码没有问题,是不是其它事件代码影响到了,上例子测试

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/6/4 11:42:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存管理系统.rar

user:liujiyong@bdcom.com.cn
pwd:liujy

表:扫描配货明细
窗体:生产入库
库位类别:选择成品库
入库类别:插卡

序列号SN:00418012074


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/4 14: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")怎么不是循环行的值,一直是固定的第一行的值。 
msgbox(ndr("SN"))              ‘看看这个弹出的值
                Next
            End If
    End Select
End If

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/6/4 14:41:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:死循环.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/4 14:47:00 [只看该作者]

"扫描配货明细"就是这段代码所在的表?

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/6/4 14:51:00 [只看该作者]

对的。
行是增加了。
现在是每次循环都是集合ll2s的第一个值,一直死循环,没有按照顺序下去。

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/6/4 14:54:00 [只看该作者]

用8楼的代码就对了。

 回到顶部
总数 11 1 2 下一页