以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  主键列设置问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=162096)

--  作者:ycs5801
--  发布时间:2021/4/5 21:57:00
--  主键列设置问题
你好老师,因为我的软件是由主服务器和客户端构成,两者各有自己的access数据库,客户端平时无法联网使用,在客户端可以联网时候,通过局域网像服务器的mdb文件写入新的数据,由于客户端可能会有多个,我怕多个客户端的_Identify列会有重复,那么汇总到一起时则会产生麻烦。所以我在access中将编号列设为软件主键列,这样就会产生一个麻烦,当我将某行删除后,再进行添加行,这一行的编号列会与之前删除的行的编号一致,造成系统出错,提示无法添加行。请问我的做法是否可行,如何处理错误。
--  作者:有点蓝
--  发布时间:2021/4/5 22:01:00
--  
不要删除行,关闭删除功能,添加一个逻辑列,比如作废,不需要的行勾选作废。界面加载数据的时候,过滤掉已作废的行即可
--  作者:ycs5801
--  发布时间:2021/4/5 22:21:00
--  
那所有的删除操作都不起作用了啊,access中的_Identify主键列,能否自己设置多加一个字符来区分各个客户端,或者在foxtable中额外添加一列“_Identify+区分字符”,然后把这列设置为主键列,这样不但可以利用_Identify的自动增量,也区分了数据?
--  作者:有点蓝
--  发布时间:2021/4/5 22:54:00
--  
要使用自动增量就必须是主键,无法把其它列设置为主键。

可以多加一个字符来区分各个客户端。但是不能设置为主键

--  作者:ycs5801
--  发布时间:2021/4/5 23:06:00
--  
看看这个,自动增量的不一定非要设置成主键啊
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210327092138.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/4/6 0:06:00
--  
我错了,是可以的。