以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- [原创]用Eval函数时遇到两种特殊情况的解决办法 (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=26871) |
-- 作者:wjq1072 -- 发布时间:2014/1/15 21:41:00 -- [原创]用Eval函数时遇到两种特殊情况的解决办法 在使用Eval时往往遇到下面两种情况; 1、多重判断会在If后面出现多个“)”。 如;If(aaa,bbb,If(ccc,ddd,If(eee,fff,If(----)))) 解决方法: Eval("---"+中间+"----"+Rept(")",[%数量%])) 2、多次运用替换函数会在前面出现多个“Substitute(”。 如;Substitute(Substitute(Substitute(Substitute(----)----)----)----) 解决方法: Eval(Rept("Substitute(",[%数量%])+"---"+中间+"---") |
-- 作者:iyplx2425 -- 发布时间:2014/1/16 13:11:00 -- [求助]公式 依稀地懂了一点。但下面的一段公式,有几处不明白: Eval(mid(Rept("" And AddRow(GridName,""""名称"""",[名称])"",[数量]-1),5)) 1、红色部分是Rept()函数,是做为mid()函数的第一个参数,应该还有两个参数:即起始位置与字符长度,但这里只有一个参数:“5”。 2、不明白“5”在这里是指什么参数,为什么是5而不是别的。。 3、Eval()函数在这里为什么不是Eval("")的形式,即没有引号。 谢谢。 |
-- 作者:dancedy -- 发布时间:2014/1/16 14:18:00 -- Eval(mid(Rept(" And AddRow(GridName,""名称"",[名称])",2),5))
1.Rept(" And AddRow(GridName,""名称"",[名称])",2) 结果为“ And AddRow(GridName,"名称",[名称]) And AddRow(GridName,"名称",[名称])” mid(“ ",5) 返回从第5个位置之后的所有字符,即“AddRow(GridName,"名称",[名称]) And AddRow(GridName,"名称",[名称])”,去掉了最前面的第一个“and”
2.如第一点所说,参数5是取值以第5个字符为起始位置
3.Eval函数中字符串使用“”,具体计算函数不需引号 |
-- 作者:yanzhen -- 发布时间:2014/1/16 19:36:00 -- 以前曾看到有位版主写了个公式,是从第一行计算到最后行,可以看到光标移动,请教版主如何写? |
-- 作者:iyplx2425 -- 发布时间:2014/1/17 14:00:00 -- [求助]公式 旖旎楼老师的解答。 |
-- 作者:iyplx2425 -- 发布时间:2014/1/17 14:00:00 -- [求助]公式 谢谢3楼老师的解答。 |