以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  逐行计算问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=103957)

--  作者:allenyen
--  发布时间:2017/7/20 11:43:00
--  逐行计算问题


有两个表


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

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
 循环 RK表找到KC表的物料编码  找到后 KC表的库存减去RK表的数量 输出剩余数量 逐行计算  直到剩余数量0为止

 

 

For Each dr As DataRow In DataTables("kc").DATARowS

    Dim dr1 As DataRow

    DR1=DataTables("rk").Find("[物料编码] = \'" & DR("物料编码") & "\'")

    If dr1 IsNot Nothing

        dr("剩余数量")=DR("库存")-dr1("数量")

       

               

       

             End If

        End If

       

       

       

       

       

       

       

    Next

[此贴子已经被作者于2017/7/20 11:43:33编辑过]

--  作者:有点甜
--  发布时间:2017/7/20 12:44:00
--  
For Each dr As DataRow In DataTables("kc").DATARowS
   
    Dim sl As Double=DataTables("rk").compute("sum(数量)", "[物料编码] = \'" & DR("物料编码") & "\'")
   
    dr("剩余数量")=DR("库存")-sl
   
next

--  作者:allenyen
--  发布时间:2017/7/20 13:06:00
--  
不想求和  就是逐行计算 如果计算到0或者小于0 就把RK表当前行的日期填写到KC表里
[此贴子已经被作者于2017/7/20 13:20:36编辑过]

--  作者:有点甜
--  发布时间:2017/7/20 14:38:00
--  
For Each dr As DataRow In DataTables("kc").DataRows
    Dim sum As Double = 0
    Dim pdr As DataRow
    For Each cdr As DataRow In DataTables("rk").Select("[物料编码] = \'" & DR("物料编码") & "\'", "日期")
        sum += cdr("数量")
        pdr = cdr
        If DR("库存")-sum <= 0 Then
            Exit For
        End If
    Next
    If pdr Is Nothing Then
        dr("剩余数量")=DR("库存")-sum
        dr("日期")=Nothing
    Else
        dr("剩余数量")=DR("库存")-sum
        dr("日期")=pdr("日期")
    End If
Next