以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动编号查找空号补编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160208)

--  作者:cjl333333333
--  发布时间:2021/1/24 18:53:00
--  自动编号查找空号补编号
你好,请教,我希望写一段自动编号代码然后能查找到空的号,比如现在有10条记录,就是从1号排到10号,但我这边其中2号编号记录已删除那我要首先找到它然后补这个编号,这个怎么写代码?请指教。
--  作者:有点蓝
--  发布时间:2021/1/24 21:35:00
--  
添加一个回收表记录已经删除的编号,到业务表删除事件里,把当前删除的行的编号记录到回收表,然后新增行先到回收表去按顺序取最小的编号使用,使用后删除回收表这个编号。如果回收表没有数据再按照正常的方式生成新的编号
--  作者:cjl333333333
--  发布时间:2021/1/26 9:18:00
--  
能直接给代码呀使用指南例子吗?


--  作者:有点蓝
--  发布时间:2021/1/26 9:29:00
--  
没有例子。具体哪一步不会?
--  作者:cjl333333333
--  发布时间:2021/1/26 9:50:00
--  

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


--  作者:cjl333333333
--  发布时间:2021/1/26 9:58:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点蓝
--  发布时间: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)