以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- [求助]想请教CZY教师为何数据不能成功转移? (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=9316) |
-- 作者:tzszw -- 发布时间:2007/8/21 22:44:00 -- [求助]想请教CZY教师为何数据不能成功转移? 我的系统中有多个表,其中 SF、JB和MGHA三个重要表,由于不想在有之间不断切换引起屏幕大幅闪动,因此在 MGHA 表的窗口上参照CZY老师的公式做了一个按钮,想达到将 JB 表中符合条件的记录(两个逻辑型列"SHX"、"本月抄见"都要被打钩,即都=-1)追加到 SF 表中,但运行后没见到数据追加成功,不知何故,想请教一下问题出在哪了? 公式中下: if(MsgBox("已计算的应收水费要转入收费库才能纳入正常收费,你确信将应收水费数据转入收费库吗?",2,4)=true,SetLabel("","正在将应收水费转入收费库!请稍候...") And AddRow("sf",1) And EvalFor("sf",1,"AppendRows(""jb"",""shx"",""="",""-1"",""本月抄见"",""="",""-1"")"",)",[sf!Rows],[sf!Rows])and DelFor("sf","新户号","=","")and EvalFor("jb","bz9","-1","shx","=",-1,"bz9","=",0,"所属期限","=",format(today(),"yyyy-mm")) and SetLabel("","应收水费已转入收费库纳入正常收费!") |
-- 作者:Czy -- 发布时间:2007/8/21 22:52:00 -- EvalFor("sf",1,"AppendRows(""jb"",""shx"",""="",""-1"",""本月抄见"",""="",""-1"")",[sf!Rows],[sf!Rows]) -=-=-=- 以下内容由 Czy 在 2007年08月21日 10:53pm 时添加 -=-=-=- 比较一下这段公式有什么不同? |
-- 作者:smileboy -- 发布时间:2007/8/21 22:58:00 -- evalfor语句也可以用import代替试试 |
-- 作者:tzszw -- 发布时间:2007/8/21 23:07:00 -- 下面引用由czy在 2007/08/21 10:52pm 发表的内容: EvalFor("sf",1,"AppendRows(""jb"",""shx"",""="",""-1"",""本月抄见"",""= ... 好象是在这出了问题:CZY老师的为"",""本月抄见"",""="",""-1"")",[sf!Rows],[ 而我的为:"",""本月抄见"",""="",""-1"")"",)",[sf!Rows],[ 多了 ",)" 请问CZY老师是不是呀? 谢谢! |
-- 作者:Czy -- 发布时间:2007/8/21 23:08:00 -- 没错。
|
-- 作者:tzszw -- 发布时间:2007/8/21 23:26:00 -- 呵呵,这个EvalFor的复杂应用确实绕得人头疼、头大。 |
-- 作者:smileboy -- 发布时间:2007/8/21 23:39:00 -- 仔细看看语法,很容易理解 |
-- 作者:Czy -- 发布时间:2007/8/21 23:41:00 -- 呵呵,可能你还没找到方法吧。 还是以上的公式,你可以这么写。 EvalFor("表名称","指定列","指定公式","比较列","比较方式","比较值") 写出要执行的公式: |
-- 作者:程兴刚 -- 发布时间:2007/8/22 0:13:00 -- 学习了! |
-- 作者:tzszw -- 发布时间:2007/8/22 0:20:00 -- 喔,原是这样的,谢谢CZY老师讲得这么详细。我曾经有一段时间也按照你的思路做成功的,但由于没深入理解,总体上是有时成功,有时失败。 看来要按常规先写出公式,再代替进去就应该能成功了。 再次谢谢CZY和smileboy两位老师。 在这个系统中,我还有一个问题总是解决不好,可能是我的思路不是太正确。 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月)来填写,就这一步我不知怎么写? |