以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  堆栈防护  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=171495)

--  作者:shqpldczj
--  发布时间:2021/9/1 9:40:00
--  堆栈防护
Tables("合同主表").Current("审核人") = Nothing
MessageBox.show("审核已取消!")
DataTables("合同主表").Save



我就是这三行代码怎么就提示堆栈防护了

--  作者:有点蓝
--  发布时间:2021/9/1 9:42:00
--  
应该是表事件有死循环

datacolchanged、BeforeSaveDataRow有没有代码?

--  作者:shqpldczj
--  发布时间:2021/9/1 9:46:00
--  
datacolchanged 有的就是计算公式,没又涉及审核人字段啊


--  作者:有点蓝
--  发布时间:2021/9/1 9:50:00
--  
完整错误提示发上来看看
--  作者:shqpldczj
--  发布时间:2021/9/1 9:58:00
--  
datacolchanged代码
If e.DataRow.Isnull("优惠价") Then
    e.DataRow("应开票") = e.DataRow("价税合计")
    e.DataRow("毛利") = e.DataRow("价税合计") - e.DataRow("专家签字费") - e.DataRow("佣金") - e.DataRow("外包金额")
    e.DataRow("未收款") = e.DataRow("价税合计") - e.DataRow("已收款")
Else
    e.DataRow("应开票") = e.DataRow("优惠价")
    e.DataRow("毛利") = e.DataRow("优惠价") - e.DataRow("专家签字费") - e.DataRow("佣金") - e.DataRow("外包金额")
    e.DataRow("未收款") = e.DataRow("优惠价") - e.DataRow("已收款")
End If

e.DataRow("未开票") = e.DataRow("应开票") - e.DataRow("已开票")
e.DataRow("未收款") = e.DataRow("金额") - e.DataRow("已收款")
图片点击可在新窗口打开查看此主题相关图片如下:堆栈防护.png
图片点击可在新窗口打开查看

--  作者:shqpldczj
--  发布时间:2021/9/1 9:59:00
--  
我点反审核就报堆栈防护
--  作者:有点蓝
--  发布时间:2021/9/1 10:13:00
--  
datacolchanged没有判断列名:http://www.foxtable.com/webhelp/topics/1522.htm
--  作者:shqpldczj
--  发布时间:2021/9/1 10:24:00
--  
OK,xiexie