以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]EvalFor用法中的一个问题  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=1271)

--  作者:iyplx2425
--  发布时间:2012/3/4 8:07:00
--  [求助]EvalFor用法中的一个问题
我用EvalFor(GridName,"k1","[k1] * [出勤率]")对[k1]列进行重算,[k1]与[出勤率]都是设置的“数值”型,为什么弹出提示说数据类型不匹配啊?谢谢!
--  作者:iyplx2425
--  发布时间:2012/3/4 9:50:00
--  
这个公式是用于[k1]的刷新。是不是不能这样用啊?
--  作者:zsjtm339
--  发布时间:2012/3/4 10:03:00
--  
EvalFor(GridName,"k1","[k1] * [出勤率]")
你没有设重算条件
--  作者:wjq1072
--  发布时间:2012/3/4 10:33:00
--  
下面引用由iyplx24252012/03/04 09:50am 发表的内容:
这个公式是用于的刷新。是不是不能这样用啊?

是的,不能这样使用!
--  作者:iyplx2425
--  发布时间:2012/3/4 12:32:00
--  
还有一个问题请教:为[班次类别]设置刷新公式:if([上班时间]=$"08:00:00","白班","晚班")。[班次类别]为字符型,[上班时间]为时间型。但被提示列的类型设置不正确。请教为什么。谢谢。
--  作者:iyplx2425
--  发布时间:2012/3/4 12:35:00
--  
这个问题提急了,是我自己的问题,时间没有用$""。不好意思。
--  作者:wjq1072
--  发布时间:2012/3/4 12:42:00
--  
EvalFor(GridName,"k1","[k1] * [出勤率]")

1、这样的公式不能用于刷新公式;
2、就算你设置"k1"列的刷新公式为:[k1] * [出勤率]也是有问题的。
"k1"列的值随着重算就会发生变化!
3、你把EvalFor(GridName,"k1","[k1] * [出勤率]")设置成按钮公式也同样出现2的问题。


--  作者:iyplx2425
--  发布时间:2012/3/4 15:49:00
--  
老师的意思是不能用本列的数据对本列进行重算吧?运用evalfor()、rond()等函数时经常会遇到数据类型的问题,不知有什么通则没有?
--  作者:wjq1072
--  发布时间:2012/3/4 16:02:00
--  
1、正确设置列的属性;
2、注意使用表达式取得的数据“属性”!
比如:
FindRow(GridName,"列","=",[列])----数值(返回的是行号)
FindText(GridName,"列1","列","=",[列])---决定于"列1"(返回的是"列1"的内容)
--  作者:iyplx2425
--  发布时间:2012/3/4 17:06:00
--  
这个我都仔细检查过了的。