以文本方式查看主题

-  易表在线答疑  (http://www.egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://www.egrid2000.com/dvbbs/list.asp?boardid=2)
----  加入公式便死机  (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=11267)

--  作者:Kostya
--  发布时间:2008/1/28 13:34:00
--  加入公式便死机
egd文件下载

见附件,想把公式SetVariable("%X%",Cell(2,"行","主窗"))加入订单表的行预处理公式中,当然还有And.....但是无法加进去,在公式编辑时一确定易表就崩溃了,这个公式的错误在哪?为何会出现易表崩溃的情况?


--  作者:Czy
--  发布时间:2008/1/28 13:44:00
--  
函数嵌套,将cell段用表达式变量代替。
--  作者:jweishan
--  发布时间:2008/1/28 13:59:00
--  
这种情况基本上都是由函数嵌套引起的,出了问题先查嵌套问题,不必来回折腾!
--  作者:Kostya
--  发布时间:2008/1/28 14:11:00
--  
引用一段帮助书中的话:

4、那些函数不能互相嵌套
凡是不能互相嵌套的函数,本帮助文件均用红色星号标记出,例如下图中,Instr是不能嵌套的,但是Search和Substitute是可以嵌套的。

所谓不能嵌套,只是这类函数相互之间不能嵌套,但是这些不能互相嵌的套函数可以和其他函数互相嵌套,例如:
Round(Sumfor("订单明细","金额","订单号","= ",[订单]),2)
这个表达式完全可以得到正确的结果。

SetVariable函数没有加红星,应该是可以嵌套的,如果连这个函数都无法嵌套的话,使用起公式来就真的是捉襟见肘了。


--  作者:Kostya
--  发布时间:2008/1/28 14:15:00
--  
请再看文件,在文件预处理公式中有同样的内容,SetVariable("%E1%",Cell(1,"表","主窗")),在这儿为何不会造成死机且计算完全正确?
--  作者:jweishan
--  发布时间:2008/1/28 14:36:00
--  
egd文件下载
--  作者:Kostya
--  发布时间:2008/1/28 15:03:00
--  
楼上的是如何加进去的?我试过仍然出错呀!
--  作者:jweishan
--  发布时间:2008/1/28 15:42:00
--  
1、清空
2、用公式管理器输入,不要手输,不要复制粘贴
3、分段输入:先输入Cell(2,"行","主窗"),执行 True
4、最后SetVariable("%X%",Cell(2,"行","主窗")),执行 True
5、确定
--  作者:sqhht
--  发布时间:2008/6/12 20:11:00
--  能否自动关闭易表文件?
打开一个易表文件,如果打开后,在没有对该文件任何操作10分钟后,自动存盘退出。一旦有操作,重新计时10分钟,然后存盘关闭,能实现吗?请教高手指点!
--  作者:Czy
--  发布时间:2008/6/12 20:21:00
--  
AddTimer
增加一个定时器,按照一定的间隔运行指定的公式。

语法:
AddTimer(Name,Interval,Formula)

Name       增加的定时器名称
Interval   定时器的执行间隔,单位为毫秒,最大为60000,也就是60秒。
Formula    要执行的公式,公式的写法可以参考一下SetColFormula 函数


定时器最长的时间间隔为1分钟,超过1分钟的任务需要用计划管理来执行。

IsChanged
判断自上一次存盘后,某个表是否被修改过,如果不带参数,则可判断当前文件是否被修改过;如果修改过,则返回True,否则返回False

例如:

IsChanged()
判断当前文件是否被修改过。

IsChanged("订单表")
判断订单表是否被修改过。


上面两个函数配合Save和Exit应该可以实现。