这是我的数据示例:
ID
- autonumber
~ 是他们的主键
Week
- 小 pig 出生的那一周
Sow Order
- 母 pig 数量
规则:
1. 如果仔 pig 在同一周出生,不管他们的母 pig 。仔 pig 编号继续
2. 如果下周有仔 pig 出生,编号返回到 0001 然后规则 1。
仔 pig 的添加方式是,week + sow + (number of pigles)
。例如(10),week=01 & sow=01会产生10头0001到0010的仔 pig 。
问题是,如果用户在要添加的仔 pig 数量上有误怎么办?根据图片,01 01 有两只小 pig
,如果不是只有 2 只怎么办?比如说,它是 3。所以用户需要删除它,然后编号必须调整为..
01 | 01 | 0001
01 | 01 | 0002
01 | 01 | 0003
01 | 02 | 0004
01 | 02 | 0005
做这种事情的正确方法是什么?
最佳答案
如果 Access 数据库版本至少为 Access 2010,则可以使用事件驱动的数据宏来强制执行编号方案。对于名为 [Piglets] 的表
使用 [AfterInsert] 的数据宏:
[更新后]:
[删除后]:
和命名数据宏 [RenumberPiglets]:
重新编号会自动进行,即使表格是从外部应用程序(例如 VB.NET 或 C#)更新的。
对于 Access 数据库版本 2007 及更早版本,类似的逻辑必须写入用于更新表的数据输入表单。
关于.net - 更改数据后自动对 Access 表中的记录重新编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21750591/