表的自定义自动编号 ID?

Posted

技术标签:

【中文标题】表的自定义自动编号 ID?【英文标题】:Customized Auto-Number IDs for tables? 【发布时间】:2009-12-14 11:48:17 【问题描述】:

有没有办法在表格中使用我自己的号码,比如自动号码;即自动将下一个可用的记录分配给新记录。对于我想绑定到这个数据库的每个员工,我们都有系统 ID 号。我只想让表格自动分配下一个数字。

我可以这样做吗? 这可以通过混合数字和字母来完成吗? 是否可以使用标准,例如代码 A = 某组数字,代码 B = 另一个?

【问题讨论】:

【参考方案1】:

当然可以,但您必须自己设计。

有数百种方法可以做到这一点,但一种方法可能是您可能有一个带有“nextQuote”、“nextEmployeeNo”、“nextJob”的参数表......当然,您的表设计可以有任何东西,包括前缀示例;

PARAMETERS
Prefix    Number
Q          1145
E            54
J           999

所以现在你可以SELECT PreFix + MAX(Number) AS NextEmployee FROM Parameters WHERE Prefix = E

在您的代码中,您可以在处理后增加数字。

UPDATE Parameters SET Number = number + 1 WHERE Prefix = E 

如果这不能胜任这份工作,那么希望它能让你思考如何做类似的事情。

希望这会有所帮助。

【讨论】:

是的,我认为这会让我朝着正确的方向前进。谢谢!【参考方案2】:

对于 ADO 用户:

How To Implement Multiuser Custom Counters in Jet 4.0

对于 DAO 用户:

How To Implement Multi-user Custom Counters in DAO 3.5

【讨论】:

不幸的是,您引用的文章使用了 ADO 和 JRO,这两种技术在使用 Jet/ACE 数据存储时确实不需要。这篇文章展示了如何在 DAO 中做同样的事情:support.microsoft.com/kb/191253/EN-US——它不需要任何额外的引用或后期绑定,并且 100% 等同于 ADO/JRO 版本(即,它与 Jet 做同样的事情数据库引擎)。 我将停止编辑并保留我的评论,因为要重新编辑它以使其措辞恰当,我会删除您帖子的全部内容并用我的替换它,因为ADO 版本在 Access 上下文中几乎无关紧要。 首先,问题中没有任何内容表明上下文不是 Access 数据库引擎。其次,“人们真正不需要的技术”和“ADO 版本几乎无关紧要”只是争论:ADO 与 DAO 之类的。你真的想再次经历这一切吗? 如果您在 Access 中编程,DAO 是合适的数据接口。这在 A2007 中和在所有以前版本的 Access 中一样正确。 ADO 有一些 DAO 不能做的事情,可以与后期绑定和/或使用 CurrentConnection 对象一起使用。但是 DAO 是适合在 Access 中编程的数据接口库,其中与 ADO 有重叠(大约 99%)。 同样,问题中没有任何内容表明上下文不是 Access 数据库引擎。其次,您对“适当”一词的使用是主观的,即偏向于您自己的个人喜好。我从 Microsoft 和 Access 团队看到的所有建议要么支持 ADO 而不是 DAO,要么同样支持它们。第三,重叠率远低于 99%(对于 ADO,认为 Jet 4.0 功能集加上制造/分层/断开的异步获取、批量更新、另存为 XML 记录集等)。可能是 80% 的用户使用的 99% 的功能。

以上是关于表的自定义自动编号 ID?的主要内容,如果未能解决你的问题,请参考以下文章

添加具有自动递增的自定义 ID 的子项 - Firebase

php Gravity Perks // GP媒体库//自动添加文件ID的自定义字段

带有公会编号的自定义状态[关闭]

Django 中的自定义 url 模式

如何从 SQL Server 中的自定义数字自动增加主键? [关闭]

django怎样获得框架自动定义的自增id字段