以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]累计逻辑 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111259) |
||||
-- 作者:xh2207 -- 发布时间:2017/12/18 21:51:00 -- [求助]累计逻辑
请教: 表A 累计合同数量为统计品名、型号规格合同数量累计值 请问:如何在DataColChanging事件中写代码控制填入合同数量值后累计合同数量不能大于需求数量(累计数量等于个合同数量和),小狗到期,请将代码列出,感谢!
DataColChanged的代码如下:
If e.DataCol.Name = "合同数量" Then
DataRowDeleting代码如下: 配合datacolchanged的统计代码,实行对合同数量进行统计
![]() ![]()
|
||||
-- 作者:xh2207 -- 发布时间:2017/12/18 22:03:00 -- 原考虑DataColChanging如下,不完善的,请赐教。感激
Dim dr As DataRow = e.DataRow |
||||
-- 作者:有点蓝 -- 发布时间:2017/12/18 22:08:00 -- DataColChanging事件 If e.DataCol.Name = "合同数量" Then Dim sum = DataTables("表A").Compute("Sum(合同数量)","品名 = \'" & e.DataRow("品名") & "\'and 型号规格 = \'" & e.DataRow("型号规格") & "\'") sum = sum + e.NewValue - e.OldValue If sum > e.DataRow("需求数量") Then msgbox("累计合同数量不能大于需求数量") e.Cancel = True End If End If |
||||
-- 作者:xh2207 -- 发布时间:2017/12/19 8:39:00 -- 明白了,是数据精度(小数点后位数有效值)的问题。
![]() ![]() [此贴子已经被作者于2017/12/19 8:44:35编辑过]
|