以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态结存  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146683)

--  作者:liuandwang
--  发布时间:2020/2/29 10:14:00
--  动态结存
我做了一个库存窗口,当月的“上月结存”等于上个月的“本月结存”,目前我使用的代码:

For Each dr2 As Row In Tables("铝窗库存表").Rows

Dim fdr7 As DataRow = DataTables("铝窗库存表").find("生产年月 =\'" & dr2("上月") & "\' and 产品名称=\'" & dr2("产品名称") & "\' And 产品颜色=\'" & dr2("产品颜色") & "\'")

 dr2("边封_上月结存") = fdr7("边封_本月结存") 

Next

报错:未找到对象

第2个问题,如果3月生产了“产品1”,2月没有生产,1月生产了“产品1”,3月产品1的“上月结存”应该等于1月产品1的“本月结存”,“生产年月”为字符列。这个不知道写代码

--  作者:有点蓝
--  发布时间:2020/2/29 10:42:00
--  
Find查询可能没有结果,所以必须判断一下结果是不是空的

For Each dr2 As Row In Tables("铝窗库存表").Rows
    Dim fdr7 As DataRow = DataTables("铝窗库存表").Find("生产年月 <=\'" & dr2("上月") & "\' and 产品名称=\'" & dr2("产品名称") & "\' And 产品颜色=\'" & dr2("产品颜色") & "\'","生产年月 desc")
    If fdr7 IsNot Nothing
        dr2("边封_上月结存") = fdr7("边封_本月结存")
    End If
Next