以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]DataColChanging  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=108391)

--  作者:xh2207
--  发布时间:2017/10/21 18:16:00
--  [求助]DataColChanging

如下表:

 


此主题相关图片如下:表a.png
按此在新窗口浏览图片

 

累计到货列为同品名和型号规格的今单到货的累计

  DataColChanged

If e.DataCol.Name = "今单到货" Then \'如果是折扣列的内容发生变化.

    Dim sum = DataTables("表A").Compute("Sum(今单到货)","品名 = \'" & e.DataRow("品名")  & "\'and  型号规格 = \'" & e.DataRow("型号规格")  & "\'" )

    e.DataTable.ReplaceFor("累计到货", sum, "品名 = \'" & e.DataRow("品名")  & "\'and 型号规格 = \'" & e.DataRow("型号规格")  & "\'")

End If

 

现想:在今单到货列输入数据时判断     当( 输入的数据e.NewValue +当前行的累计到货)> 需求     输入的数据无效,否则允许输入且累计今单到货。

 

帮助文件

DataColChanging有提到

例如在订单表中,要求折扣列的值不能超过0.15,可以在DataColChanging事件中设置如下代码:

If e.DataCol.Name = "折扣" Then \'如果是折扣列的内容发生变化。
   
If e.NewValue > 0.15 Then \'如果新值大于0.15。
        e.Cancel =
True \'取消变动。
   
End If
End
If

但有区别,如何实现,请将代码贴出(小狗到期了),非常感谢。

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:累计_201710211812.zip


--  作者:xh2207
--  发布时间:2017/10/22 8:36:00
--  
自己解决了,不用劳烦专家了。感谢!