易表在线答疑技术与交流用户社区 → [求助]请问我的公式何处出错?


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

主题:[求助]请问我的公式何处出错?

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


加好友 发短信
等级:业余侠客 帖子:374 积分:0 威望:0 精华:0 注册:2006/8/20 23:34:00
[求助]请问我的公式何处出错?  发帖心情 Post By:2007/9/23 21:32:00 [只看该作者]

我在系统中的录入窗口中设置一“重算编号”按钮,其公式如下:
If(usertype < 3,SortCol(GridName,"时间",1) And SortCol(GridName,"日期",1) And RecalcCol("信息","自动编号","自动编号",1) And RecalcCol("信息","a","现场编号",1) And RecalcCol("信息","c","年度序号",1) And MsgBox("计算完毕,请检查!",1,4),MsgBox("你未被授权进行此项操作!",1,4))

请问此公式为何会触发“输入完毕”逻辑列中的操作公式(作判断字段是否填写完整与锁定行用)?

谢谢!!!


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


加好友 发短信
等级:业余侠客 帖子:374 积分:0 威望:0 精华:0 注册:2006/8/20 23:34:00
  发帖心情 Post By:2007/9/23 21:37:00 [只看该作者]

[这个贴子最后由w5cp在 2007/09/23 10:16pm 第 1 次编辑]

因为录入的信息前后达三年之久,今年增加了四列内容,而前两年的数据相应的这四列并无数据,“输入完毕”列中的操作公式是用来判断此四列中的两列数据是否填写完整用的,故在点击按钮时,时不时会对前两年的数据进行验证的情况,出现“数据填写不完整”的提示。
望帮忙解决,谢谢!

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


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

改一下操作公式中的公式吧。
比如在原公式前加个判断,如:
if([日期]<$"2007-01-01",true,原公式)
加这个判断的意思是先对以前的老数据忽略,只判断指定日期后的数据。

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


加好友 发短信
等级:新手上路 帖子:207 积分:0 威望:0 精华:0 注册:2007/7/10 16:20:00
  发帖心情 Post By:2007/9/23 21:48:00 [只看该作者]

将两年前的这四列内容.手工输入"#"等任意不会影响你的数据,又可让判断列接受的符号,可否?


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


加好友 发短信
等级:业余侠客 帖子:374 积分:0 威望:0 精华:0 注册:2006/8/20 23:34:00
  发帖心情 Post By:2007/9/23 21:53:00 [只看该作者]

请问CZY版主:为何我的公式会触发操作公式???
to紫莲花:你的方法不适合我的系统,因为还会涉及到其他问题。
谢谢!!

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


加好友 发短信
等级:业余侠客 帖子:374 积分:0 威望:0 精华:0 注册:2006/8/20 23:34:00
  发帖心情 Post By:2007/9/23 22:02:00 [只看该作者]

If([输入完毕] = -1,If([非职业人员] + [职业人员] <> [涉及车数] Or [涉及车数] <> Aggregate(2,rowsel,26,rowsel,30) Or IsBlank("sgrq") Or IsBlank("路名") Or IsBlank("方向") Or IsBlank("公里数") Or IsBlank("勘查人") Or IsBlank("天气") Or IsBlank("涉及车数") Or IsBlank("事故形态") Or IsBlank("事故原因") Or IsBlank("经济损失") Or IsBlank("车道") Or IsBlank("值班支队") Or IsBlank("值班大队") Or IsBlank("特别情况") Or IsBlank("事故编号") Or IsBlank("结案日期") Or IsBlank("处理人员"),MsgBox("有的项目未填写完整,请检查!",0,4) And SetCellText(GridName,rowsel,"输入完毕",0), True), True) And if([输入完毕] = -1,LockRow(row),UnlockRow(row))

我想了一下,没什么好的方法进行更改,特贴上公式,烦请各高手帮忙看看!


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


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

没看到文件很难做出正确的判断。
很大的原因是你进行重算后,相关列的数据有了改变,而操作公式又是根据这些列来判断的。


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


加好友 发短信
等级:业余侠客 帖子:374 积分:0 威望:0 精华:0 注册:2006/8/20 23:34:00
  发帖心情 Post By:2007/9/23 22:05:00 [只看该作者]

上面这条公式是“输入完毕”列中的验证公式。

另请问我的第一个公式为何会触发此验证公式的?我不是在公式中设置过只重算刷新公式而不重算验证公式了吗?


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


加好友 发短信
等级:业余侠客 帖子:374 积分:0 威望:0 精华:0 注册:2006/8/20 23:34:00
  发帖心情 Post By:2007/9/23 22:12:00 [只看该作者]

下面引用由czy2007/09/23 10:03pm 发表的内容:
没看到文件很难做出正确的判断。
很大的原因是你进行重算后,相关列的数据有了改变,而操作公式又是根据这些列来判断的。

回版主: 2007年前的数据无需对"事故编号"和"结案日期"两列进行判断即可让“输入完毕”列的值设为-1,即锁定本条数据,而2007年后的数据需要此两列内容填写完整后才可锁定,即才能认为输入完毕。

另问:如何在进行重算时能不触发某列的操作公式?


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/9/23 22:28:00 [只看该作者]

1、增加一个变量,在操作公式增加判断,当条件成立(变量的值等于空时),执行操作公式,否则不执行!
2、在您的那个计算公式的最前面给变量赋值,使之不等于空,这样操作公式的判断条件不能成立,就不执行了!
3、同时要在您的那个计算公式的最后面给变量赋值为空,使操作公式的判断条件,在其他情况下能够成立,返回正常执行状态!

 回到顶部
总数 14 1 2 下一页