以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  错在哪里?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49262)

--  作者:aygp
--  发布时间:2014/4/15 10:58:00
--  错在哪里?
筛选出学生男子组100M,点击“决赛名次”按键,出现以下提示,请问错在哪里?

图片点击可在新窗口打开查看此主题相关图片如下:出错.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:运动会名次.rar



--  作者:Bin
--  发布时间:2014/4/15 11:03:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:运动会名次.foxdb


--  作者:aygp
--  发布时间:2014/4/15 11:46:00
--  
点击“决赛名次”按键,什么都不显示

图片点击可在新窗口打开查看此主题相关图片如下:什么都不显示.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/4/15 12:02:00
--  

按钮代码改一下

 

Dim filter As String = Tables("运动会比赛成绩").Filter
filter = iif(filter > "",  filter, "1=1")
Dim dr As DataRow = DataTables("运动会比赛成绩").Find(filter,"决赛成绩",8)
Tables("运动会比赛成绩").Filter = filter & " and " & "决赛成绩 < \'" & dr("决赛成绩") & "\'"
Tables("运动会比赛成绩").Sort = "决赛成绩"
If Tables("运动会比赛成绩").Rows.count>0 Then
    Tables("运动会比赛成绩").Rows(0)("决赛名次") = 1
    For i As Integer = 1 To Tables("运动会比赛成绩").Rows.Count - 1
        If  Tables("运动会比赛成绩").Rows(i)("决赛成绩")  =     Tables("运动会比赛成绩").Rows(i - 1)("决赛成绩")  Then
            Tables("运动会比赛成绩").Rows(i)("决赛名次")  =     Tables("运动会比赛成绩").Rows(i - 1)("决赛名次")
        Else
            Tables("运动会比赛成绩").Rows(i)("决赛名次")  = i+1
        End If
    Next
End If


--  作者:aygp
--  发布时间:2014/4/15 12:19:00
--  
通过。谢谢甜老师!谢谢Bin老师!
--  作者:aygp
--  发布时间:2014/4/15 13:39:00
--  
“决赛名次”为:1、2、3、4、5、6、7、8   ,对应在“得分”中为:9、7、6、5、4、3、2、1 。 按钮代码如何改
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:比赛得分.rar



--  作者:有点甜
--  发布时间:2014/4/15 14:36:00
--  

 这样写

 

Dim dfs() As Integer = {9, 7, 6, 5, 4, 3, 2, 1}

Dim filter As String = Tables("运动会比赛成绩").Filter
filter = iif(filter > "",  filter, "1=1")
Dim dr As DataRow = DataTables("运动会比赛成绩").Find(filter,"决赛成绩",8)
Tables("运动会比赛成绩").Filter = filter & " and " & "决赛成绩 < \'" & dr("决赛成绩") & "\'"
Tables("运动会比赛成绩").Sort = "决赛成绩"
If Tables("运动会比赛成绩").Rows.count>0 Then
    Tables("运动会比赛成绩").Rows(0)("决赛名次") = 1
    Tables("运动会比赛成绩").Rows(i)("得分") = dfs(0)
    For i As Integer = 1 To Tables("运动会比赛成绩").Rows.Count - 1
        If  Tables("运动会比赛成绩").Rows(i)("决赛成绩")  = Tables("运动会比赛成绩").Rows(i - 1)("决赛成绩")  Then
            Tables("运动会比赛成绩").Rows(i)("决赛名次")  = Tables("运动会比赛成绩").Rows(i - 1)("决赛名次")
        Else
            Tables("运动会比赛成绩").Rows(i)("决赛名次")  = i+1
        End If
        Tables("运动会比赛成绩").Rows(i)("得分") = dfs(i)
    Next
End If


--  作者:aygp
--  发布时间:2014/4/15 15:12:00
--  
有点问题

图片点击可在新窗口打开查看此主题相关图片如下:截图00.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/4/15 16:21:00
--  

 呵呵,写错了,改成

 

Tables("运动会比赛成绩").Rows(0)("得分") = dfs(0)


--  作者:aygp
--  发布时间:2014/4/15 16:44:00
--  
通过,但继续点击“决赛名次”时,跳出以下窗口,觉得不好,麻烦稍把代码修改一下,即使继续点击“决赛名次”,即不反映,也不跳出以下窗口就行了。

图片点击可在新窗口打开查看此主题相关图片如下:截图02.jpg
图片点击可在新窗口打开查看