以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  此表不支持移动行 无法设置标识列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=72601)

--  作者:ShotHit
--  发布时间:2015/8/2 17:55:00
--  此表不支持移动行 无法设置标识列
窗口按钮中设置:
  Dim dr As DataRow
        dr = DataTables("Tb_x1").AddNew()
        With CurrentTable
            .Current.Move(.Position + 1)
        End With
        dr("create_date") = Date.Today

提示此表不支持移动行。按照文档
http://www.foxtable.com/help/index.html?n=1797.htm
设置标识列。

在设置的过程中,勾选Tb_x1对应的锁定标识列和插入行标识列后,点击确定后

出现异常信息。对象“Tb_x1”不存在或你不具备该操作的权限。无法设置成功。

请问是什么原因导致的?

仅仅勾选插入行标识列时,提示主键列必须是数值型,才可以添加排序标识列。

以上,非常感谢。


--  作者:有点蓝
--  发布时间:2015/8/2 19:19:00
--  
是否没主键列?你是外部数据表的话要加_Indentify主键列,并且为数值型._Locked 锁定列标志,_SortKey 插入列标志
[此贴子已经被作者于2015/8/2 19:48:15编辑过]

--  作者:大红袍
--  发布时间:2015/8/2 20:26:00
--  

 你直接在数据库那里加入一列_Sortkey列试试


--  作者:ShotHit
--  发布时间:2015/8/4 13:49:00
--  
我是外部表,主键用的是guid列。

移动行必须要用到这几个标示列吗?为什么在帮助文件里面没看到呢?

--  作者:ShotHit
--  发布时间:2015/8/4 13:50:00
--  
对于这种操作,帮助文档里面有说明吗?
为什么 直接用
with CurrentTable
.Move(.Position+1)
end with
可以移动而不需要加这些标示列呢?帮助文档没有看到相关介绍哦。

--  作者:大红袍
--  发布时间:2015/8/4 14:30:00
--  

 实际上,就是加一列 _Sortkey 列,才能实现排序的。

 

 插入行标识列,就是插入一列 _Sortkey 列


--  作者:有点蓝
--  发布时间:2015/8/4 14:42:00
--  
帮助文件中关于_SortKey和其他系统列的描述
http://www.foxtable.com/help/index.html?n=1565.htm
--  作者:ShotHit
--  发布时间:2015/8/4 15:08:00
--  
Dim dr As DataRow
        dr = DataTables("Tb_x1").AddNew()
        With CurrentTable
            .Current.Move(.Position + 1)
        End With
        dr("create_date") = Date.Today

这段代码为什么有问题呢?
仅仅
With CurrentTable
            .Current.Move(.Position + 1)
        End With

为什么又能够定位而没问题呢?

能解释一下狐表里面的原理吗?

--  作者:ShotHit
--  发布时间:2015/8/4 15:16:00
--  
文中的这段代码也就是新增行,然后position+1

怎么是插入行的概念呢?


这段代码AddNew() 和 Move()分开执行都无问题,为什么在一起就有问题呢?

能否给个详细的解释?

--  作者:大红袍
--  发布时间:2015/8/4 15:36:00
--  

恢复8、9楼,不可能存在你说的问题,代码肯定不会报错。