【问题标题】:Update Query takes only one row as value - Access 2000?更新查询只取一行作为值 - Access 2000?
【发布时间】:2017-12-07 20:37:11
【问题描述】:

我无法理解为什么我的更新查询只取最后一行中的值并将其放在同一列中的所有其他值中。

图片如下:

所以,我需要计算百分比(PBrojProdPoTip),给定 BrojProdPoTip 和 VkBrojProdPoTip 这是总和。

PBrojProdPoTip = BrojProdPoTip * 100 / VkBrojProdPoTip 

如果您尝试最后一个值,则 18248 中的 244 给出 01.34%

P = 244 * 100 / 18248 = 1.34%

我做错了什么?为什么只取一个值?

【问题讨论】:

    标签: vba ms-access expressionbuilder


    【解决方案1】:

    您有一个笛卡尔(乘法)查询。

    它可能会使用 VkBrojProdPoTip 的所有值进行更新。但是,每一个都会覆盖前一个,因此您只能看到最后一次更新。

    【讨论】:

    • 也许这是正确的答案,但是我找到了更好的解决方案。我用数据填充的主表已经包含值,所以我只是删除了辅助表 T10_nezbirni 并将其值替换为 [T10-promet].[BrojProdPoTip]。我会添加答案。
    【解决方案2】:

    自从我使用 Access 查询设计来执行此操作以来已经很久了,但我确信您的问题是您没有在三个表之间创建任何关系。结果,目标表中的所有字段都将使用您计算中的所有答案进行更新。在实践中,他们最终都得到了计算出的最后一个值。相反,您需要在表格之间创建链接,这可以通过拖放来完成。

    【讨论】:

      【解决方案3】:

      我找到了更好的解决方案。我填充数据的主表已经包含值,所以我只是删除了辅助表 T10_nezbirni 并将其值替换为 [T10-promet].[BrojProdPoTip]。

      这是截图:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多