易表在线答疑技术与交流用户社区 → 帮忙改一下这个公式。


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

主题:帮忙改一下这个公式。

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


加好友 发短信
等级:新手上路 帖子:233 积分:0 威望:0 精华:0 注册:2006/10/30 14:51:00
  发帖心情 Post By:2006/12/4 11:40:00 [只看该作者]

为什么要删除“未缴费记录”中
机主姓名为空的记录?改成删除“话费合计”小于0.01的行不?


AddCol("未缴费记录","X",3,False) And DelFor("未缴费记录","机主姓名","=","")And ...........


czy班竹,如果是您来作,该怎么作呢?


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


加好友 发短信
等级:职业侠客 帖子:449 积分:-10 威望:0 精华:0 注册:2006/8/27 12:47:00
  发帖心情 Post By:2006/12/4 11:58:00 [只看该作者]

呵。是删除空记录的行!防止if(FindRow("未缴费记录","X","=",-1)=0,MsgBox(没有需要处理的数据!",0)报错!!

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


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

下面引用由流光2006/12/04 11:40am 发表的内容:
czy班竹,如果是您来作,该怎么作呢?

我只能按你的要求去做,因为你这个程序改哪里都是牵一发动全身的,改公式的同时还要充分考虑到其它表的引用问题,否则永远是折东墙补西墙,所以我很晕~~


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


加好友 发短信
等级:新手上路 帖子:233 积分:0 威望:0 精华:0 注册:2006/10/30 14:51:00
  发帖心情 Post By:2006/12/4 13:32:00 [只看该作者]

  筛选出“用户信息”中“预缴费余额”>=与之关联的“未缴费费数据”表中的数据到本表,“预缴费批处理”中的“电话号码、公司职工、所属月份、电话费、宽带费用、话费合计”都是调相关联的“未缴费数据表”的数据,“上次余额”为“用户信息”表中的“预缴费余额”本次余额等于“上次余额”-“话费合计”,处理日期为当前日期,操作员=username,收费方式为“预缴费批处理”然后将“本次余额”返回给相关联的“用户信息”表中的“预缴费余额”,删除“未缴费记录”表中处理过的数据,将“预缴费批处理”表的全部数据追加到“预缴费历史数据”,清空“预缴费批处理”表数据。


  在前面判断一下有没有可处理的数据,有就处理,没有就提示。 最终处理完成后显示“处理完成!”

  这种处理方式是不是会有问题,如果在“未缴费数据”表中有2笔电话号码相同的数据会不会处理错误?

  这样行不,先将筛选出来需处理的记录追加到“预缴费批处理”表后删除电话号码重复的记录(保留最前面的一条),然后再处理。重复的记录等待下次再处理。如果有号码重复的记录,在处理完成后提示一下。

这是我的完整的要求


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


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

24楼第一段,是不是已经达到要求了?

第二段要求可以把整个公式改成这样;

AddCol("未缴费记录","X",3,False) And EvalFor("未缴费记录","X","[用户信息!RelationRow]>-1 And [用户信息!预缴费余额]<=[话费合计]") 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))

有两笔数据还不知道你想怎么处理,别人也就不知道什么是对什么是错了。

-=-=-=- 以下内容由 czy2006年12月04日 08:58pm 时添加 -=-=-=-
做你这个东东太累,关系太复杂,你还是自己理清思路,仔细测试,发现错误再提出来。


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


加好友 发短信
等级:新手上路 帖子:233 积分:0 威望:0 精华:0 注册:2006/10/30 14:51:00
  发帖心情 Post By:2006/12/5 8:18:00 [只看该作者]

谢谢版主大人,现在看除了  [用户信息!预缴费余额]<=[话费合计]") 这里的<=号方向错了外,暂时没发现什么问题,但是如果有重复号码的处理结果经测试不正确。


如果能在处理前判断一下,如果有重复的就删除几个只保留一个,其他的等下次再处理,并给出有重复记录的提示。


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


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

下面引用由流光2006/12/03 03:56pm 发表的内容:
“未缴费记录”和“用户信息”表已“电话号码”相关联。
检查“未缴费记录”中所有记录的“话费合计”值有没有小于等于“用户信息”表中相对应记录的“预缴费余额”的记录,如果没有则提示“没有需要处理的数据 ...

这是你1楼的要求,“[用户信息!预缴费余额]<=[话费合计]”,这句代码是按你要示求做的,真不知道错在哪里。


 回到顶部
总数 27 上一页 1 2 3