Access VBA避免在向链接表中添加记录时与主键发生冲突



因此,这个问题的根源可能在于糟糕的数据库设计,其中一些设置方式是从旧版本继承来的。我只是想不出更好的方法来做这件事。

我有四个由同一字段链接的表:[OJECTID]。每个表都链接到一个控制数据的访问窗体。重要的是,这些表是独立的,因为数据是地理参考的,需要单独映射,但它们默认情况下会从彼此继承多个字段。

大多数时候,表格是一对一对一的关系,但偶尔只有第一个表格的数据,偶尔只有第二、第三和第四个表格的信息

现在,第一个表中的[OJECTID]字段被设置为数据类型autonumber,这样其他表中的所有后续链接记录都可以继承该数字。对于Tbl1中的记录不是通过Form1输入的情况,只分配一个与任何当前数字都不冲突的数字是很容易的,但我如何避免分配一个可能与Tbl1的自动编号字段生成的未来[OJECTID]冲突的数字?

抱歉,如果这让人困惑!提前感谢你帮我想清楚。。。。

如果设计是正确的,那么tbl1和表2/3/4之间应该存在具有引用完整性的关系。既然您提到了occasionally, there is only data for the second, third and fourth form,这意味着我们在这里没有引用完整性://。

我会确定所有4个表共有的字段,并用这些字段创建一个"主"表,这意味着必须填充主表。然后创建一个与其他4个表的1到0,1的关系,使用外部联接,它们的PK是一个长整数。

对于表单1到4的源,请在MainTable和T1/2/3/4之间使用外部联接。然后,"子表"将继承主表的PK。

希望我不是太晦涩。

最新更新