以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表达式列 在 datacolchanged事件中无效 ,如何解决呢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27782)

--  作者:夕然
--  发布时间:2013/1/10 0:51:00
--  [求助]表达式列 在 datacolchanged事件中无效 ,如何解决呢
我有个列必须要用表达式,因为这个列属于子表的统计数据;
我希望这个数据发生变化的时候,本表的另外一个备注列会自动更新,于是
写了这样的代码

Select Case e.DataCol.Name
    Case "消费金额","折后金额"
        If e.DataRow.IsNull("消费金额")  Then
            e.DataRow("备注") = Nothing
        Else
            e.DataRow("备注") = Date.Today &  "消费了"  &  e.DataRow("折后金额") & "元"
        End If
End Select

消费金额和折后金额均为表达式,我需要怎么处理才能生效呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表达式不能生效.table


--  作者:y2287958
--  发布时间:2013/1/10 7:17:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表达式不能生效.table


--  作者:夕然
--  发布时间:2013/1/10 10:42:00
--  
感谢 Y2287958!
现在这个糊涂结才算打开
本来是想用关联表的表达式省事的,结果发现
用表达式统计子表数据,只能引用父表数据;
所以千辛万苦的做成子表,却没有想到 表达式却不能作为关联列,郁闷了
还是别偷懒,如果简单的就用表达式,稍微复杂一点的就用编码compute,这样不会出错呢

--  作者:y2287958
--  发布时间:2013/1/10 11:06:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表达式不能生效.table

你搞错了,这个不需要用compute的,您再看看。
--  作者:狐狸爸爸
--  发布时间:2013/1/10 13:22:00
--  

这个问题,帮助有说明的:

http://www.foxtable.com/help/topics/2381.htm

 


--  作者:夕然
--  发布时间:2013/1/11 22:39:00
--  
yy2287958
感谢您的热心回复。
我还本以为您是通过用compute才是替换掉原来表达式的,原来是find的功劳。
现在明白了,在关联表中,无论想要引用或者往想关联的表中填入数据,用最间的find都能解决