Foxtable(狐表)用户栏目专家坐堂 → 自动编号查找空号补编号


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

主题:自动编号查找空号补编号

美女呀,离线,留言给我吧!
cjl333333333
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:200 积分:1706 威望:0 精华:0 注册:2015/2/3 17:04:00
自动编号查找空号补编号  发帖心情 Post By:2021/1/24 18:53:00 [只看该作者]

你好,请教,我希望写一段自动编号代码然后能查找到空的号,比如现在有10条记录,就是从1号排到10号,但我这边其中2号编号记录已删除那我要首先找到它然后补这个编号,这个怎么写代码?请指教。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110662 积分:563224 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/24 21:35:00 [只看该作者]

添加一个回收表记录已经删除的编号,到业务表删除事件里,把当前删除的行的编号记录到回收表,然后新增行先到回收表去按顺序取最小的编号使用,使用后删除回收表这个编号。如果回收表没有数据再按照正常的方式生成新的编号

 回到顶部
美女呀,离线,留言给我吧!
cjl333333333
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:200 积分:1706 威望:0 精华:0 注册:2015/2/3 17:04:00
  发帖心情 Post By:2021/1/26 9:18:00 [只看该作者]

能直接给代码呀使用指南例子吗?


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110662 积分:563224 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/26 9:29:00 [只看该作者]

没有例子。具体哪一步不会?

 回到顶部
美女呀,离线,留言给我吧!
cjl333333333
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:200 积分:1706 威望:0 精华:0 注册:2015/2/3 17:04:00
  发帖心情 Post By:2021/1/26 9:50:00 [只看该作者]

e.DataRow("编号") = e.DataTable.Compute("Max(编号)") + 1  在新增行里加这个,然后我加多一列“报废”列,当“报废”列为TRUE 时,在新增列时就查找到最小的编号使用这个编号。


 回到顶部
美女呀,离线,留言给我吧!
cjl333333333
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:200 积分:1706 威望:0 精华:0 注册:2015/2/3 17:04:00
  发帖心情 Post By:2021/1/26 9:58:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110662 积分:563224 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/26 10:02:00 [只看该作者]

dim s as string= e.DataTable.Compute("min(编号)","报废=true")
if s = "" then
s = e.DataTable.Compute("Max(编号)") + 1
end if
e.DataRow("编号") = cint(s)

 回到顶部