将外键从一个表复制到另一个表以建立一对多关系

时间:2021-04-20 17:00:35

标签: vba ms-access

我正在导入要访问的 excel 表(大平面表:table_original 带有以下列(A、B、C、D、E、F、G、H、I、J、K))。然后我通过将数据分发到多个表以避免冗余来完成规范化步骤。这一步之后,我想通过在平面表中添加外键来建立平面表中的数据和我移动的数据之间的一对多关系,以便删除平面表中的属性

这是分发步骤的一个示例。我将一些列属性从平面表 (table_original) 复制到现有表 (table_dest)

db1.Execute "INSERT INTO table_dest (A, B, C, D, E)" _
    & " SELECT DISTINCT A, B, C, D, E " _
    & " FROM table_original " _
    & " WHERE NOT EXISTS( SELECT 1 FROM table_dest WHERE A = table_original.A)"

这是可行的,然后我想将 table_dest 中的新主键添加为 table_original 中的外键,以便我可以删除 table_original 中的属性 A、B、C、D 和 E。

到目前为止,我只能想到使用带有外部和内部循环的记录集,以便能够将外键添加到 table_original 中的匹配数据。我期待一个不断增长的数据库。这种方法似乎不是很有效。有没有更好的办法?当我将数据从 table_original 复制到 table_dest 时,有没有办法在 table_original 中添加外键?

0 个答案:

没有答案