以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  可怕的结果!!!???  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=4699)

--  作者:dairh
--  发布时间:2006/11/3 15:19:00
--  可怕的结果!!!???
先用管理员进去,可看到表1有数据,后用user进去,执行奇怪,保存退出,再用管理员进去,表1的数据没了,好可怕。前天的丢失了半天的数据,还好平时有保存!!!
我原来是限user查看表2数据,表2数据用crossfill从表1生成,没想到user点击后差点要我的命。
是BUG吗?????

-=-=-=- 以下内容由 dairh2006年11月03日 03:23pm 时添加 -=-=-=-
上传的文件在2楼
--  作者:dairh
--  发布时间:2006/11/3 15:21:00
--  
egd文件下载

-=-=-=- 以下内容由 dairh2006年11月03日 03:25pm 时添加 -=-=-=-
请各位版主、高手们分析是什么原因
--  作者:wjq1072
--  发布时间:2006/11/3 15:53:00
--  
测试正常。没有奇怪发生啊?
--  作者:gdxhq
--  发布时间:2006/11/3 15:58:00
--  
需要注意的是,CrossFill运行的时候,会删除当前表中的所有数据,表的结构也会根据函数的设置重新生成,所以通常用来对其他表中的数据进行统计。
这是CrossFill函数中的一句解释。
--  作者:pyh6918
--  发布时间:2006/11/3 16:04:00
--  
好象是公式:opengrid("表2") and CrossFill(2,"表1","第一列","第二列","第三列",0)的问题
CrossFill一般用在“填充公式”中,重算全表即可
user无权打开表二,所以在表一中执行crossfill,crossfill执行前清空当前表
--  作者:dairh
--  发布时间:2006/11/3 16:18:00
--  
需要注意的是,CrossFill运行的时候,会删除当前表中的所有数据,表的结构也会根据函数的设置重新生成,所以通常用来对其他表中的数据进行统计。
egd文件下载

-=-=-=- 以下内容由 dairh2006年11月03日 04:19pm 时添加 -=-=-=-
可我是对表2进行操作的??

-=-=-=- 以下内容由 dairh2006年11月03日 04:21pm 时添加 -=-=-=-
user在表1中增加一条记录,执行奇怪,用右上方的X关闭,提示是否保存时,保存,再打开表1数据没了。
若增加记录后,执行奇怪,在输入窗口按保存,则出错后退出???
--  作者:czy
--  发布时间:2006/11/4 0:31:00
--  
这好象没什么好奇怪的,CrossFill参数中是指定一个来源表,并没有指定有接收表的参数,公式执行就是从指定表中提取数据到当前表中。

你的问题是,当用户打开表2受阻,公式中缺少条件进行判断,未阻止CrossFill进行操作引起,所以改成下面的公式应该就没有问题了。

if(opengrid("表2")=true,CrossFill(4,"表1","第一列","第二列","第三列",0),True)