【问题标题】:Transform table with records having multiple field values into a join table将具有多个字段值的记录的表转换为连接表
【发布时间】:2020-07-05 21:10:14
【问题描述】:

如果标题和问题不清楚,请提前致歉 - 我在 4 天前开始使用 Access,现在只完成了 Access 2016 Bible 的 1/10。

迄今为止,我一直在真正属于数据库的 excel 工作表中管理数据。因此,我最近开始迁移到 Access 2016 数据库。

目前数据存储在表格/数据表中,如下所示:

CustomerID | InvoiceID
1          |  1 3 6 7 12 15
2          |  1 2 3
3          |  3 6 7
4          |  1 12 15

每个客户 ID 与多个发票 ID 相关,每个发票 ID 与多个客户 ID 相关(多对多关系)。 InvoiceID 字段目前被格式化为短文本,并且值用空格分隔。

我知道要规范化这些数据,我应该有 3 个单独的表,例如一个客户表、一个发票表和一个联接表,它以一对一的记录显示从客户到发票的每个链接。

鉴于这种情况,如何最好地将我当前的表变成三个表?我尝试使用创建表查询,我可以开始工作(一次为一个客户),但我不确定如何自动化该过程以节省我手动创建约 40 个查询的时间。

非常感谢您的帮助。

【问题讨论】:

    标签: sql vba ms-access


    【解决方案1】:

    问候和欢迎,

    我认为您的提案会起作用,连接表将有两个字段,客户 ID 和发票 ID,可能带有重复索引,然后是 2 个主查询 - 带有客户的发票和带有发票的客户,您可以在其他字段中使用报告查询等。如果您需要进行多个连接,例如和客户向该发票上的所有客户开具发票,这可能会有点混乱。

    布莱尔

    【讨论】:

    • 感谢您的评论布莱尔。我很高兴听到您同意提议的结果,但是我正在寻求有关该过程的具体帮助 - 如何从我现在拥有的表中获取数据应该在的三个表中。
    猜你喜欢
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2014-07-02
    • 2021-11-22
    相关资源
    最近更新 更多