Foxtable(狐表)用户栏目专家坐堂 → 如何实现的编号?


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

主题:如何实现的编号?

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/30 20:51:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号问题.zip


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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/2 10:29:00 [显示全部帖子]

我只是提供了,使用废号的一个大概处理逻辑。要根据实际情况改到自己的项目里

问题1、出现问题的原因应该是没有及时删除回收表里已经使用的编号,或者回收表里有重复的编号,导致重复使用了。可以再加一个判断,查询一下业务表是否已经使用了这个编号,如果是就删除回收表的这个编号,然后重新查询取一个

问题2、删除行的时候,判断一下编号是否有值,没有的就不需要添加到回收表。如果有编号,也建议也查询回收表判断一下回收表是否已经存在这个删除的编号,如果有就不要重复添加了,避免出现问题1 的情况

问题3、我测试没有问题。应该是使用了重复的编号导致的

最后提醒一下,建议回收表加一个表名列,记录编号是哪个业务表使用的,取废号的时候根据表名取。不可能不同的单据都使用同一种编号。很多时候看别人的代码是要学习别人处理问题的思路和逻辑,而不是就照搬
[此贴子已经被作者于2022/6/2 10:29:40编辑过]

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/6 9:29:00 [显示全部帖子]

Dim dr1 As DataRow = DataTables("回收编号").Find("表名 ='xx订单表' and 编号 ='" & e.OldValue & "'")
if dr1 is nothing then
            dr1 = DataTables("回收编号").AddNew
              dr1("表名") = 'xx订单表'        
            dr1("编号") = e.OldValue
dr1.save
end if
[此贴子已经被作者于2022/6/6 9:29:15编辑过]

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/6 10:02:00 [显示全部帖子]

表名请改为自己正确的表名称。

编号是主键?把表名也作为主键

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/6 10:13:00 [显示全部帖子]

肯定有设置主键,不然不会有8楼的提示。建议改使用foxtable的_identify做主键。或者表名+编号双主键

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/6 11:28:00 [显示全部帖子]

建议改使用foxtable的_identify做主键。或者表名+编号双主键


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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/6 13:43:00 [显示全部帖子]

测试前,先清空数据。或者保证回收表不能存在业务表在用的编号。业务表要保证编号的规则一致。

例子只处理了订单,销售自行参考来改
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境杂编号.zip



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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/6 16:47:00 [显示全部帖子]

会的。跨网络,要使用服务端统一管理,类似:http://www.foxtable.com/webhelp/topics/3008.htm

 回到顶部