以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  排序问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=157406)

--  作者:a272797388
--  发布时间:2020/10/15 5:40:00
--  排序问题

请问如何把表A的序号列按照奇偶数交替的顺序排列其次成绩列的成绩高到低


--  作者:有点蓝
--  发布时间:2020/10/15 9:09:00
--  
手工排序截图说明一下
--  作者:a272797388
--  发布时间:2020/10/15 16:18:00
--  回复

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

图片点击可在新窗口打开查看此主题相关图片如下:排序后的表.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/10/15 16:33:00
--  
添加一个辅组列“排序”
Dim drs1 As List(Of DataRow) = DataTables("表A").Select("序号 % 2 = 0","成绩 desc")
Dim drs2 As List(Of DataRow) = DataTables("表A").Select("序号 % 2 = 1","成绩 desc")
dim cnt as integer = math.min(drs1.count,drs2.count)
dim idx as integer = 1
for i as integer = 0 to cnt - 1
drs1(i)("排序") = idx
idx += 1
drs2(i)("排序") = idx
idx += 1
next

if drs1.count > cnt then
for i as integer = cnt to drs1.count - 1
drs1(i)("排序") = idx
idx += 1
next
else
for i as integer = cnt to drs2.count - 1
drs2(i)("排序") = idx
idx += 1
next
end if

Tables("表A").sort = "排序"