Foxtable(狐表)用户栏目专家坐堂 → 代码应该如何修改


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

主题:代码应该如何修改

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
代码应该如何修改  发帖心情 Post By:2014/2/9 17:46:00 [只看该作者]

代码已经达到的效果:
   1、录入比赛成绩后,点击“取前八名”按钮后,'成绩'列将自动按高度排序,高度高的排前面,高度低的排后面。
   2、'名次'列将自动取前八名。给出 1、2、3、4、5、6、7、8 数字。
   3、第八名以后的行,即第九行(含第九行)以后的行全部过滤。
   4、出现二个第二名,就没有第三名。

存在的问题:
    如果给跳高项目按成绩排名次后,再给跳远项目按成绩排名次就会出现问题。也就是说只要在名次列中有数据,取前八名就不行。

请问“取前八名按键”代码应该如何修改?

图片点击可在新窗口打开查看此主题相关图片如下:截图08.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar



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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/9 18:28:00 [只看该作者]

开发版的,爱莫能助。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/9 19:22:00 [只看该作者]

 只要弄之前清空名次值不就行了?

Tables("表A").sort="成绩 DESC"
DataTables("表A").ReplaceFor("名次", Nothing)
Dim mc As Integer=1
Dim count As Integer=IIF(Tables("表A").Rows.count-1<8,Tables("表A").Rows.count-1,7)
For i As Integer=0 To count
    If i>0 AndAlso Tables("表A").Rows(i)("成绩") <> Tables("表A").Rows(i-1)("成绩") Then
        mc=mc+1
    End If
    Tables("表A").Rows(i)("名次")=mc
Next
Tables("表A").Filter="名次 is not null"

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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2014/2/9 19:37:00 [只看该作者]

上传商业版
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:按高度远度排序(商业版).rar


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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2014/2/9 20:44:00 [只看该作者]

甜老师,名次值不能清空,所有比赛项目的名次都要保留下来。只有麻烦修改代码了,谢谢老师!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/9 20:57:00 [只看该作者]

 试试用这段代码看看行不行

Tables("表A").sort="成绩 DESC"
DataTables("表A").ReplaceFor("名次", Nothing, Tables("表A").Filter)
Dim mc As Integer=1
Dim count As Integer=IIF(Tables("表A").Rows.count-1<8,Tables("表A").Rows.count-1,7)
For i As Integer=0 To count
    If i>0 AndAlso Tables("表A").Rows(i)("成绩") <> Tables("表A").Rows(i-1)("成绩") Then
        mc=mc+1
    End If
    Tables("表A").Rows(i)("名次")=mc
Next
If Tables("表A").Filter > "" Then
    Tables("表A").Filter +=" and 名次 is not null"
Else
    Tables("表A").Filter ="名次 is not null"
End If

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


加好友 发短信
等级:狐神 帖子:4643 积分:33865 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/2/9 21:40:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:按高度远度排序(商业版).zip


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


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2014/2/9 21:44:00 [只看该作者]

测试通过。谢谢甜老师!

 回到顶部