以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自动生成编号出现问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109730)

--  作者:yang287859141
--  发布时间:2017/11/18 8:31:00
--  [求助]自动生成编号出现问题
请教下,我的狐表做的一个ERP系统,以前的订单编号是自动按顺序生成的,现在订单编号突然随机生成了,并且如果跟以前编号重复的话会把以前的订单覆盖,求助下应该在哪里修改下。谢谢
--  作者:有点蓝
--  发布时间:2017/11/18 9:02:00
--  
是不是更换过数据源了?

应用场景:
表的编号依赖_Identify列的值,如:RW-1、RW-123,数字1、123来自_Identify列的值。这时如果转换数据源,可能会导致_Identify列的值重新开始计数,编号就会有问题。

按下面步骤操作:
1、查询编号冲突的表看当前最大的编号和_Identify列的值是多少?比如编号最大为RW-5000,_Identify列最大为4999,那么取2者最大的值5000加上100,为5100
2、打开狐表Sql查询器,输入以下sql,执行
如果是Access:
ALTER TABLE [表名称] ALTER COLUMN [_Identify] COUNTER (5100, 1)
如果是SqlServer:
DBCC CHECKIDENT (表名称, RESEED, 5100)
sql说明:
表名称 - 改为自己编号冲突的表的名称
5100 - 这里的5100就是第一步中最大值+100的结果

设置后access下一个自动编号是5100,而SqlServer是5101。

--  作者:yang287859141
--  发布时间:2017/11/18 10:18:00
--  
已经修改好了,编号的前缀出现了两个相同的。我改了其中一个,现在好了,应该不会有什么问题吧,非常感谢您。