Foxtable(狐表)用户栏目专家坐堂 → 总分唯一排名代码问题


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

主题:总分唯一排名代码问题

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
总分唯一排名代码问题  发帖心情 Post By:2024/1/11 10:57:00 [只看该作者]

老师,窗口有“总分排名”代码,排名有重复的。我需要结果为:总分唯一排名。

总分唯一排名规则,总分相同的,按下列优先顺序确定排名顺序:1.总分相同的,语数英三科总分高的分数优先;2.总分相同的,且语数英三科总分相同的:语文高的优先,数学其次,英语最后。按照上述规则,希望按“总分唯一排名”按钮,自动生成“优
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:总分排名唯一2401.foxdb

先顺序号”和“总分唯一排名”两列数据。请教老师如何写这个代码?

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/11 11:12:00 [只看该作者]

这种更简单,直接排序就行了

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:总分排名唯一2401.zip



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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/1/11 13:38:00 [只看该作者]

非常感谢蓝老师,这样代码更加简洁、高效了

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


加好友 发短信
等级:二尾狐 帖子:559 积分:6288 威望:0 精华:0 注册:2008/9/7 20:15:00
  发帖心情 Post By:2024/1/11 13:47:00 [只看该作者]

商业版无法看

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
代码问题  发帖心情 Post By:2024/1/18 14:33:00 [只看该作者]

'判断首字符是否为0,不为0则添加0
'写法1:
Select Case e.DataCol.name
    Case "第八列"
        Dim dr1 As String = Left(e.DataRow("第八列"), 1)
        If dr1 <> 0 Then
            e.DataRow("第九列") = "0" & e.DataRow("第八列") 
        End If 
End Select
'写法2:
Select Case e.DataCol.name
    Case "第八列"
        Dim Country As String = e.DataRow("第八列")
        Dim Val1 As Boolean
        Val1 = Country.StartsWith("0")
        If Val1 = True Then
            e.DataRow("第九列") = "0" & e.DataRow("第八列") 
        End If 
End Select
请老师帮忙看一下这两种方法有哪些问题

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/18 15:18:00 [只看该作者]

Select Case e.DataCol.name
    Case "第八列"
if e.DataRow.isnull("第八列") = false
        If e.DataRow("第八列").StartsWith("0") = false Then
            e.DataRow("第九列") = "0" & e.DataRow("第八列") 
        End If 
End If 
End Select

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/1/18 17:39:00 [只看该作者]

完美,谢谢蓝老师

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/1/19 11:10:00 [只看该作者]

'此代码,金额列和元角分各列均为字符列,代码能用,若将金额列改成高精度小数,固定保留两位小数,元角分各列均为整数列,请教下列代码如何修改?
Select Case e.DataCol.Name 
    Case "分段提取数字5_金额"
        If e.NewValue > "" Then 
            ' Dim str As String = Format(e.NewValue, "0.00").Value '格式化数据,保留2位小位。
            Dim ar() As String = e.NewValue.split(".") 
            e.DataRow("分段提取数字5_元") = ar(0) '小数点前取值为元
            e.DataRow("分段提取数字5_角") = ar(1).SubString(0, 1) 'ar(1)表示小数点后两位(角分)
            e.DataRow("分段提取数字5_分") = ar(1).SubString(1, 1) 
        Else 
            e.DataRow("分段提取数字5_元") = Nothing 
            e.DataRow("分段提取数字5_角") = Nothing
            e.DataRow("分段提取数字5_分") = Nothing 
        End If 
End Select

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/19 11:14:00 [只看该作者]

    Case "分段提取数字5_金额"
        If e.DataRow.isnull("分段提取数字5_金额")=false Then 
            Dim ar() As String = Format(e.NewValue, "0.00").split(".")  '格式化数据,保留2位小位。
            e.DataRow("分段提取数字5_元") = ar(0) '小数点前取值为元

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/1/19 16:41:00 [只看该作者]

谢谢老师,代码挺管用的!

 回到顶部
总数 137 1 2 3 4 5 6 7 8 9 10 下一页 ..14