Foxtable(狐表)用户栏目专家坐堂 → [求助]代码修改求助,包括思路


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

主题:[求助]代码修改求助,包括思路

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]代码修改求助,包括思路  发帖心情 Post By:2015/12/14 11:15:00 [只看该作者]

在库位数量统计表有列:物料编码,库位编码,预配货数量,确定。其中确定是逻辑列。
希望
1.确定打勾后在库位明细表查找"物料编码 = '" & e.DataRow("物料编码") & "' and 库位编码 = '" & e.DataRow("库位编码") & "' And 提示 = '入库完成'"且还满足SN大小排序。
还需要满足预配货数量是几就在配货筛选明细表只增加几行数据。----------这个代码改怎么写?
下面的代码是满足"物料编码 = '" & e.DataRow("物料编码") & "' and 库位编码 = '" & e.DataRow("库位编码") & "' And 提示 = '入库完成'"且还满足SN大小排序的行都增加到了配货筛选明细表了。没有按照预配货数量来增加行数。
2.确定去掉勾后,希望也是仅把增加的去掉,而不是一下子把所有满足"物料编码 = '" & e.DataRow("物料编码") & "'"的行都去掉。

If e.DataCol.name = "确定" Then
    If e.DataRow("确定") = True Then
        Dim drs As List(of DataRow)
        drs = DataTables("库存明细表").Select ("物料编码 = '" & e.DataRow("物料编码") & "' and 库位编码 = '" & e.DataRow("库位编码") & "' And 提示 = '入库完成'","SN")
        If drs.Count > 0 Then
            For Each dr As DataRow In drs
                Dim ndr As DataRow = DataTables("配货筛选明细表").AddNew()
                ndr("SN") = dr("SN")
                ndr("物料编码") = dr("物料编码")
                ndr("库位号") = dr("库位号")
                ndr("库位编码") = dr("库位编码")
                ndr("数量") = dr("数量")
            Next
        End If
    Else
        DataTables("配货筛选明细表").DeleteFor("物料编码 = '" & e.DataRow("物料编码") & "'")
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 11:31:00 [只看该作者]

If e.DataCol.name = "确定" Then
    If e.DataRow("确定") = True Then
        Dim drs As List(of DataRow)
        drs = DataTables("库存明细表").Select ("物料编码 = '" & e.DataRow("物料编码") & "' and 库位编码 = '" & e.DataRow("库位编码") & "' And 提示 = '入库完成'","SN")
        If drs.Count > 0 Then
            For Each dr As DataRow In drs
                For i As Integer = 1 To e.DataRow("预配货数量")
                    Dim ndr As DataRow = DataTables("配货筛选明细表").AddNew()
                    ndr("SN") = dr("SN")
                    ndr("物料编码") = dr("物料编码")
                    ndr("库位号") = dr("库位号")
                    ndr("库位编码") = dr("库位编码")
                    ndr("数量") = dr("数量")
                Next
            Next
        End If
    Else
        Dim drs As List(Of DataRow) = DataTables("配货筛选明细表").Select("物料编码 = '" & e.DataRow("物料编码") & "'")
        For i As Integer = drs.count - 1 To 0 Step -1
            If drs(i).RowState = DataRowState.Added Then
                drs(i).delete
            End If
        Next
    End If
End If

[此贴子已经被作者于2015/12/14 11:31:44编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/12/14 11:46:00 [只看该作者]

      If drs.Count > 0 Then
            For Each dr As DataRow In drs
                For i As Integer = 1 To e.DataRow("预配货数量")
                    Dim ndr As DataRow = DataTables("配货筛选明细表").AddNew()
                    ndr("SN") = dr("SN")
                    ndr("物料编码") = dr("物料编码")
                    ndr("库位号") = dr("库位号")
                    ndr("库位编码") = dr("库位编码")
                    ndr("数量") = dr("数量")
                Next
            Next
        End If
这不应是重复增加了吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 11:48:00 [只看该作者]

你说要增加多行啊

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/12/14 11:52:00 [只看该作者]



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


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/12/14 11:52:00 [只看该作者]



图片点击可在新窗口打开查看此主题相关图片如下:增加了4行.png
图片点击可在新窗口打开查看


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


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

本来应该增加2行,确增加了4行。
        If drs.Count > 0 Then
            For Each dr As DataRow In drs-------外面再次循环drs.count次
                For i As Integer = 1 To e.DataRow("预配货数量") ---------内部循环e.DataRow("预配货数量")次。
                    Dim ndr As DataRow = DataTables("配货筛选明细表").AddNew()
                    ndr("SN") = dr("SN")
                    ndr("物料编码") = dr("物料编码")
                    ndr("库位号") = dr("库位号")
                    ndr("库位编码") = dr("库位编码")
                    ndr("数量") = dr("数量")
                Next
            Next
        End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 11:56:00 [只看该作者]

If e.DataCol.name = "确定" Then
    If e.DataRow("确定") = True Then
        Dim dr As DataRow
        dr = DataTables("库存明细表").find ("物料编码 = '" & e.DataRow("物料编码") & "' and 库位编码 = '" & e.DataRow("库位编码") & "' And 提示 = '入库完成'","SN")
        If dr IsNot Nothing Then
            For i As Integer = 1 To e.DataRow("预配货数量")
                Dim ndr As DataRow = DataTables("配货筛选明细表").AddNew()
                ndr("SN") = dr("SN")
                ndr("物料编码") = dr("物料编码")
                ndr("库位号") = dr("库位号")
                ndr("库位编码") = dr("库位编码")
                ndr("数量") = dr("数量")
            Next
        End If
    Else
        Dim drs As List(Of DataRow) = DataTables("配货筛选明细表").Select("物料编码 = '" & e.DataRow("物料编码") & "'")
        For i As Integer = drs.count - 1 To 0 Step -1
            If drs(i).RowState = DataRowState.Added Then
                drs(i).delete
            End If
        Next
    End If
End If

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


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

对于删除也有问题。


图片点击可在新窗口打开查看此主题相关图片如下:2个都打勾.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:筛选3行.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/12/14 12:08:56编辑过]

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


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

然后去掉其中一个狗,配货明细表把数据都清掉了,而不是只清除去掉勾的哪一行增加的数据。

图片点击可在新窗口打开查看此主题相关图片如下:去掉一个勾.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:都给清掉了.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/12/14 12:10:02编辑过]

 回到顶部
总数 21 1 2 3 下一页