使用新外键添加记录

时间:2016-06-24 15:15:01

标签: sql ms-access

我有几个表来存储我的数据库中的公司信息,但我想关注其中两个。一个表Company包含CompanyID,它是自动增量的,还有一些其他列与现在无关。问题是公司使用不同版本的名称(例如IBM与国际商业机器),我希望/需要将它们全部存储起来以供进一步使用,因此我无法在Company表中保留名称。因此,我有另一个表CompanyName使用CompanyID作为外键(它是一对多关系)。

现在,我需要导入一些新公司,而且我只有名字。因此,我想将它们添加到CompanyName表中,但立即在Company表中创建新记录,这样我就可以在CompanyID表中放右CompanyName

一个查询可以吗?如何正确处理这个问题?我是否需要尽可能地编写VBA程序来逐个添加记录?

我搜索了Stack和其他网站,但我没有找到任何解决方案来解决我的问题,我自己也无法弄明白。我想它可以用form和subform完成,但最终我想把所有的查询放在宏中,所以数据导入会自动完成。

我不是数据库专家,所以也许我只是设计得很糟糕,但我没有找到另一种方法来干净地存储同一实体的多个名称。

1 个答案:

答案 0 :(得分:0)

您设置的表格结构似乎是一种很好的方法。但是,没有办法同时在两个表中插入记录。一种选择是编写两个查询以将记录插入公司,然后插入CompanyName。将记录插入公司后,您需要创建一个查询,该查询从源表连接到Company表,将其连接到唯一定义自动增量键旁边的记录的字段上。这将允许您从公司获取关键字段,以便在插入CompanyName时使用。

另一种选择是编写一些VBA代码来循环插入记录到两者的源数据。这将是更可取的,因为它应该更可靠。