以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码应该如何修改 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45714) |
||||
-- 作者:aygp -- 发布时间:2014/2/9 17:46:00 -- 代码应该如何修改 代码已经达到的效果: 1、录入比赛成绩后,点击“取前八名”按钮后,\'成绩\'列将自动按高度排序,高度高的排前面,高度低的排后面。 2、\'名次\'列将自动取前八名。给出 1、2、3、4、5、6、7、8 数字。 3、第八名以后的行,即第九行(含第九行)以后的行全部过滤。 4、出现二个第二名,就没有第三名。 存在的问题: 如果给跳高项目按成绩排名次后,再给跳远项目按成绩排名次就会出现问题。也就是说只要在名次列中有数据,取前八名就不行。 请问“取前八名按键”代码应该如何修改? 此主题相关图片如下:截图08.png
|
||||
-- 作者:lsy -- 发布时间:2014/2/9 18:28:00 -- 开发版的,爱莫能助。 |
||||
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2014/2/9 19:37:00 -- 上传商业版
|
||||
-- 作者:aygp -- 发布时间:2014/2/9 20:44:00 -- 甜老师,名次值不能清空,所有比赛项目的名次都要保留下来。只有麻烦修改代码了,谢谢老师! |
||||
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2014/2/9 21:40:00 --
|
||||
-- 作者:aygp -- 发布时间:2014/2/9 21:44:00 -- 测试通过。谢谢甜老师! |