Foxtable(狐表)用户栏目专家坐堂 → test


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

主题:test

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


加好友 发短信
等级:三尾狐 帖子:798 积分:5911 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2021/5/22 15:44:00 [只看该作者]

谢谢,可以了,但改循环后,请出现以下的错误,麻烦一下。


Dim con As Integer = DataTables("表A").Compute("sum(数量)","产品名称='" & Tables("表A").current("产品名称") & "' and _sortkey < " & Tables("表A").current("_sortkey"))
Dim s As String = ""
Dim drs As List(Of  DataRow) = DataTables("表B").Select("产品名称= '" & Tables("表A").current("产品名称") & "'","出货日期")

Dim dtre As DataTable
For Each dr As DataRow In dtre.DataRows

    Dim sl As Integer = Tables("表A").current("数量")

    Do While drs.Count > 0
        dr = drs(0)
        If con >= dr("数量") Then
            con = con - dr("数量")
        Else
            Dim c1 As Integer = dr("数量") - con
            con = 0
            If s > "" Then s = s & " + "
            If c1 >= sl Then
                s = s & dr("出货日期") & " /" & sl & "pc" & IIF(s.Contains("+"),"s","")
                Exit Do
            Else
                s = s & dr("出货日期") & " /" & c1 & "pcs"
                sl = sl - c1
            End If
        End If
        drs.RemoveAt(0)
    Loop
    Tables("表A").current("出货日期备注") = s

    
Next



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






 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107672 积分:547681 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/22 16:06:00 [只看该作者]

Dim dtre As DataTable = DataTables("表A")
Dim dr As DataRow
For Each dr1 As DataRow In dtre.DataRows
    Dim con As Integer = DataTables("表A").Compute("sum(数量)","产品名称='" & dr1("产品名称") & "' and _sortkey < " & dr1("_sortkey"))
    Dim s As String = ""
    Dim drs As List(Of  DataRow) = DataTables("表B").Select("产品名称= '" & dr1("产品名称") & "'","出货日期")
    Dim sl As Integer = dr1("数量")
    
    Do While drs.Count > 0
        dr = drs(0)
        If con >= dr("数量") Then
            con = con - dr("数量")
        Else
            Dim c1 As Integer = dr("数量") - con
            con = 0
            If s > "" Then s = s & " + "
            If c1 >= sl Then
                s = s & dr("出货日期") & " /" & sl & "pc" & IIF(s.Contains("+"),"s","")
                Exit Do
            Else
                s = s & dr("出货日期") & " /" & c1 & "pcs"
                sl = sl - c1
            End If
        End If
        drs.RemoveAt(0)
    Loop
    dr1("出货日期备注") = s
    
    
Next

 回到顶部
总数 12 上一页 1 2