以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助订单交付逐减的代码写法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=77902)

--  作者:Carl
--  发布时间:2015/11/27 14:11:00
--  求助订单交付逐减的代码写法
如:订单表里面有多行相同的产品订单,采购入库有多行相同的产品入库。要实现以下功能:
1.先对采购入库多行相同的产品进行汇总
2.再在订单表里面按照订单的排列顺序(也可以按照下单时间的先后顺序)逐步冲减,在最后一行反应出订单的交付结果。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20151127140804.jpg
图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2015/11/27 14:17:00
--  

1、把两个表的数据填充进来;

 

2、按照货号等排序;

 

3、循环每一行相减。

 

请上传foxtable例子测试。


--  作者:大红袍
--  发布时间:2015/11/27 14:19:00
--  

如果要做流水账,可以看这里 http://www.foxtable.com/help/topics/1572.htm

 


--  作者:Carl
--  发布时间:2015/11/27 14:54:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:逐步冲减例子.table

请版主指导该怎么写这个代码。表1是订单明细,表2是入库明细,表3是需要的结果。
[此贴子已经被作者于2015/11/27 15:01:01编辑过]

--  作者:Carl
--  发布时间:2015/11/27 15:38:00
--  
逻辑应该是这样的吧?
1.把表1的数据填充到表3
2.对表2的相同产品数量进行统计汇总
3.循环冲减


--  作者:大红袍
--  发布时间:2015/11/27 16:33:00
--  
DataTables("订单交付进度表").DataRows.Clear
For Each dr As DataRow In DataTables("订单明细").Select("D2C款号 = \'L00753020001\'", "_Sortkey")
    Dim nr As DataRow = DataTables("订单交付进度表").AddNew
    nr("供应商") = dr("供应商")
    nr("D2C款号") = dr("D2C款号")
    nr("D2C颜色") = dr("颜色")
    nr("订单数量") = dr("订单数量")
   
    \'计算入库
    Dim sumin As Double = DataTables("采购入库明细").compute("sum(采购入库数量)", "款号 = \'" & dr("D2C款号") & "\' and 颜色 = \'" & dr("颜色") & "\'")
    Dim sumout As Double = DataTables("订单交付进度表").compute("sum(入库数量)", "D2C款号 = \'" & dr("D2C款号") & "\' and D2C颜色 = \'" & dr("颜色") & "\' and _Identify <= " & nr("_Identify"))
    sumin -= sumout
    If sumin >= dr("订单数量") Then
        nr("入库数量") = dr("订单数量")
        nr("待交货数量") = 0
    Else
        nr("入库数量") = iif(sumin>=0, sumin, 0)
        nr("待交货数量") = dr("订单数量") - nr("入库数量")
    End If
Next

--  作者:Carl
--  发布时间:2015/11/27 16:49:00
--  
还有一个问题:
For Each dr As DataRow In DataTables("订单明细").Select("D2C款号 = \'L00753020001\'", "_Sortkey"),这个只针对一个款,如果是多款怎么写?

--  作者:大红袍
--  发布时间:2015/11/27 16:52:00
--  

全部

 

For Each dr As DataRow In DataTables("订单明细").Select("", "_Sortkey")

 

任意条件

 

For Each dr As DataRow In DataTables("订单明细").Select("某列 = \'某值\'", "_Sortkey")

 

http://www.foxtable.com/help/topics/0400.htm

 


--  作者:Carl
--  发布时间:2015/11/27 17:08:00
--  
报错,屏幕一直闪个不停,能上传个附件看一下吗?
--  作者:Carl
--  发布时间:2015/11/27 17:26:00
--  
整明白了,谢谢!