Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共137 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8] ...[14]
[浏览完整版]

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

1楼
jhxb8821 发表于:2024/1/11 10:57:00

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

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

先顺序号”和“总分唯一排名”两列数据。请教老师如何写这个代码?
2楼
有点蓝 发表于:2024/1/11 11:12:00
这种更简单,直接排序就行了

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


3楼
jhxb8821 发表于:2024/1/11 13:38:00
非常感谢蓝老师,这样代码更加简洁、高效了
4楼
hbfnmxb 发表于:2024/1/11 13:47:00
商业版无法看
5楼
jhxb8821 发表于: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楼
有点蓝 发表于: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
7楼
jhxb8821 发表于:2024/1/18 17:39:00
完美,谢谢蓝老师
8楼
jhxb8821 发表于: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楼
有点蓝 发表于: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) '小数点前取值为元
10楼
jhxb8821 发表于:2024/1/19 16:41:00
谢谢老师,代码挺管用的!
共137 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8] ...[14]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 4 queries.