我有一个项目表,我将添加一个表单来搜索并对表中的记录进行维护。我必须错过的一件事是使ItemNumber(PK)成为数字数据类型而不是自动编号。我现在在其他表中有数千条记录引用这些ItemNumbers,但我需要一种方法来基本上将数字设为a" fake"自动编号。因此,当用户创建新项目时,包含项目编号的文本框将需要查看是否为新记录,如果是,请查看下一个需要的数字。有人可以显示需要运行的VBA或宏的样本吗?
注意:我确实将字段编入索引,以便在已使用该编号时通知用户。 访问2016
答案 0 :(得分:2)
据我所知,您有一个具有唯一PK的表,常规的数字数据类型,并且您希望具有自动编号功能。如果是这样,很容易将数据类型更改为自动编号。您无法在表设计器中的自动编号字段中插入任何所需的值,但您可以使用SQL INSERT
来执行此操作。因此,只需使用Autonumber数据类型创建新表,使用查询将旧表中的所有记录复制到新表,包括PK数据,将现有的13个表重新链接到新表,删除旧表并重命名新表。其他表中不需要进行任何其他更改,它们将使用自动编号对表保持相同的引用。在此操作之后压缩并修复数据库,它将自动编号重置为最大插入值。
现在,在更改新记录中的任何其他字段后,您将能够立即查看和读取新的自动编号值。
如果您仍想创建自己的序列且数据库是多用户,我建议按照Microsoft的建议实施它: https://support.microsoft.com/en-us/kb/191253
但最好将Autonumber用作PK,将来你会遇到的问题更少。