0

MSACCESS クエリ:

2 つのテーブル (Right Join) からフィールドを取得する追加クエリがあります。1 つのフィールドの値をフォームの値で乗算する式を追加したいと考えています。計算式を追加するまで、クエリは正常に機能しますが、別の (関連のない) フィールドが集計関数の一部ではないというエラーが発生します。そのフィールドを削除すると、計算式を削除しない限り、別のフィールドについて不平を言うことになります。

作品:

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 を返します。

4

1 に答える 1

0

私の提案: 単に削除してSum()使用することから始めます...

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

...または多分ただ...

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

コードをテストして、希望する結果が得られるかどうかを確認してください。そうでない場合は、質問を編集して、代表的なサンプル データと、達成したいことの例を示してください。

于 2013-04-25T07:38:57.570 に答える