易表在线答疑技术与交流用户社区 → 请教一下,如何设定刷新公式防止输入编号重复


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

主题:请教一下,如何设定刷新公式防止输入编号重复

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


加好友 发短信
等级:论坛游民 帖子:52 积分:0 威望:0 精华:0 注册:2008/4/15 9:22:00
  发帖心情 Post By:2008/6/13 14:00:00 [只看该作者]

我之前把文件都上传了,但是没有人理我,我不知道还可以怎么样提问。egd文件下载

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2008/6/13 14:29:00 [只看该作者]

我不知道你文件中速度的具体表现,不过有些地方还是可以提高速度的。
以“超欠产工资”表[1_超产]列刷新公式为例:

if(FindText("总表","超产","姓名", "=" ,[姓名],"日期", "=" ,[1_日期])<>0,FindText("总表","超产","姓名", "=" ,[姓名],"日期", "=" ,[1_日期]),"")

此公式的意思是先判断总表中有没有符合条件的值,如果有值则进行统计,无值则为零。

这样一来,这列的刷新公式就要计算两次才能出结果(一次判断,一次求值),我在想这个公式为什么不能直接这样呢?

FindText("总表","超产","姓名", "=" ,[姓名],"日期", "=" ,[1_日期])

也许你会说,这样的结果不是我想要的,因为如果目标数据是0零,我不想在这个表中出现0零,所以才用了这样的公式。

如果是这样,不妨跟我做一下,打开这个表,点行列标题交错左上角(靠序号列左侧)选中全表,点击编辑菜单,点击清零。
将焦点移到[1_超产]列,点击列菜单,编辑设置,在显示零值前打勾。

经过上述操作后,因为少了一个统计判断,我想速度应该会好一些吧?


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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2008/6/13 14:31:00 [只看该作者]

我不知道你文件中速度慢的具体表现,不过有些地方还是可以提高速度的。
以“超欠产工资”表[1_超产]列刷新公式为例:

if(FindText("总表","超产","姓名", "=" ,[姓名],"日期", "=" ,[1_日期])<>0,FindText("总表","超产","姓名", "=" ,[姓名],"日期", "=" ,[1_日期]),"")

此公式的意思是先判断总表中有没有符合条件的值,如果有值则进行统计,无值则为空。

这样一来,这列的刷新公式就要计算两次才能出结果(一次判断,一次求值),我在想这个公式为什么不能直接这样呢?

FindText("总表","超产","姓名", "=" ,[姓名],"日期", "=" ,[1_日期])

也许你会说,这样的结果不是我想要的,因为如果目标数据是0零,我不想在这个表中出现0零,所以才用了这样的公式。

如果是这样,不妨跟我做一下,打开这个表,点行列标题交错左上角(靠序号列左侧)选中全表,点击编辑菜单,点击清零。
将焦点移到[1_超产]列,点击列菜单,编辑设置,在显示零值前打勾。

经过上述操作后,因为少了一个统计判断,我想速度应该会好一些吧?


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


加好友 发短信
等级:论坛游民 帖子:52 积分:0 威望:0 精华:0 注册:2008/4/15 9:22:00
  发帖心情 Post By:2008/6/13 14:57:00 [只看该作者]

版主,我现在最大的问题是在“总表”输入“工号”的时候(它是联接了“工资制度”这份表的),它跳出对应“工号”的姓名时好慢好慢呀,要等上一分钟才跳出结果,致于你上面所提到的我一定会试试看是否会加快“超欠产工资”工作簿的速度的,请帮帮我吧,我现在头都痛了!

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


加好友 发短信
等级:论坛游民 帖子:52 积分:0 威望:0 精华:0 注册:2008/4/15 9:22:00
  发帖心情 Post By:2008/6/13 15:00:00 [只看该作者]

在“总表”里面“络筒”的部分如果我删除了,再输入“工号”的话运行是很快的,一加上“络筒”部分马上就慢,但是“络筒”是不可以删除的,我怎么办呀?

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2008/6/13 18:10:00 [只看该作者]

354列,大部分都有刷新公式,差不多每列都以“工资制度”为条件,一旦输入工号将触动所有以“工资制度”为条件的刷新公式,这样的速度肯定快不了。

有一个建议,在所有以“工资制度”列为条件的刷新公式中再增加一个条件,或许速度会有所改观。

以[络筒_络筒1_20S补贴1]列公式为例,将其改成:

if([络筒_络筒1_支别]<=0,"",round(if([工资制度]="旧" and [络筒_络筒1_支别]=20,(23.16*[络筒_络筒1_8时坏锭]+23.16/8*[络筒_络筒1_坏锭1]*[络筒_络筒1_停台时1])*1.93/100*0.4,if([工资制度]="新" and [络筒_络筒1_支别]=20,(23.16*[络筒_络筒1_8时坏锭]+23.16/8*[络筒_络筒1_坏锭1]*[络筒_络筒1_停台时1])*1.71/100*0.4,"")),2))

其它类似,自己试试吧。


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


加好友 发短信
等级:论坛游民 帖子:52 积分:0 威望:0 精华:0 注册:2008/4/15 9:22:00
  发帖心情 Post By:2008/6/14 8:50:00 [只看该作者]

谢谢了,我现在就试试,终于等到有建设性的回答了,谢谢版主!万分感谢噢!证明版主真的花了时间去看我的文件了,才能提到那么有建设性的意见,对你的敬业,我表示感激!

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


加好友 发短信
等级:论坛游民 帖子:52 积分:0 威望:0 精华:0 注册:2008/4/15 9:22:00
  发帖心情 Post By:2008/6/14 10:09:00 [只看该作者]

我按版主的意见改了公式,但是速度还是慢得让人接受不了,不知道怎么办才好,我还可以怎么样做呢?

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


加好友 发短信
等级:论坛游民 帖子:52 积分:0 威望:0 精华:0 注册:2008/4/15 9:22:00
  发帖心情 Post By:2008/6/14 10:17:00 [只看该作者]

egd文件下载
更改后的文件

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


加好友 发短信
等级:论坛游民 帖子:101 积分:124 威望:0 精华:0 注册:2006/8/14 1:01:00
  发帖心情 Post By:2008/6/14 10:59:00 [只看该作者]

我以前也有过类似的问题,
最后我加了一个按钮,就是输入工号后,再加入络筒部分的公式,输入多个工号后再一起计算络筒部分,虽然不能提高速度,但输入时不用等
楼主能不能用这种方式

-=-=-=- 以下内容由 抽烟男人2008年06月14日 11:36am 时添加 -=-=-=-
留太多空白行,可能也会影响速度

-=-=-=- 以下内容由 抽烟男人2008年06月14日 11:48am 时添加 -=-=-=-
SetColFormula("总表","工资制度","[工资制度!工资制度]") And RecalcRow("总表",FindRow("总表","工资制度", "=" ,""),rows) And SetColFormula("总表","工资制度","")

-=-=-=- 以下内容由 抽烟男人2008年06月14日 01:09pm 时添加 -=-=-=-
RecalcRow("总表",FindRow("总表","工资制度", "=" ,""),rows) And SetColformula("总表","工资制度","")
这一节不能执行,可能是函数嵌套问题
增加一个变量

 回到顶部
总数 25 上一页 1 2 3 下一页