Foxtable(狐表)用户栏目专家坐堂 → 求助,为什么有个累计出货数据每次打开就清零了?


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

主题:求助,为什么有个累计出货数据每次打开就清零了?

美女呀,离线,留言给我吧!
youngling
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:115 积分:895 威望:0 精华:0 注册:2012/12/18 16:55:00
求助,为什么有个累计出货数据每次打开就清零了?  发帖心情 Post By:2014/12/25 23:48:00 [只看该作者]

各位高手,请帮我看下,我的订单明细表中的累计出货数,每次会根据出库明细表中的数据自动更新累计出货数,但是每次保存后在打开就会清零了,这是为什么呢?我找了2天也没找到原因,帮我看下吧,谢谢!

  


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

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

 

 

还有我希望可以根据出库明细表中的开piao情况自动更新订单明细表中的开piao情况,但是如果变更了库存明细表中的 开piao否 列数据,订单明细表中的开piao否 数据不会发生变化。

 

说明:订单号,产品号,订单行号三个因素决定唯一的一个子订单,每个子订单可能有若干行出库明细,即分别出库,若干次出库可能分几次开piao,不一定一起开piao。

 

 

出库明细DataColChanged 里面的代码是:

If e.DataCol.name = "开piao否"
    Dim filter As String = " [客户订单号] =  '"& e.DataRow("客户订单号") & "'  And [订单行号] =   '"& e.DataRow("订单行号") & "' "
    DataTables("订单明细表").DataCols("开piao否").RaiseDataColChanged(filter)
End If

 

订单明细DataColChanged 里面的代码是:

 

If e.DataCol.name = "开piao否" Then
    Dim i As Integer
    i=0
   Dim drs As List(Of DataRow)
'Dim drs As DataRow
    drs = DataTables("出库明细").Select( " [客户订单号] =  '"& e.DataRow("客户订单号") & "'  And [订单行号] =   '"& e.DataRow("订单行号") & "'   " )
    Dim c2 As Integer = e.DataRow.GetChildRows("drs").Count
    For Each dr As DataRow In drs
        If dr("开piao否") = True Then
            i=i+1
        End If
    Next
    If i = c2 And e.DataRow("未交货数量") <= 0 Then
        e.DataRow("开piao否") = True
    End If
End If

[此贴子已经被作者于2014-12-25 23:54:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/12/26 8:12:00 [只看该作者]

你那个列是表达式列.

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/26 9:07:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
youngling
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:115 积分:895 威望:0 精华:0 注册:2012/12/18 16:55:00
  发帖心情 Post By:2014/12/26 10:17:00 [只看该作者]

我倒!我晕,原来这么简单!这个累计出货数量的问题搞定了。

 

我一直在查代码哪里错了,怪不得查不出原因。

[此贴子已经被作者于2014-12-26 10:22:17编辑过]

 回到顶部
美女呀,离线,留言给我吧!
youngling
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:115 积分:895 威望:0 精华:0 注册:2012/12/18 16:55:00
  发帖心情 Post By:2014/12/26 10:23:00 [只看该作者]

那大侠们再帮我看下,这个代码哪里有问题呢。谢谢!

 

希望可以根据出库明细表中的开piao情况自动更新订单明细表中的开piao情况,但是如果变更了库存明细表中的 开piao否 列数据,订单明细表中的开piao否 数据不会发生变化。

 

说明:订单号,产品号,订单行号三个因素决定唯一的一个子订单,每个子订单可能有若干行出库明细,即分别出库,若干次出库可能分几次开piao,不一定一起开piao。

 

 

出库明细DataColChanged 里面的代码是:

If e.DataCol.name = "开piao否"
    Dim filter As String = " [客户订单号] =  '"& e.DataRow("客户订单号") & "'  And [订单行号] =   '"& e.DataRow("订单行号") & "' "
    DataTables("订单明细表").DataCols("开piao否").RaiseDataColChanged(filter)
End If

 

订单明细DataColChanged 里面的代码是:

 

If e.DataCol.name = "开piao否" Then
    Dim i As Integer
    i=0
   Dim drs As List(Of DataRow)
'Dim drs As DataRow
    drs = DataTables("出库明细").Select( " [客户订单号] =  '"& e.DataRow("客户订单号") & "'  And [订单行号] =   '"& e.DataRow("订单行号") & "'   " )
    Dim c2 As Integer = e.DataRow.GetChildRows("drs").Count
    For Each dr As DataRow In drs
        If dr("开piao否") = True Then
            i=i+1
        End If
    Next
    If i = c2 And e.DataRow("未交货数量") <= 0 Then
        e.DataRow("开piao否") = True
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/26 10:35:00 [只看该作者]

'根据出库明细表中订单行号的开piao情况得出本行是否开piao
If e.DataCol.name = "开piao否" Then

    Dim flag As Boolean = True
    Dim drs As List(Of DataRow)
    drs = DataTables("出库明细").Select( " [客户订单号] =  '"& e.DataRow("客户订单号") & "'  And [订单行号] =   '"& e.DataRow("订单行号") & "'   " )
    For Each dr As DataRow In drs
        If dr("开piao否") = False Then
            flag = False
            Exit For
        End If
    Next
    If flag AndAlso e.DataRow("未交货数量") <= 0 Then
        e.DataRow("开piao否") = True
    Else
        e.DataRow("开piao否") = False
    End If
End If


 回到顶部