以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]流通管理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113912)

--  作者:工匠
--  发布时间:2018/1/25 12:10:00
--  [求助]流通管理
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流通相关 - 副本.xlsx

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流通管理.foxdb


老师好:
      关于订单流通环节,请帮处理下,万分感谢!
谢谢!

--  作者:有点甜
--  发布时间:2018/1/25 13:08:00
--  

1、交付点列表

 

http://www.foxtable.com/webhelp/scr/1523.htm

 

2、筛选问题,绑定主表(不要用副本表),或者写代码

 

http://www.foxtable.com/webhelp/scr/2631.htm

 

3、判断是否为空,你直接判断控件的值,即可啊

 

If e.form.controls("xxx").Text = nothing then

 

4、累计参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113583&skin=0

 

 


--  作者:工匠
--  发布时间:2018/1/29 13:59:00
--  
谢谢有点甜老师,现在:

1、交付点列表

2、筛选问题

已经按指导解决了。

 

其它的还是没搞明白,请老师有时间帮看看,谢谢!

 

 

 

 


--  作者:有点甜
--  发布时间:2018/1/29 14:22:00
--  

具体说明你要做哪一个功能。如果累计,参考  http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113583&skin=0

 

如果不能为空,那就判断 If e.form.controls("xxx").Text = nothing then

 

 


--  作者:工匠
--  发布时间:2018/1/29 14:35:00
--  

1.“追加交付”按钮相关还不行

2.本次累计还不行

3.同单号"交付点"累计:已实现一半功能,能根据交付点和交付数量变化而变化,但是中途如果修改一行的交付点或交付数量的话,原来的同单号的交付点累计则没有变化,根据情况,应该是把一行的交付数量或交付点修改后,原来的交付点累计要减少才对


--  作者:有点甜
--  发布时间:2018/1/29 14:46:00
--  

1、具体哪里不行?如果判断是否为空就写 If e.form.controls("xxx").Text = nothing then

 

2、3、累计照抄 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113583&skin=0

 


--  作者:工匠
--  发布时间:2018/1/29 14:47:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流通管理20180129.foxdb


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流通相关 20180129.xlsx

 

请老师有时间,帮再看看,谢谢!


--  作者:有点甜
--  发布时间:2018/1/29 15:07:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流通管理20180129.foxdb


--  作者:工匠
--  发布时间:2018/1/29 15:57:00
--  
谢谢有点甜老师,这个项目现在80%已差不多了。后续我移植参照使用,万分感谢!唯一没完全好的是(我可能没描述清晰):就是假如在交付明细里的“交付点”有改变(比如:原来是“深圳”现改为“东莞”),被改变的当前(改为东莞)行所对应的“交付ID”(东莞)的“交付点累计”能及时变更历史的“交付点累计”值(东莞)。但是该行“交付点”值改变前(深圳)所对应的“交付ID”的“交付点累计”值,历史“交付点累计”值还没有变更。实际需要的是:只要是单号一样的情况下,“交付点”不论是深圳或东莞的,其前后所有行的“交付点累计”都要变更。
--  作者:有点甜
--  发布时间:2018/1/29 16:16:00
--  

Datacolchanged事件

 

Dim dr9 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "单号","交付点"
        dr9("交付ID") = dr9("单号") & "" & dr9("交付点")
End Select

Select Case e.DataCol.name
    Case "交付ID","交付数量"
        Dim filter As String = "交付ID = \'" & e.DataRow("交付ID") & "\'"
        Dim sum1 As Double = e.DataTable.Compute("sum(交付数量)", filter)
        e.DataTable.ReplaceFor("交付点累计",sum1,filter)
        filter = "交付ID = \'" & e.oldvalue & "\'"
        sum1 = e.DataTable.Compute("sum(交付数量)", filter)
        e.DataTable.ReplaceFor("交付点累计",sum1,filter)
End Select

 

Select Case e.DataCol.name
    Case "交付数量","单号"
        Dim filter As String = "单号 = \'" & e.DataRow("单号") & "\'"
        Dim sum2 As Double = e.DataTable.Compute("sum(交付数量)", filter)
        e.DataTable.ReplaceFor("交付累计",sum2,filter)
       
End Select

Select Case e.DataCol.name
    Case "交付ID","交付数量"
        Dim filter As String = "交付ID = \'" & e.DataRow("交付ID") & "\'"
        For Each dr As DataRow In e.DataTable.Select(filter &  " and [_SortKey] >= " & e.DataRow("_SortKey"))
            Dim Val1 As Double = e.DataTable.Compute("Sum(交付数量)",filter & " and [_SortKey] <= " & dr("_SortKey"))
            dr("本次累计") = val1
        Next
        If e.DataCol.name = "交付ID" Then
            filter = "交付ID = \'" & e.oldvalue & "\'"
            For Each dr As DataRow In e.DataTable.Select(filter)
                Dim Val1 As Double = e.DataTable.Compute("Sum(交付数量)",filter & " and [_SortKey] <= " & dr("_SortKey"))
                dr("本次累计") = val1
            Next
           
        End If
End Select