以文本方式查看主题

-  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=7076)

--  作者:老有所乐
--  发布时间:2010/5/11 15:56:00
--  请教 数量*单价等于负数

B列有列表项目“收入”、“支出”,要求当B列为支出时(  [数量]*[单价]=[金额]),[金额]列的数据自动为负数。代码如何表述。

谢谢!

 

[此贴子已经被作者于2010-5-11 16:26:10编辑过]

--  作者:i52117
--  发布时间:2010/5/11 16:01:00
--  
表达式前加负号  “-”
--  作者:狐狸爸爸
--  发布时间:2010/5/11 16:04:00
--  

如果是表达式:

 

IIF([B] = \'支出\', ,[数量]*[单价], -[数量]*[单价])


--  作者:狐狸爸爸
--  发布时间:2010/5/11 16:05:00
--  
提醒: 标题不要简单的“请教”两个字,应该简单描述问题或者问题类型。
[此贴子已经被作者于2010-5-11 16:05:17编辑过]

--  作者:老有所乐
--  发布时间:2010/5/11 16:25:00
--  
谢谢贺老师!马上就改。不是表达式列是数值列。
--  作者:狐狸爸爸
--  发布时间:2010/5/11 16:32:00
--  

DataColChanged事件:

 

Select Case  e.DataCol.Name

    Case "收入", "支出","B"

         If e.DataRow("B") = “支出” Then
             e.DataRow("金额") = -e.DtaRow("数量") * e.DtaRow("单价")

         Else

             e.DataRow("金额") = e.DtaRow("数量") * e.DtaRow("单价")

         End If

End Select


--  作者:老有所乐
--  发布时间:2010/5/11 16:56:00
--  
谢谢贺老师!