问:如何求和列A中列B =列C的所有值。我有一个列出主键和外键的查询。我想总结外键等于主键的所有值。对于每个外键值,该总和的乘积应填充在行的末尾。 Access数据库,VBA。如何求和列A中列B =列C的所有值
这是我有:
SUM([$Amount](IIF([TableA].[Primary_Key]=[TableB].[Foreign_Key],0,0)
进入这里
问:如何求和列A中列B =列C的所有值。我有一个列出主键和外键的查询。我想总结外键等于主键的所有值。对于每个外键值,该总和的乘积应填充在行的末尾。 Access数据库,VBA。如何求和列A中列B =列C的所有值
这是我有:
SUM([$Amount](IIF([TableA].[Primary_Key]=[TableB].[Foreign_Key],0,0)
进入这里
形象的描述真的不应该使用标点符号和特殊字符的名称(唯一的例外是下划线),特别是作为第一个字符。
Sum(IIf([Primary_Key]=[ForeignKey], [$Amount], 0))
如果查询使用一个内部联接,然后返回只记录将是那些主键和外键是相同的,并且IIF()是没有必要的。
谢谢!但它没有执行'Expr1:Sum(IIf([Contracts_Contract ID] = [Funding_String_Contract ID],[Funding_String_Amount],0))''。我收到错误:“在GROUP BY子句中不能有聚合函数”。 – Gustavo
您是否尝试使用INNER JOIN并且没有建议的IIf()函数?发布尝试的SQL语句。否则,在查询设计视图中,从表达式中除去Sum并将该字段下的GROUP BY更改为Sum。然后在SQL视图中查看查询。 – June7
谢谢!但是,这仍然没有让我到我想要的地方。我正在寻找一个表达式,它将共享外键/主键的查询中的所有值相加。当前表达式似乎只验证主键和外键是相同的,而不是匹配主键和外键相同并提供总和的所有其他记录。感谢您的帮助!!! – Gustavo
为了提供与列A和列B相关联的值的总和,CROSSTAB查询是必要的。可以手动设置交叉表查询,也可以通过“创建查询”向导进行设置。
这样,所有具有相同值的外键具有相同的[SUM $ Amount_Product] – Gustavo
这是什么意思'这个总和的产品' - 什么产品?你的意思是说'这笔钱的结果'?如果你想在每一行上使用Amount字段对该表进行汇总查询,然后将该查询加入到另一个表中。编辑您的问题以提供示例数据。 – June7