易表在线答疑技术与交流用户社区 → [求助]请教如何将本月没抄到表的“上月抄表数值”引用到“本月抄表数值”中?


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

主题:[求助]请教如何将本月没抄到表的“上月抄表数值”引用到“本月抄表数值”中?

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/8/22 0:59:00 [显示全部帖子]

个人认为:

     第一:如果当月用户数没有抄表的话,该用户当月的超表数数值应该为0(除非超表机保存并引用了电表上月的底数,按照您的叙述是不可能存在这一点)
     第二:如果第一点成立,直接在您导入数据的按钮公式后面加上这段公式看看:SetColformula("JB","抄见本月","If([抄见本月] = 0,[抄见本月-1月],抄见本月])") AndRecalcCol("JB","抄见本月") And SetColformula("JB","抄见本月","")

    将公式中的本月换成您的当前月试试看!(最好给个文件看看,我是在瞎蒙)


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/8/22 1:55:00 [显示全部帖子]

[这个贴子最后由程兴刚在 2007/08/22 02:28am 第 1 次编辑]

呵呵,有版主在,您的当前肯定能解决,就请版主多费心吧!

     我是那个意思,我当时想,您的当前数据处理到JB表以后,原表的数据要删除,所以就没有必要处理源表了,JB表当月未读到的数值肯定为0,那就直接判断它的零值就可以了,况且,如果是当月月末之前处理的话,那个抄见本月可以直接用:Eval("[抄见" + format(today(),"yyyy-mm") + "月]")替换就可以了!


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/8/22 2:40:00 [显示全部帖子]

呵呵, tzszw 老兄啊,我没敢下手,一直在学习,其实,绕来绕去,您把数据调用到JB表以后,未读表的用户当月数据还是为零,这样的话就在JB表判断并调用JB表的上月数据不是一样的吗?

-=-=-=- 以下内容由 程兴刚2007年08月22日 02:42am 时添加 -=-=-=-
您完全先把所有数据调进JB表再判断处理,何必非得要绕得晕头转向的呢?

-=-=-=- 以下内容由 程兴刚2007年08月22日 02:46am 时添加 -=-=-=-
if([RECESFK!BQ]>0,实际也就是判断您调入到JB表的当月数据大于0,利用刷新公式一样可以解决的嘛!

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/8/22 3:08:00 [显示全部帖子]

当然是在您的那个处理数据到JB表的按钮里,您的JB表的所有列都可以设置这个刷新公式,但数据备处理到JB表后,等于0的记录就自动引用上一列的数据,之所以要动态设置刷新公式并在计算后清除,是防止在手工设置时该列都为0值,所有记录都会引用前一月的数据,清空是为了将来每年度格式化系统后还能正常使用!

-=-=-=- 以下内容由 程兴刚2007年08月22日 03:09am 时添加 -=-=-=-
如果您本来有刷新公式,最后替换成您的公式就可以了!

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/8/23 20:27:00 [显示全部帖子]

由于表和公式太复杂,一时理不清头绪,第一个问题没看明白,第二个问题建议这样:

第一:建立两个变量:一个逻辑性变量和一个数值型变量;
第二:在窗口增加一个定时器;
第三:公式设置方法和和执行原理:
      1、用您的那个按钮给逻辑型变量赋值为-1,同时给数字型变量赋值为[%变量%]+1,定时器执行间隔为1秒,判断逻辑型变量的值等于-1,
      2、然后再用if()函数嵌套判断数值型变量等于1,执行第一段公式及其提示,数值型变量的值为2,执行您的第二段公式...........以次类推,直到全部公式执行完毕,
      3、您的最后执行的那条公式后面给两个变量分别赋值为初始状态的0值,当定时器判断逻辑值的变量不为-1时,所有公式皆不执行,必须在您下一次点击按钮后,逻辑值的变量再次为-1,定时器判断条件成立,再继续执行!
      4、在第三条里面,有个关键的问题,您就可以自己控制每一条公司的间隔时间,因为定时器每秒给变量赋值[%变量%]+1,假如说您的第一条公式执行太慢,您的第二个判断可以直接判断数值型变量的值等于3或者是4、5、6、7、8.......才执行下一条公式,以此类推,间隔时间根据您自己的调试把握!

         这其实是用按钮来启动定时器,是定时器在根据不同的时间长短来执行公式,我的那个工程造价系统的数据库处理的提示窗口就是这样处理的!


 回到顶部