以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]跨表统计的自动更新问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75882)

--  作者:猩猩与土豆
--  发布时间:2015/10/16 15:06:00
--  [求助]跨表统计的自动更新问题
库存表的“数量”列想设置当销售明细表有订单时,销售明细表的“产品编号”能与库存表的“产品编号”列对应,库存数量自动减去销售的数量并更新数量,可是用跨表统计的自动更新方法却实现不了,库存表的数量不能自动更新,麻烦大神们看看哪里出了问题~~

库存表的DataColChanged事件:
If e.DataCol.Name = "产品编号" Then 
    e.DataRow("数量") = DataTables("销售明细表").Compute("Sum(数量)","[产品编号] = \'" & e.NewValue & "\'")
End If

销售明细表的DataColChanged事件:
If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr = DataTables("库存表").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'")
    If pr IsNot Nothing Then
        pr("数量")= pr("数量") + e.NewValue - e.OldValue
    End If
End If

--  作者:大红袍
--  发布时间:2015/10/16 15:09:00
--  

重置产品编号列是否可以计算?

 

具体怎样不自动更新?做例子上来。


--  作者:猩猩与土豆
--  发布时间:2015/10/16 15:16:00
--  
就是重置了,重置了后库存表的数量列都空白了
--  作者:大红袍
--  发布时间:2015/10/16 15:18:00
--  
上传实例。
--  作者:猩猩与土豆
--  发布时间:2015/10/16 15:24:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:wellbeing福源灏erp.foxdb


--  作者:大红袍
--  发布时间:2015/10/16 15:28:00
--  
汗,你产品名称,在销售明细表,一个都没有,自然空值
--  作者:猩猩与土豆
--  发布时间:2015/10/16 15:32:00
--  
没有啊,销售明细表的产品都是库存表里有的,库存表的产品是从商品信息表引入的
--  作者:大红袍
--  发布时间:2015/10/16 15:33:00
--  
你自己看产品编号
--  作者:猩猩与土豆
--  发布时间:2015/10/16 15:50:00
--  
晕死,前段时间一直没弄这个,产品编号被重置了,所以和销售明细表的都对不上号,那么问题又来了,要怎么锁定商品信息表的产品编号咧呢??不让别人重置
--  作者:大红袍
--  发布时间:2015/10/16 15:57:00
--  

重置列按钮写代码判断。

 

If CurrentTable.Name = "商品信息" AndAlso CurrentTable.Cols(CurrentTable.ColSel).Name = "产品编号" Then
   
    msgbox("不能重置列")
   
Else
   
    CurrentTable.Cols(CurrentTable.ColSel).DataCol.RaiseDataColChanged
   
End If