Foxtable(狐表)用户栏目专家坐堂 → 菜鸟求助


  共有2138人关注过本帖平板打印复制链接

主题:菜鸟求助

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


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

我想完成一个功能,就是如果删除了出库明细表中的一行数据,就自动更新订单明细表中的累计出货数量。

 

订单明细表中的累计出货数量更新代码如下(这个还是甜老师帮我改的呢):

 

Select Case e.DataCol.Name
    Case "累计出货数量"
           Dim filter As String = "客户订单号 = '" & e.DataRow("客户订单号") & "' and 客户产品号 = '" & e.DataRow("客户产品号") & "' and 订单行号 = '" & e.DataRow("订单行号") & "'"

         Dim sum As Double = DataTables("出库明细").Compute("sum(实际交货数量)", filter)
        e.DataTable.ReplaceFor("累计出货数量", sum, filter)
End Select

 

我在出库明细表的DataRowDeleting里面用以下代码希望可以实现这个功能,但是我试了2中方法都不行,调试了好久,无奈只能又来求助了。

 

代码1:

 

Dim dr2 As DataRow
'否则在订单明细表查找同行号的客户产品号,将找到的行赋值给变量dr
dr2 = DataTables("订单明细表").Find("[客户订单号] = '" & e.DataRow("客户订单号") & "' And [订单行号] = '" & e.DataRow("订单行号") & "'")
If dr2 IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
    Dim filter As String = "客户订单号 = '" & e.DataRow("客户订单号") & "' and 订单行号 = '" & e.DataRow("订单行号") & "'"
    DataTables("订单明细表").DataCols("累计出货数量").RaiseDataColChanged(filter)
End If

 

代码2:

Dim dr2 As DataRow
'否则在订单明细表查找同行号的客户产品号,将找到的行赋值给变量dr
dr2 = DataTables("订单明细表").Find("[客户订单号] = '" & e.DataRow("客户订单号") & "' And [订单行号] = '" & e.DataRow("订单行号") & "'")
If dr2 IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
    Dim filter As String = "客户订单号 = '" & e.DataRow("客户订单号") & "' and 订单行号 = '" & e.DataRow("订单行号") & "'"
    DataTables("订单明细表").DataCols("累计出货数量").RaiseDataColChanged(filter)
End If

 

无论是代码1还是代码2都不会自动更新订单明细表中的累计出货数量。

 

求助,老师们帮我看下哪里有问题,谢谢啦。


 回到顶部