以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  复制问题与加试用期  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=3318)

--  作者:linyu
--  发布时间:2006/8/20 15:10:00
--  复制问题与加试用期
问题一:
     请问如何在自己的程序中加入注册信息?就像正式软件一样,不注册就有限制,只有注册才可以正常使用。


问题二:
     请问:为什么在易表中,我将其中一列的内容复制到另一列后,后面的计算公式不自动计算,一定要刷新一次?如:现有一表,其中有四列,每列都是数据型,在最后一列输入一个计算前三列和的公式,在第一列输入1,第二列输入2,最后一列自动计算出是3,但是把第一列的1复制到第三列后,最后一列就还是3,并没有按公式自动计算出结果,如果把左后一列刷才行。这是为什么?


--  作者:chen7806
--  发布时间:2006/8/20 15:17:00
--  
1.不会做.
2.重算列,可以解决问题.
--  作者:ylm
--  发布时间:2006/8/20 15:23:00
--  
问题一可考虑用易表自带的文件授权功能.
--  作者:czy
--  发布时间:2006/8/20 15:26:00
--  
问题二,公式设置得当应该不会出现这种情况。
--  作者:linyu
--  发布时间:2006/8/20 19:14:00
--  
请问怎样设置公式?
egd文件下载
--  作者:lmk
--  发布时间:2006/8/20 19:21:00
--  
给你一段帮助文件中的内容,公式能否自动计算取决于触发条件。
触发条件
刷新公式是自动计算的,但是这个自动计算也是有条件的,只有在相关列的数据被修改后,刷新才会自动计算。例如下图中,只有单价、数量、折扣等相关列的内容被修改后,金额列的内容才会自动刷新。

何谓相关列呢?就是刷新公式引用了该列的数据,而且引用格式为:[列名称],所以对于金额列的刷新公式:
Round([数量] * [单价] * (1 - [折扣]), 2)
数量、单价、折扣三列就是相关列。

对于大多数公式来说,都是直接引用列名称进行计算,无需在这方面进行过多的考虑。但是一些特殊情况下,我们就不得不考虑触发条件了。例如在下面的表中,有A、B、C三列,C列用于记录A列最后一次被修改的时间。易表中返回当前时间的函数是Now()。显然简单地将C列的刷新公式设置为Now()是不行的,因为此时A列不是相关列,修改A列数据后,C列的刷新公式并不会自动计算,为达到目的,我们可以将C列的刷新公式设为:IF([A] = [A],Now(), ""),现在A列就是C列刷新公式的相关列,这样一旦A列数据变化,就会重算C列的刷新公式,由于条件[A] = [A]在任何时候都是成立的,所以A列内容变化后,C列就会自动记录当前时间。

此外,如果用户直接修改某列的内容,也会自动重算该列的刷新公式,所以对于任何一列的刷新公式来说,该列本身也算是一个关联列。