易表在线答疑技术与交流用户社区 → 解决部分函数嵌套问题的方法


  共有6596人关注过本帖树形打印复制链接

主题:解决部分函数嵌套问题的方法

帅哥哟,离线,有人找我吗?
wjq1072
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
解决部分函数嵌套问题的方法  发帖心情 Post By:2013/7/22 10:57:00 [只看该作者]

在执行某个函数的时候,往往需要对于其中的常量用表达式来替代,从而使结果达到“动态效果”。这样就存在了一个函数嵌套问题,而得不到我们需要的正确结果。这时候,解决方法有二个。一、用一个变量来替代这个“表达式”;二、使用Eval来执行这个带“表达式”的函数。前者使用“变量来替代”的方法可以解决大部分问题,但有时可能仍然得不到结果。所以在这里举几个“使用Eval来执行函数”的例子供大家参考。

 

1、精确计算二个日期之间的天数。
DAYSBTW($"2013-2-1",$"2013-3-1") = 28
-----------------------------------------
如果二个日期为表达式取得,就可以使用Eval执行否则无结果:
例如:Eval("DaysBtw($"""+Text(FindText(GridName,"日期","名称","=",[名称],1))+""",$"""+Text(FindText(GridName,"日期","名称","=",[名称],2))+""")")

*注意:其中因为是日期型,所以必须用Text()转换为字符型。
======================================================================

2、返回多个“字符串”中的第几个“字符串”。
Split("中国|广东|湛江","|",2) = "广东"
------------------------------------------
如果多个“字符串”来自表达式,就可以使用Eval执行否则无结果:
例如:Eval("Split("""+ListCols("表1")+""",""|"",2)")
======================================================================

3、在当前表增加一行,对某些列进行赋值。
AddRow(GridName,"第一列,第二列,第三列",1000,0.85,500)
------------------------------------------
进行赋值时(常量字符、数值都没有问题)
a、如果是字符型表达式:
Eval("AddRow(GridName,""第一列,第二列,第三列"","""+Cell(7,"第一列")+""","""+Cell(7,"第二列")+""","""+Cell(7,"第三列")+""")")
b、如果是数值或者日期型表达式:(必须用Text()转换为字符型)
Eval("AddRow(GridName,""第一列,第二列,第三列"","+Text(Cell(7,"第一列"))+","+Text(Cell(7,"第二列"))+","+Text(Cell(7,"第三列"))+")")
======================================================================


 回到顶部
帅哥哟,离线,有人找我吗?
wjq1072
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/7/24 11:43:00 [只看该作者]

呵呵!抛了一块“玉”半块“砖”都没有得到!---------------图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
hao123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:123 积分:1052 威望:0 精华:0 注册:2012/7/19 20:57:00
  发帖心情 Post By:2013/7/24 14:19:00 [只看该作者]

请问一下,易表中对于变量的使用,这个变量的作用域是什么?并发时怎么办?

如网络多人使用,比如说:

我系统中 表A中用到了变量 %日期%
    表B中也用到了变量 %日期%   
                
两人分别同时操作表A和表B,那么这个 %日期% 会共享吗?
再者,两人同时操作表A ,这个 %日期%  会数据共享吗?


易表中的设计原理是什么?

以上,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
lyjzyq
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:359 积分:1875 威望:0 精华:0 注册:2006/8/13 15:28:00
  发帖心情 Post By:2013/7/24 15:58:00 [只看该作者]

感谢版主,总结为,公式中的[,$]等字符不用加引号,其他的表达式包括连接符[+]用三引号括起来(指字符型),如果用text函数转换则用单引号 ,表达式中的单引号不变,原公式中单引号用双引号即可。不知对付请版主指正。
[此贴子已经被作者于2013-7-24 16:00:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hbfnmxb
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:731 积分:4099 威望:0 精华:0 注册:2006/8/29 23:00:00
  发帖心情 Post By:2013/7/24 16:51:00 [只看该作者]

很受用,学习了,虽然有的地方不是太懂,但还是感谢老前辈!!

 回到顶部