Foxtable(狐表)用户栏目专家坐堂 → sortkey 问题


  共有3661人关注过本帖树形打印复制链接

主题:sortkey 问题

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
sortkey 问题  发帖心情 Post By:2020/12/18 15:22:00 [显示全部帖子]

我有2个问题:
1、可以在数据表里面把 sortkey 显示出来吗?
2、同一个数据表里面 sortkey 的值可以是相同的吗?

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2020/12/22 15:44:00 [显示全部帖子]

1、用表达式可以显示 Locked 和 Identify, 不可以显示 SortKey。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2020/12/22 16:34:00 [显示全部帖子]

请看下图:

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


 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2020/12/23 11:22:00 [显示全部帖子]

原来如此!

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/7/29 9:59:00 [显示全部帖子]

我想在 foxtable 上(不是直接去 access 档案里面)修改 sortkey 的值,但是修改不了,请问为什么?

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/7/29 13:06:00 [显示全部帖子]

Dim drs As List(of DataRow) = DataTables("A").Select("","[_SortKey]")
For 
i As Integer = 0 To drs.Count - 1
    
drs(i).BaseRow("_SortKey") = i
Next


我用上述代码来重置sortkey值。操作时,我先对数据进行排序,然后执行上述代码(我做了一个按钮的),执行完代码之后,sortkey的值并不是按照刚才排序的顺序从上到下依次递增的。为什么?

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/7/29 13:18:00 [显示全部帖子]

我把 Select("","[_SortKey]") 里面的_SortKey 改成其他列名就可以了。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/7/31 8:33:00 [显示全部帖子]

请问sortkey是如何自动产生的?我们有好几个用户都要用到同一个数据表(这个数据表有十几万个数据行),但是自动产生的 sortkey 值大小是很乱的,有的甚至是跳到很小的值(比如1、2、3等)那里去。如何避免这个问题?如何让每个用户产生的sortkey值按照产生的时间先后次序自动跟随前面已存在的sortkey值中最大的值往后面排?

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/7/31 15:51:00 [显示全部帖子]

If e.DataCol.name ="出入库单号" Then
    Dim d1 As Date = Date.now
    Dim d2 As String = Format(d1,"yyyyMMddHHmmssfff") 
    If e.DataRow("出入库单号") = "删除记录"
        e.DataRow.BaseRow("_SortKey") = 1
    Else
        e.DataRow.BaseRow("_SortKey") = d2.Substring(2,15)
    End If
End If

我用上述代码来产生sortkey,但是保存时出现警告“十进制字段的精度过小,无法接受您试图添加的数字”。请问要怎么解决?

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/7/31 16:16:00 [显示全部帖子]

我把 sortkey 的15位数改为12位就可以了(e.DataRow.BaseRow("_SortKey") = d2.Substring(2,12))。

 回到顶部
总数 11 1 2 下一页