Foxtable(狐表)用户栏目专家坐堂 → 求助:多个多值字段选择,当符合某个条件时候,对应在另一表中进行多值拆解成对应行


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

主题:求助:多个多值字段选择,当符合某个条件时候,对应在另一表中进行多值拆解成对应行

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:多个多值字段选择,当符合某个条件时候,对应在另一表中进行多值拆解成对应行  发帖心情 Post By:2015/6/5 11:28:00 [只看该作者]

在领取表中有如下代码:

If e.NewValue IsNot Nothing Then
            SystemReady = False
            Dim nr As Row = Tables("出库表").AddNew()
            Dim Multi As String = e.DataRow("物料编号")
            Dim ary() As String = Multi.Split(",")
            e.DataRow("物料编号") = ary(0)
            For i As Integer = 1 To ary.Length - 1
                nr("物料编号") = ary(i)
            Next 

            Dim Multi1 As String = e.DataRow("物料信息")
            Dim ary1() As String = Multi1.Split(",")
            e.DataRow("物料信息") = ary1(0)
            For i1 As Integer = 1 To ary1.Length - 1
                nr("物料信息") = ary1(i1)
            Next

            SystemReady = True
        End If

物料信息、物料编号未多值选择后,上述代码不起作用,也就是不能再出库表中对应的增加行

求纠正代码:

比如:

A物料 对应有编号 1 2 3 4

B物料 对应编号有 11 12 13 14

假设物料选择了A B 对应编号选择了 1 2  11 13

想当物料编号发生变动的时候 对应的在出库表中对应增加行

A 1

A 2

B 11

B 12

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多值字段合计成本例子.foxdb

[此贴子已经被作者于2015/6/5 11:29:13编辑过]

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


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

Select Case e.DataCol.name
    Case "物料编号"
        DataTables("库存表").ReplaceFor("是否领取", "已领取", "物料编号 in ('" & e.DataRow("物料编号").Replace(",", "','") & "')")
       
        Dim nms() As String = e.DataRow("物料编号").Split(",")
        e.DataRow("领取数量") = nms.Length
        e.DataRow("物料成本") = DataTables("库存表").Compute("sum(物料成本)", "物料编号 in ('" & e.DataRow("物料编号").replace(",", "','") & "')")
        If e.NewValue IsNot Nothing Then
            SystemReady = False
            For i As Integer = 0 To nms.Length - 1
                Dim nr As Row = Tables("出库表").AddNew()
                nr("物料编号") = nms(i)
                Dim fdr As DataRow = DataTables("库存表").Find("物料编号 = '" & nms(i) & "'")
                If fdr IsNot Nothing Then
                    nr("物料信息") = fdr("物料信息")
                End If
            Next
            SystemReady = True
        End If
End Select

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)Select Case e.DataCol.name &n...  发帖心情 Post By:2015/6/5 13:49:00 [只看该作者]

谢谢大红袍老师

 


 回到顶部