e我想在我的 Access 数据库中创建自定义主键。
数据库将是多用户的,所以我需要一种方法来确保每个键都是唯一的,即使多个用户试图将新记录添加到同一个表中。
我需要创建自定义主键的原因是因为我的数据库启动了一个审计跟踪,该审计跟踪进入另一个我无法控制的外部系统。
然而,这个其他系统允许使用单个 12 个字符长度的用户定义字段来传递我们选择的数据。
我想使用该用户定义的字段来记录一个 12 个字符的代码,该代码具有我可以稍后推断的各种缩写(例如,前 2 个字符与我们组织中的一个部门相关,接下来的 3 个字符与产品相关,依此类推。 ..)
从我到目前为止所做的阅读来看,Access 中的自定义键似乎是一个雷区。
不过,就我的目的而言,我至少可以看到在组合 Access 的自动编号字段以从本质上帮助构建我想要的主键的折衷方案。
这就是我的想法:
我稍后想要推断的代码部分可以由我们的用户构建,例如,如果部门是人力资源部,那么前 2 个字符总是可以是“HR”。
然后假设我让访问中的自动编号为填充了我的“HR”条目的同一个表中的一个字段运行......我可以获得第三个字段来自动连接同一个表中的 2(不是查询).. .? 即像这样:
| Department | AutoNumber | CustomPrimaryKey |
| HR | 1 | HR1 |
如果这可以在 VBA 中的某个事件上完成,那就太好了(给我看代码!:))
第二部分是我是否可以让自动编号与前导零连接,以确保自定义主键的“唯一编号”部分介于 99999 和 00001 之间,即占用相同的 5 个字符空间,如下所示:
| Department | AutoNumber | CustomPrimaryKey |
| HR | 1 | HR00001 |
| HR | 2 | HR00002 |
我极不可能需要超过 100,000 个条目。
我希望这是可能且安全的!