以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  调整行的位置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188169)

--  作者:15666282205
--  发布时间:2023/9/5 18:03:00
--  调整行的位置
老师,考勤表里根据考勤员筛选显示职工,想把职工的排序用手工调一下,设计一个上箭头和一个下箭头按钮,如何编写按钮的代码实现当前行用按钮调整位置呢?
--  作者:有点蓝
--  发布时间:2023/9/5 20:13:00
--  
参考:http://www.foxtable.com/webhelp/topics/1846.htm。需要开启插入行标记:http://www.foxtable.com/webhelp/topics/1791.htm

上移一行
With CurrentTable
    .Current.Move(.Position - 
1)
End With

下移一行
With CurrentTable
    .Current.Move(.Position + 
1)
End With

--  作者:15666282205
--  发布时间:2023/11/4 15:54:00
--  
老师,上面的代码排序以后,再打开又恢复原样了。能不能直接把datatable数据库里的顺序修改呢?
--  作者:有点蓝
--  发布时间:2023/11/4 16:33:00
--  
排序以后保存一下表格
--  作者:15666282205
--  发布时间:2023/11/6 8:35:00
--  
老师,排序后保存也不行。我研究了一下,打开表的时候根据Identify自动排序,如果想实现行的移动,应该把行的内容直接和另一行交换复制,Identify不变,内容变。怎么写代码呢?
--  作者:有点蓝
--  发布时间:2023/11/6 8:45:00
--  
不可能。如果开启插入行标记,表格默认肯定是根据插入行标记也就是_sortkey列排序的
--  作者:15666282205
--  发布时间:2023/11/6 9:06:00
--  
老师,我是先筛选,然后
\'----------------------------------------自动排序----------------------------------
Tables("当月考勤表2").Sort = "_Identify"
然后再重新排序,现在的问题是排序不能记忆

--  作者:有点蓝
--  发布时间:2023/11/6 9:20:00
--  
2楼的方式才可以保存。

任何使用代码排序都是临时性的。需要的时候每次都得调用代码

--  作者:15666282205
--  发布时间:2023/11/6 9:32:00
--  
我就是用2楼的代码调整顺序,也点保存了,可是重新打开程序的时候不能记忆,恢复原样了


--  作者:有点蓝
--  发布时间:2023/11/6 9:38:00
--  
去掉下面代码啊,执行了代码肯定是按照代码排序的

Tables("当月考勤表2").Sort = "_Identify"