以文本方式查看主题

-  易表在线答疑  (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=5279)

--  作者:流光
--  发布时间:2006/12/3 15:56:00
--  帮忙改一下这个公式。
“未缴费记录”和“用户信息”表已“电话号码”相关联。

检查“未缴费记录”中所有记录的“话费合计”值有没有小于等于“用户信息”表中相对应记录的“预缴费余额”的记录,如果没有则提示“没有需要处理的数据!”如果有就执行下面的公式。

AddCol("未缴费记录","X",3,False) And EvalFor("未缴费记录","X","[用户信息!预缴费余额]>[话费合计]") And AppendRows("未缴费记录","X","=",-1) And EvalFor(Grid,"上次余额","if(text([处理日期])="""",FindText(""用户信息"",""预缴费余额"",""电话号码"",""="",[电话号码]),[上次余额])") And EvalFor(Grid,"处理日期","if(text([处理日期])="""",today(),[处理日期])") And EvalFor(Grid,"操作员","if([操作员]="""",username,[操作员])") And DelFor(Grid,"电话号码","=","") And RecalcCol("本次余额") And EvalFor("用户信息","处理日期","if(text([处理日期])="""",[预缴费批处理!处理日期],if(Number([处理日期])<Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1),[处理日期]))")And EvalFor("用户信息","预缴费余额","if(text([处理日期])="""",[预缴费余额],if(Number([处理日期])<=Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""本次余额"",""电话号码"",""="",[电话号码],-1),[预缴费余额]))") And DelFor("未缴费记录","X","=",-1) And DeleteCol("未缴费记录","X") And CopyRows("预缴费历史数据") And RecalcGrid("预缴费历史数据") and cleargrid("预缴费批处理") And MsgBox("操作完毕!",0)


--  作者:czy
--  发布时间:2006/12/3 16:07:00
--  
AddCol("未缴费记录","X",3,False) And EvalFor("未缴费记录","X","[用户信息!预缴费余额]<=[话费合计]") And if(FindRow("未缴费记录","X","=",-1)=0,MsgBox(没有需要处理的数据!",0)And DeleteCol("未缴费记录","X"),EvalFor("未缴费记录","X","[用户信息!预缴费余额]>[话费合计]") And AppendRows("未缴费记录","X","=",-1) And EvalFor(Grid,"上次余额","if(text([处理日期])="""",FindText(""用户信息"",""预缴费余额"",""电话号码"",""="",[电话号码]),[上次余额])") And EvalFor(Grid,"处理日期","if(text([处理日期])="""",today(),[处理日期])") And EvalFor(Grid,"操作员","if([操作员]="""",username,[操作员])") And DelFor(Grid,"电话号码","=","") And RecalcCol("本次余额") And EvalFor("用户信息","处理日期","if(text([处理日期])="""",[预缴费批处理!处理日期],if(Number([处理日期])<Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1),[处理日期]))")And EvalFor("用户信息","预缴费余额","if(text([处理日期])="""",[预缴费余额],if(Number([处理日期])<=Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""本次余额"",""电话号码"",""="",[电话号码],-1),[预缴费余额]))") And DelFor("未缴费记录","X","=",-1) And DeleteCol("未缴费记录","X") And CopyRows("预缴费历史数据") And RecalcGrid("预缴费历史数据") and cleargrid("预缴费批处理") And MsgBox("操作完毕!",0)
)
--  作者:流光
--  发布时间:2006/12/3 19:17:00
--  
系统提示:“表达式中存在语法错误!”

原来的公式没问题。


--  作者:ylm
--  发布时间:2006/12/3 19:23:00
--  
试试这个:

