Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:_SortKey 值如何不重复

1楼
shixia 发表于:2010/4/23 20:00:00
我用Access外部数据源,表中有_SortKey列,每次加载表时只是按条件部分加载,向表中写数据是用一个窗口,窗口中控件没有与表中列关联,而是在“保存”按钮里写如下代码:

Dim s1 as Date =e.Form.Controls("DateTimePicker1").Value

……

Tables("表A").AddNew()

Dim dr as row =Tables("表A").Current

dr("列一“)=s1
 
……

Tables("表A").Save()

这样写结果是:每次新添一行并保存后,_SortKey值都是一样的。后来我把 Tables("表A").AddNew() 换成Syscmd.Row.AddNew()后_SortKey值又开始递增,不重复了。请问这是什么原因,难道Tables("表A").AddNew() 和Syscmd.Row.AddNew() 功能不相同。
[此贴子已经被作者于2010-4-23 20:01:38编辑过]
2楼
程兴刚 发表于:2010/4/23 20:10:00
由于后来增加了插入行功能,估计导致了Tables("表A").addnew()出现bug,因为Tables("表A").addnew()无法事先判断没有加载的行,而导致_SortKey列在table新增的行和未加载的行的值重复。

        建议贺老师改进,_SortKeytable生成值直接到后台比较,按需输入值。
3楼
mr725 发表于:2010/4/23 20:10:00
我测试都是递增的,没有重复的_SortKey值,再说,_SortKey也不可能出现重复值吧。 不好意思我时在内部表测试的。
[此贴子已经被作者于2010-4-23 20:11:56编辑过]
4楼
程兴刚 发表于:2010/4/23 20:14:00
只有部分加载才会出现。
5楼
shixia 发表于:2010/4/23 20:21:00
应该算是一个bug,请狐爸看看
6楼
blackzhu 发表于:2010/4/24 7:14:00
以下是引用程兴刚在2010-4-23 20:14:00的发言:
只有部分加载才会出现。

哦,怪不得呢,昨日我新增行没有按我的意思增,原来是加载数据再新增会有bug.

7楼
狐狸爸爸 发表于:2010/4/26 17:52:00
我看看怎么回事
8楼
mr725 发表于:2010/4/26 18:37:00
应该将加载进来的最大_SortKey值,和数据源中最大的_SortKey值比较,增加行时取两者更大的值+1。
另外,如果经过排序后,在当前行插入行时,刚好碰上上一行是两者最大值时(或者当前行和上一行的_SortKey不是连续的),不知插入的行的_SortKey值怎么来确定了···
9楼
狐狸爸爸 发表于:2010/4/26 20:35:00
下次不会这样了
10楼
shixia 发表于:2010/6/15 10:29:00

狐爸,这个问题好象还没有解决好哦

共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.