以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 总分唯一排名代码问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=190016) |
||||
-- 作者:jhxb8821 -- 发布时间:2024/1/11 10:57:00 -- 总分唯一排名代码问题 老师,窗口有“总分排名”代码,排名有重复的。我需要结果为:总分唯一排名。 总分唯一排名规则,总分相同的,按下列优先顺序确定排名顺序:1.总分相同的,语数英三科总分高的分数优先;2.总分相同的,且语数英三科总分相同的:语文高的优先,数学其次,英语最后。按照上述规则,希望按“总分唯一排名”按钮,自动生成“优
先顺序号”和“总分唯一排名”两列数据。请教老师如何写这个代码? |
||||
-- 作者:有点蓝 -- 发布时间:2024/1/11 11:12:00 -- 这种更简单,直接排序就行了 |
||||
-- 作者:jhxb8821 -- 发布时间:2024/1/11 13:38:00 -- 非常感谢蓝老师,这样代码更加简洁、高效了 |
||||
-- 作者:hbfnmxb -- 发布时间:2024/1/11 13:47:00 -- 商业版无法看 |
||||
-- 作者: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 请老师帮忙看一下这两种方法有哪些问题
|
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2024/1/18 17:39:00 -- 完美,谢谢蓝老师 |
||||
-- 作者: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
|
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2024/1/19 16:41:00 -- 谢谢老师,代码挺管用的! |