【问题标题】:Using VBA to get the sum of values based on criteria from other tables?使用 VBA 根据其他表中的条件获取值的总和?
【发布时间】:2012-10-25 21:52:38
【问题描述】:

我需要找到一些产品的价格总和,但是价格存储在与需要定价的产品不同的表中。

但是,有一个问题,它也需要根据第三个表中的条件来选择这些项目。

所以,我需要表 1 中所有产品的价格总和,其中表 2 中的 CutID = 001。

表 1 和表 2 在 SCID 上链接,分别是一对多。

如果这没有意义,请告诉我,我会尽力澄清?

谢谢, 鲍勃·P

【问题讨论】:

    标签: sql database vba ms-access


    【解决方案1】:

    根据您的问题,我认为不需要 VBA。 Excel 公式就足够了。

    1. 向主表添加几列。在这些列中,使用 vlookup() 将您的所有信息(包括条件)集中到一个位置。
    2. 如果您只需要根据一个条件求和,请使用 sumif()。如果有多个条件,请使用 sumproduct()。

    【讨论】:

      【解决方案2】:

      一般来说,对于 Access,我最初尝试使用尽可能接近标准 SQL 查询的东西,以便于维护和可移植性。这在 Access 2010 中为我运行:

      SELECT Products.ProductID, Sum(Prices.Price) AS PriceSum
      FROM Prices INNER JOIN (Critera INNER JOIN Products ON Critera.SCID = Products.SCID) ON Prices.ProductID = Products.ProductID
      WHERE Critera.CutID="001"
      GROUP BY Products.ProductID;
      

      请告诉我们这是否适用于您的数据(我也不确定您的列名)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-18
        • 2022-01-27
        • 1970-01-01
        • 2020-04-22
        • 2013-04-08
        • 2018-12-08
        • 2021-09-27
        相关资源
        最近更新 更多