【问题标题】:update main table with number of records from another table in access 2013使用 access 2013 中另一个表的记录数更新主表
【发布时间】:2016-05-04 20:40:22
【问题描述】:

我正在使用 access 2013。我创建了一个有多个孩子的家庭数据库。第一个表格包含每个家庭的一般信息,例如电话号码地址等。以及与另一个表格相关的 ID 号,该表格包含儿童列表及其年龄学校等信息。 不想将孩子的总数放到第一个表中带有姓氏的字段中。 我感谢所有的想法!

【问题讨论】:

    标签: ms-access-2013


    【解决方案1】:

    手头没有访问权限,但请尝试以下 T-SQL: SELECT Family.Name, Count(*) FROM Children INNER JOIN Family GROUP BY Family.Id

    这将为您提供每个家庭 ID 的孩子数量。参考这篇文章:https://support.office.com/en-us/article/GROUP-BY-Clause-84eeb766-25d2-4aa1-8eea-002bb65ef3a0

    用孩子的数量更新家庭表通常是一种不好的做法,称为“非规范化”。当您拥有数百万条记录并且运行 JOIN 比遇到子元素计数不正确的问题时,这通常是合理的。在 MSSQL 中,这可以通过使用触发器来解决,而在 Access 中显然不会有。所以我建议你不要用你的问题开始的方法。

    【讨论】:

    • “在 MSSQL 中,这可以通过使用触发器来解决,而您显然不会在 Access 中使用。” - 不正确。在 Access 2010 及更高版本中,事件驱动的数据宏(与触发器非常相似)可以做到这一点。
    • 感谢您的意见,我尝试使用事件驱动宏,但我不知道如何创建我上面询问的特定字段。
    • @dov - 请参阅this answer 来回答一个非常相似的问题。唯一的区别是,您将增加一个计数器并使用其子记录的最终计数来更新父记录,而不是创建连接字符串。
    猜你喜欢
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多