以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]固定排序的求助!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30258)

--  作者:tele
--  发布时间:2013/3/24 10:56:00
--  [求助]固定排序的求助!

如下表

 

ID     NAME

1         A

2         B

3         C

4         D

 

按“ID”列排序,如果想增加一行 ID=2  Name=E,ID大于2的会自动加1

 

ID     NAME

1         A

2         E

3         B

4         C

5         D

 

如果修改ID列,如修改第五行ID列,ID=3,那ID大于3的又会自动加1

 

ID     NAME

1         A

2         E

3         D

4         B

5         C

 

请问代码如何实现!?


--  作者:小猪鑫鑫
--  发布时间:2013/3/24 11:02:00
--  
tables("表名").sort ="ID"
--  作者:tele
--  发布时间:2013/3/24 11:40:00
--  

呃,可能是我没表达清楚

不是问如何排序,是问如何达到新增或修改ID列的值,来自动调整此列其它行的值


--  作者:lsy
--  发布时间:2013/3/24 13:37:00
--  
以下是引用tele在2013-3-24 11:40:00的发言:

呃,可能是我没表达清楚

不是问如何排序,是问如何达到新增或修改ID列的值,来自动调整此列其它行的值

ID号也允许变来变去?ID号的意思,就是唯一号,能变就不能说是唯一,要是身份证号这样变,就不存在身份证了。

[此贴子已经被作者于2013-3-24 13:37:07编辑过]

--  作者:tele
--  发布时间:2013/3/24 13:44:00
--  

我所写的“ID“,不是_identify列,是另外单独的一列用来做动态排序的

也是唯一,想通过改变这个数字,来改变行的位置

[此贴子已经被作者于2013-3-24 13:44:51编辑过]

--  作者:小猪鑫鑫
--  发布时间:2013/3/24 16:54:00
--  

楼主:那就在表的datacolchanged的事件中加入

If e.DataCol.name ="ID"
Tables("表A").sort ="ID"
End If

这样你改变ID列的数据,表会即时自动排序


--  作者:有点甜
--  发布时间:2013/3/24 19:51:00
--  

实现很简单,但是觉得不应该做这样的功能,因为foxtable已近有行号列。

而且ID类似工号、订单号、身份证号等,一旦确定,就不应该变化了。