Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MSACCESS查询:不是聚合函数的一部分_Ms Access_Expression_Aggregate - Fatal编程技术网

Ms access MSACCESS查询:不是聚合函数的一部分

Ms access MSACCESS查询:不是聚合函数的一部分,ms-access,expression,aggregate,Ms Access,Expression,Aggregate,MSACCESS查询: 我有一个append查询,它从两个表中提取字段(右连接)。我想添加一个表达式,将一个字段中的值乘以表单上的值。在添加计算表达式之前,查询工作正常,但错误在于另一个(不相关)字段不是聚合函数的一部分。如果我删除该字段,它将抱怨另一个字段,除非我删除计算表达式 作品: INSERT INTO quote_items ( quote_unique, quote_group_a, quote_group_b, unique_product_id, DESCRIPTION, nat

MSACCESS查询:

我有一个append查询,它从两个表中提取字段(右连接)。我想添加一个表达式,将一个字段中的值乘以表单上的值。在添加计算表达式之前,查询工作正常,但错误在于另一个(不相关)字段不是聚合函数的一部分。如果我删除该字段,它将抱怨另一个字段,除非我删除计算表达式

作品:

INSERT INTO quote_items ( quote_unique, quote_group_a, quote_group_b, unique_product_id, DESCRIPTION, nat_price, markup, sell_price )
SELECT [Forms]![frmQUOTE].[txtQUOTE_NO] AS quote_unique, [Forms]![frmQUOTE].[cmbGROUP_A] AS quote_group_a, [Forms]![frmQUOTE].[txtGROUP_B] AS quote_group_b, ASSY_CHILDREN.UPI, ASSY_CHILDREN.DESCRIPTION, [A - MASTER PRODUCT LIST].[NAT PRICE], [Forms]![frmQUOTE]![txtMU] AS markup, ([NAT PRICE]*[markup])+[NAT PRICE] AS sell_price
FROM [A - MASTER PRODUCT LIST] RIGHT JOIN ASSY_CHILDREN ON [A - MASTER PRODUCT LIST].[UNIQUE PART NO] = ASSY_CHILDREN.PARENT_UPI
WHERE ((([A - MASTER PRODUCT LIST].[UNIQUE PART NO])=[Forms]![frmQUOTE].[cmbPART_TO_ADD]));
不起作用:

INSERT INTO quote_items ( quote_unique, quote_group_a, quote_group_b, unique_product_id, DESCRIPTION, QTY, nat_price, markup, sell_price )
SELECT [Forms]![frmQUOTE].[txtQUOTE_NO] AS quote_unique, [Forms]![frmQUOTE].[cmbGROUP_A] AS quote_group_a, [Forms]![frmQUOTE].[txtGROUP_B] AS quote_group_b, ASSY_CHILDREN.UPI, ASSY_CHILDREN.DESCRIPTION, Sum([QTY]*[Forms]![frmQUOTE]![txtQTYTOADD]) AS expr1, [A - MASTER PRODUCT LIST].[NAT PRICE], [Forms]![frmQUOTE]![txtMU] AS markup, ([NAT PRICE]*[markup])+[NAT PRICE] AS sell_price
FROM [A - MASTER PRODUCT LIST] RIGHT JOIN ASSY_CHILDREN ON [A - MASTER PRODUCT LIST].[UNIQUE PART NO] = ASSY_CHILDREN.PARENT_UPI
WHERE ((([A - MASTER PRODUCT LIST].[UNIQUE PART NO])=[Forms]![frmQUOTE].[cmbPART_TO_ADD]));
该表达式添加了:

expr1: Sum([QTY]*[Forms]![frmQUOTE]![txtQTYTOADD])

更糟糕的是,它抱怨UPI不是聚合的一部分,但如果删除此计算表达式(与UPI无关),则返回UPI很好。

我的建议:首先简单地去掉
Sum()
并使用

expr1: [QTY]*[Forms]![frmQUOTE]![txtQTYTOADD]
…或者只是

expr1: [Forms]![frmQUOTE]![txtQTYTOADD]

测试你的代码,看看它是否能给你想要的结果。如果没有,那么您的问题将向我们展示一些具有代表性的示例数据和您想要实现的示例。

无论何时使用聚合函数,您都必须定义分组标准(
按字段分组1,字段2,
);这就是你的查询不起作用的原因