【问题标题】:How do I stop autonumber in a table spiralling out of control?如何在失控的表格中停止自动编号?
【发布时间】:2019-10-08 14:43:15
【问题描述】:

我正在使用追加查询将记录从表 1 导入到表 2。表 2 有一个自动编号字段,用于生成主键。我在表 2 中的 4 个字段上有一个复合键,它停止从表 1 导入重复记录。当我运行附加查询时,它说它将添加 200k 记录,但随后只导入新的 5k 记录。一切都很好,只是表 2 中的自动编号会跳到新记录的 195k 高。

我已经研究过使用连接来获取附加查询以仅从表 1 中提取新的 5k 记录,但我能看到的唯一组合似乎都包括其中一个表中的所有记录。避免自动编号失控的最简单方法是什么?

【问题讨论】:

    标签: ms-access


    【解决方案1】:
    • 导入到具有复合键但没有自动编号的(临时)表。
    • 将大约 5K 记录从该表复制到您的 Table2。

    或者:

    将 ID 设置为不自动编号。

    每次导入后,手动更新(空)ID。

    【讨论】:

    • 谢谢。您将如何识别新的 5k 记录然后复制它们?
    • 将 ID 保留为 Null 或 0(零)作为默认值。
    • 嗨。很抱歉延迟回复和我要问的问题 - 漫长的一天。您是否建议我将所有记录导入临时表,然后只复制 5k 条新记录?还是您建议我只复制 5k 条记录,然后再复制出来?无论哪种情况,我如何识别表 1 或临时表中的 5k 条新记录?我注意到您建议保留为 Null 或 0,但这如何帮助我将表 1/临时表与表 2 进行比较以查找新记录?
    • 如果我在没有自动编号的临时表中复制表 2 并带有一个附加字段,每条记录都为“1”。然后我运行一个追加查询,它只导入新记录而不填写附加字段。然后我运行一个更新查询来删除所有旧的表 2 记录并运行另一个附加查询来将这些添加到表 2。你的方法更简单,我只是很厚吗? (很有可能)
    • 我认为我的第二个建议将是最容易实现的。
    猜你喜欢
    • 2023-03-23
    • 2018-06-24
    • 1970-01-01
    • 2013-06-05
    • 2021-04-08
    • 2022-01-17
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    相关资源
    最近更新 更多