AddCol("未缴费记录","X",3,False) And EvalFor("未缴费记录","X","[用户信息!预缴费余额]<=[话费合计]") And if(FindRow("未缴费记录","X","=",-1)=0,MsgBox("没有需要处理的数据!",0)And DeleteCol("未缴费记录","X"),EvalFor("未缴费记录","X","[用户信息!预缴费余额]>[话费合计]") And AppendRows("未缴费记录","X","=",-1) And EvalFor(Grid,"上次余额","if(text([处理日期])="""",FindText(""用户信息"",""预缴费余额"",""电话号码"",""="",[电话号码]),[上次余额])") And EvalFor(Grid,"处理日期","if(text([处理日期])="""",today(),[处理日期])") And EvalFor(Grid,"操作员","if([操作员]="""",username,[操作员])") And DelFor(Grid,"电话号码","=","") And RecalcCol("本次余额") And EvalFor("用户信息","处理日期","if(text([处理日期])="""",[预缴费批处理!处理日期],if(Number([处理日期])<Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1),[处理日期]))")And EvalFor("用户信息","预缴费余额","if(text([处理日期])="""",[预缴费余额],if(Number([处理日期])<=Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""本次余额"",""电话号码"",""="",[电话号码],-1),[预缴费余额]))") And DelFor("未缴费记录","X","=",-1) And DeleteCol("未缴费记录","X") And CopyRows("预缴费历史数据") And RecalcGrid("预缴费历史数据") and cleargrid("预缴费批处理") And MsgBox("操作完毕!",0)
)


-=-=-=- 以下内容由 ylm2006年12月03日 07:24pm 时添加 -=-=-=-
这种公式,要配合文件一起才好测试的.


--  作者:czy
--  发布时间:2006/12/3 19:25:00
--  
AddCol("未缴费记录","X",3,False) And EvalFor("未缴费记录","X","[用户信息!预缴费余额]<=[话费合计]") And if(FindRow("未缴费记录","X","=",-1)=0,MsgBox("没有需要处理的数据!",0)And DeleteCol("未缴费记录","X"),EvalFor("未缴费记录","X","[用户信息!预缴费余额]>[话费合计]") And AppendRows("未缴费记录","X","=",-1) And EvalFor(Grid,"上次余额","if(text([处理日期])="""",FindText(""用户信息"",""预缴费余额"",""电话号码"",""="",[电话号码]),[上次余额])") And EvalFor(Grid,"处理日期","if(text([处理日期])="""",today(),[处理日期])") And EvalFor(Grid,"操作员","if([操作员]="""",username,[操作员])") And DelFor(Grid,"电话号码","=","") And RecalcCol("本次余额") And EvalFor("用户信息","处理日期","if(text([处理日期])="""",[预缴费批处理!处理日期],if(Number([处理日期])<Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1),[处理日期]))")And EvalFor("用户信息","预缴费余额","if(text([处理日期])="""",[预缴费余额],if(Number([处理日期])<=Number(FindText(""预缴费批处理"",""处理日期"",""电话号码"",""="",[电话号码],-1)),FindText(""预缴费批处理"",""本次余额"",""电话号码"",""="",[电话号码],-1),[预缴费余额]))") And DelFor("未缴费记录","X","=",-1) And DeleteCol("未缴费记录","X") And CopyRows("预缴费历史数据") And RecalcGrid("预缴费历史数据") and cleargrid("预缴费批处理") And MsgBox("操作完毕!",0))
--  作者:gdlgh
--  发布时间:2006/12/3 19:35:00
--  
呵。无一定的想象力都难做呀!佩服两位!!
--  作者:smileboy
--  发布时间:2006/12/3 19:51:00
--  
下面引用由gdlgh2006/12/03 07:35pm 发表的内容:
呵。无一定的想象力都难做呀!佩服两位!!

哈哈,这个程序一直是CZY版主在做。楼主还是抓紧时间仔细看几遍帮助吧,不然你永远也无法独立修改这个程序。


--  作者:流光
--  发布时间:2006/12/3 19:53:00
--  
要命了,怎么处理完成后“预缴费批处理”表的“本次余额”又不能返回给“用户信息”表中的“预缴费余额”了?

这东西怎么时好时坏?问题出在那里?


--  作者:smileboy
--  发布时间:2006/12/3 20:14:00
--  
CZY版主早就说了,你这个程序处理不好的话会很麻烦的
--  作者:gdlgh
--  发布时间:2006/12/3 20:21:00
--  
下面引用由流光2006/12/03 07:53pm 发表的内容:
要命了,怎么处理完成后“预缴费批处理”表的“本次余额”又不能返回给“用户信息”表中的“预缴费余额”了?
这东西怎么时好时坏?问题出在那里?


呵。。索性叫csy班竹定做算啦,给些饮茶费都不怕呀!