以文本方式查看主题 - 易表在线答疑 (http://www.egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://www.egrid2000.com/dvbbs/list.asp?boardid=2) ---- [求助]请教如何将本月没抄到表的“上月抄表数值”引用到“本月抄表数值”中? (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=9349) |
-- 作者:tzszw -- 发布时间:2007/8/22 0:32:00 -- [求助]请教如何将本月没抄到表的“上月抄表数值”引用到“本月抄表数值”中? 我有一个水费抄表系统,其中有一个问题总是解决不好,可能是我的思路不是太正确。 事情是这样的: JB有专门用于存放用水客户的基本信息,包括1-12月抄表数据(呵呵,这个1-12的抄表数据分别存放在"抄见11月"至"抄见22月"列中,列的定义有点与众不同喔,其实是当月数值+10,即7月份对应“抄见17月”,8月份对应“抄见18月”); 每月用掌上抄表机将抄好的水表数(下载到计算机中后存放在 rcesfk 表中,其中两列 "SQ"、"BQ"分别代表抄见的“上期数”和“本期数”)转入计算机系统中更新JB表的"抄见11月"至"抄见22月中相关列。即: 现在本月从掌上机上下载的数据我已能成功将其与JB表中对应列进行交换了,但本月未抄到的记录(因为成千上万的用户每月分单、双月抄表的),在JB表中,当月未抄到的数值(“抄见XX月”)要求用上月的抄见数据(“抄见XX-1月”)来代替,即本月为8月份,如李四本月(8月)未抄到表,则李四的“抄见18月”的列值要用李四的“抄见17月”的数值来填写,每月未少到的用户其“本月抄见”(抄见XX月)均要用其上月的抄见列值(抄见XX-1月)来填写,就这一步我不知怎么写? |
-- 作者:czy -- 发布时间:2007/8/22 0:53:00 -- 下面引用由tzszw在 2007/08/22 00:32am 发表的内容: 现在本月从掌上机上下载的数据我已能成功将其与JB表中对应列进行交换了 想看看你的这个公式 |
-- 作者:Czy -- 发布时间:2007/8/22 0:57:00 -- 补充2楼. 确切的说应该是从rcesfk 表中将"SQ"、"BQ"列中的数据转换到jb表对应列中的公式. |
-- 作者:程兴刚 -- 发布时间:2007/8/22 0:59:00 -- 个人认为: 第一:如果当月用户数没有抄表的话,该用户当月的超表数数值应该为0(除非超表机保存并引用了电表上月的底数,按照您的叙述是不可能存在这一点) 将公式中的本月换成您的当前月试试看!(最好给个文件看看,我是在瞎蒙) |
-- 作者:tzszw -- 发布时间:2007/8/22 1:15:00 -- [这个贴子最后由tzszw在 2007/08/23 08:01am 第 1 次编辑] 我将文件上传了,省得大家不太清楚。 呵呵,文件大了点,已清了密码egd文件下载 |
-- 作者:tzszw -- 发布时间:2007/8/22 1:19:00 -- 下面引用由czy在 2007/08/22 00:53am 发表的内容: 想看看你的这个公式 这个公式在MGHA表的“数据接收处理”窗口的“数据接收”按钮中!是用EvalFor("jb",[%本月抄见%],"[RECESFK!BQ]","shx","=",-1) and EvalFor("jb",[%上月抄见%],"[RECESFK!SQ]","shx","=",-1)来实现的。 |
-- 作者:tzszw -- 发布时间:2007/8/22 1:21:00 -- 下面引用由czy在 2007/08/22 00:57am 发表的内容: 补充2楼. 确切的说应该是从rcesfk 表中将"SQ"、"BQ"列中的数据转换到jb表对应列中的公式. 这一部分的处理与你讲的基本一致。 |
-- 作者:Czy -- 发布时间:2007/8/22 1:23:00 -- 帮你做一个,另一个你自己能行: EvalFor("jb",[%上月抄见%],"if([RECESFK!SQ]>0,[RECESFK!SQ],eval(""[抄见""+text(Number(Substitute(Substitute([%上月抄见%],""抄见"",""""),""月"",""""))-1)+""月]""))","shx","=",-1) |
-- 作者:tzszw -- 发布时间:2007/8/22 1:37:00 -- [quote]下面引用由程兴刚在 2007/08/22 00:59am 发表的内容: 个人认为: 程兴刚问/第一:如果当月用户数没有抄表的话,该用户当月的超表数数值应该为0(除非超表机保存并引用了电表上月的底数,按照您的叙述是不可能存在这一点) TZSZW答/:从电脑上发到抄表机上的数据是有上月示数(见sendsfk表的SQ,实际应为发送到掌上机时的当月的“上月示数”)和本月示数的(见sendsfk表的BQ,这个示数从电脑上发上去时为0,因为是等抄表员去抄好了填上去的)
TZSZW问:程兄啊,这个是动态设置刷新公式呀?是不是指:如果本月没抄到就用上个月的,否则用本月的,然后重算一下,然后再将设置的刷新公式清除了?
|
-- 作者:tzszw -- 发布时间:2007/8/22 1:42:00 -- 下面引用由czy在 2007/08/22 01:23am 发表的内容: 帮你做一个,另一个你自己能行: EvalFor("jb",,"if(>0,,eval("",""抄见"",""""),""月"","""") ... CZY老师你好!另一个应是: EvalFor("jb",[%本月抄见%],"if([RECESFK!BQ]>0,[RECESFK!BQ],eval(""[抄见""+text(Number(Substitute(Substitute([%上月抄见%],""抄见"",""""),""月"","""")))+""月]""))","shx","=",-1)吧?
|