易表在线答疑技术与交流用户社区 → [求助]程序如何修改,才能解决以下两个问题


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

主题:[求助]程序如何修改,才能解决以下两个问题

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


加好友 发短信
等级:蝙蝠侠 帖子:852 积分:2798 威望:0 精华:0 注册:2007/1/19 15:57:00
[求助]程序如何修改,才能解决以下两个问题  发帖心情 Post By:2007/5/29 8:33:00 [只看该作者]

请问:下列程序如何修改,才能解决以下两个问题:
问题:1、只对当前月份(以”%月份2%”表示)进行排名,以前月份的成绩不进行排名.
   2、能否实现若”成绩”列为空,则不对该列排名进行任何操作.
想法::通过对变量”%月份2%”赋值,将记录进行筛选出来,筛选后无需再对以前月份的成绩进行排名,只需对当前月份进行排名,以加快数据库排名速度.

原程序:
if([%月份1%]=""or [%月份2%]="",MsgBox("请选择起始始月份和比较月份后再执行此操作!",0), Do(112) And FilterFor("月份", "=" ,[%月份2%]) And
SortCol(GridName,"语文_成绩",2) And SortCol(GridName,"班",1) And SortCol(GridName,"月份",1) And evalfor(grid,"语文_班名","if(Row=1,1,if(cell(Row-1,""月份"")=cell(Row,""月份"") And cell(Row-1,""班"")=cell(Row,""班"") And cell(Row-1,""语文_成绩"")<>cell(Row,""语文_成绩""),cell(row-1,""语文_班名"")+1,if(cell(Row-1,""班"")<>cell(Row,""班""),1,cell(row-1,""语文_班名""))))") And SortCol(GridName,"语文_成绩",2) And SortCol(GridName,"月份",1) And evalfor(grid,"语文_级名","if(Row=1,1,if(cell(Row-1,""月份"")=cell(Row,""月份"") And cell(Row-1,""语文_成绩"")<>cell(Row,""语文_成绩""),cell(row-1,""语文_级名"")+1,if(cell(Row-1,""月份"")<>cell(Row,""月份""),1,cell(row-1,""语文_级名""))))")


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2007/5/29 8:57:00 [只看该作者]

做个简单的表,把你的公式放进去然后传上来。这样便于大家帮你找出问题、解决问题哦!

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


加好友 发短信
等级:蝙蝠侠 帖子:852 积分:2798 威望:0 精华:0 注册:2007/1/19 15:57:00
  发帖心情 Post By:2007/5/29 9:20:00 [只看该作者]

说明:最初程序对所有“月份”均进行排序,现只要求对“输入比较月份:%月份2%”中的“%月份2%”的输入(如2006.5)进行排名,而不对2006.4进行排名,并若"语文_成绩"为空,则不排名.egd文件下载

 回到顶部
帅哥哟,离线,有人找我吗?
为爱痴狂
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:296 积分:0 威望:0 精华:0 注册:2007/5/23 13:25:00
  发帖心情 Post By:2007/5/29 9:49:00 [只看该作者]

这还不简单
if([%月份1%]=""or [%月份2%]="",MsgBox("请选择起始始月份和比较月份后再执行此操作!",0), Do(112) And FilterFor("月份", "=" ,[%月份2%]) And SortCol(GridName,"语文_成绩",2) And SortCol(GridName,"班",1) And SortCol(GridName,"月份",1) And evalfor(grid,"语文_班名","if(Row=1,1,if(cell(Row-1,""月份"")=cell(Row,""月份"") And cell(Row-1,""班"")=cell(Row,""班"") And cell(Row-1,""语文_成绩"")<>cell(Row,""语文_成绩""),cell(row-1,""语文_班名"")+1,if(cell(Row-1,""班"")<>cell(Row,""班""),1,cell(row-1,""语文_班名""))))") And SortCol(GridName,"语文_成绩",2) And SortCol(GridName,"月份",1) And evalfor(grid,"语文_级名","if(Row=1,1,if(cell(Row-1,""月份"")=cell(Row,""月份"") And cell(Row-1,""语文_成绩"")<>cell(Row,""语文_成绩""),cell(row-1,""语文_级名"")+1,if(cell(Row-1,""月份"")<>cell(Row,""月份""),1,cell(row-1,""语文_级名""))))") And ReplaceFor(GridName,"语文_班名","","语文_成绩", "=" ,0) And ReplaceFor(GridName,"语文_级名","","语文_成绩", "=" ,0) And ReplaceFor(GridName,"语文_班名","","语文_成绩", "=" ,"") And ReplaceFor(GridName,"语文_级名","","语文_成绩", "=" ,""))

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


加好友 发短信
等级:蝙蝠侠 帖子:852 积分:2798 威望:0 精华:0 注册:2007/1/19 15:57:00
  发帖心情 Post By:2007/5/29 10:57:00 [只看该作者]

有问题:该设计仍然在计算2006.4月成绩.

-=-=-=- 以下内容由 abcdzabcdz2007年05月29日 11:05am 时添加 -=-=-=-
'替换命令'与"让公式失效"是两回事.

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


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2007/5/30 8:17:00 [只看该作者]

我猜是不是因为刷新公式同时用了Cell函数 和row变量的缘故,系统把刷新公式看作流水账计算公式,所以要计算整列。
能不能利用框架模式,然后用框架模式:if(row=firstrow,1,ParentRow)来计算排名,这样刷新公式就避免了Cell。解决分数相同的的排名问题用cell函数判断,不知道会不会也被看做流水账计算公式

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


加好友 发短信
等级:蝙蝠侠 帖子:852 积分:2798 威望:0 精华:0 注册:2007/1/19 15:57:00
  发帖心情 Post By:2007/5/30 13:07:00 [只看该作者]

不知有无其它办法实现1楼要求?

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


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

做了一段语言班级排名的公式,其它的自己参照做吧。

if(ListFor(Grid,"语文_成绩")="",true,Do(112) And FilterFor("月份", "=" ,[%月份2%]) And SortCol(GridName,"语文_成绩",2) And SortCol(GridName,"班",1) And SortCol(GridName,"月份",1) And evalfor(grid,"语文_班名","if(Row=1,1,if(cell(Row-1,""月份"")=[月份] And cell(Row-1,""班"")=[班] And cell(Row-1,""语文_成绩"")<>[语文_成绩],VisibleRow,if(cell(Row-1,""班"")<>[班],1,cell(row-1,""语文_班名""))))",1,Rows,1))


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


加好友 发短信
等级:蝙蝠侠 帖子:852 积分:2798 威望:0 精华:0 注册:2007/1/19 15:57:00
  发帖心情 Post By:2007/5/31 9:46:00 [只看该作者]

[UploadFile=123_1180575984.bmp]

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


加好友 发短信
等级:蝙蝠侠 帖子:852 积分:2798 威望:0 精华:0 注册:2007/1/19 15:57:00
  发帖心情 Post By:2007/5/31 9:47:00 [只看该作者]

简化后的文件,上楼为执行程序后画面。egd文件下载

 回到顶部
总数 20 1 2 下一页