以文本方式查看主题

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

--  作者:foxstudent
--  发布时间:2012/2/9 20:04:00
--  [求助]表达式列参与数据列计算

有“表1”和“表2”通过编号关联,“表2”的A、B、C列是表达式列,其值都来源于关联表1,“表2”有D列是数据列,根据ABC的值计算得出,ABC都是表达式列,D列的值不能通过Datecolchanged事件触发,因D列的值要在sql查询里用到,不能用表达式列,请问有什么方法来触发D列计算呢?

或者我不该把ABC设为表达式列,只能通过代码来赋值?


--  作者:czy
--  发布时间:2012/2/9 20:35:00
--  

If e.DataCol.Name = "编号" Then

计算代码

end if

 

这样试试。


--  作者:foxstudent
--  发布时间:2012/2/9 20:43:00
--  
以下是引用czy在2012-2-9 20:35:00的发言:

If e.DataCol.Name = "编号" Then

计算代码

end if

 

这样试试。

谢谢C版,这样做虽然会计算,但是如果我在“表1”中修改了ABC中任意一个值的话,不会触发D列计算的,而“编号”列一般是不会修改的。


--  作者:czy
--  发布时间:2012/2/9 20:54:00
--  
看看RaiseDataColChanged
--  作者:foxstudent
--  发布时间:2012/2/9 22:15:00
--  
以下是引用czy在2012-2-9 20:54:00的发言:
看看RaiseDataColChanged

谢谢!我加了个按钮,用RaiseDataColChanged 事件可以了


--  作者:czy
--  发布时间:2012/2/9 23:36:00
--  
不需用按钮的,直接在DataColChanged事件中判断A、B、C取值列的变化进行重置关联表中对应行就行了。