以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]就算问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114380)

--  作者:cool314156
--  发布时间:2018/2/5 9:56:00
--  [求助]就算问题
表事件DataColChanged的代码设置为

If e.DataCol.Name = "出库数量" Then
    If e.DataRow.IsNull("出库数量") Then
        e.DataRow("库存数量") = e.DataRow("入库数量")    
Else
     e.DataRow("库存数量") = e.DataRow("库存数量")-e.DataRow("出库数量")                                     
            
    End If
End If

试了试,结果出库数量是空值的时候,库存数量没有=入库数量,出库数量有数值的时候,才会发生 库存数量-出库数量
请问下,我错在哪里了

[此贴子已经被作者于2018/2/5 9:56:36编辑过]

--  作者:有点甜
--  发布时间:2018/2/5 10:00:00
--  

改成这样测试,看弹出什么。你的出库数量列不能是表达式列。

 

msgbox(e.datacol.name)

If e.DataCol.Name = "出库数量" Then
msgbox(3)
    If e.DataRow.IsNull("出库数量") Then
msgbox(1)
        e.DataRow("库存数量") = e.DataRow("入库数量")    
Else
msgbox(2)
     e.DataRow("库存数量") = e.DataRow("库存数量")-e.DataRow("出库数量")                                     
    End If
End If

 

 


--  作者:有点甜
--  发布时间:2018/2/5 10:01:00
--  

如果你用表达式,参考 http://www.foxtable.com/webhelp/scr/0602.htm

 


--  作者:cool314156
--  发布时间:2018/2/5 10:19:00
--  
没有用表达式列,
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180205102013.png
图片点击可在新窗口打开查看
试了试就弹出这个
[此贴子已经被作者于2018/2/5 10:19:04编辑过]

--  作者:有点甜
--  发布时间:2018/2/5 10:21:00
--  

msgbox(e.datacol.name)

If e.DataCol.Name = "出库数量" orelse e.DataCol.Name = "入库数量" Then
msgbox(3)
    If e.DataRow.IsNull("出库数量") Then
msgbox(1)
        e.DataRow("库存数量") = e.DataRow("入库数量")    
Else
msgbox(2)
     e.DataRow("库存数量") = e.DataRow("库存数量")-e.DataRow("出库数量")                                     
    End If
End If

--  作者:cool314156
--  发布时间:2018/2/5 10:30:00
--  
谢谢了,解决了