• 締切済み

アクセス・クロス集計(計算式のクエリ・フィールド)

(1) テーブルには、消費税込の支払額があります。 (2) クエリ内にてその消費税を税抜にするフィールド(計算式)【税抜合計】を追加しました。 (3) そのフィールド(計算式)を用いたクロス集計クエリを算出しようとしているのですが、 「'[税抜合計]を有効なフィールド名、または式として認識できません。」とエラーが出ます。 これはパラメータを使ってエラー処理行うべきものなのでしょうか? 対処方法をご教示頂けますと幸いです。 よろしくお願いします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.4

(2) クエリ内にてその消費税を税抜にするフィールド(計算式)【税抜合計】を追加しました。 ----------------------------------------------------------------------- この式を提示願います。 追伸 消費税は円未満切り捨 が基本です 税抜:支払額-FIX(0.05*[支払額] かと

回答No.3

お断り:税抜き計算式は正しいとは限りません。通常は、”切り上げ”かと・・・。

回答No.2

訂正:少し、冗長でした。 TRANSFORM Sum(Rounds((支払管理.支払額*100/105),1)) AS 税抜支払額の合計 SELECT 支払管理.仕入先_id, Sum(税抜支払額の合計) AS [合計 税抜支払額] FROM 支払管理 GROUP BY 支払管理.仕入先_id PIVOT 支払管理.月次;

回答No.1

TRANSFORM Sum(Rounds((支払管理.支払額*100/105),1)) AS 税抜支払額の合計 SELECT     支払管理.仕入先_id,     Sum(Rounds((支払管理.支払額*100/105),1)) AS [合計 税抜支払額] FROM 支払管理 GROUP BY 支払管理.仕入先_id PIVOT 支払管理.月次; ' -------------------------------------------- ' A=0:四捨五入 ' A=1:切り捨て ' A=2:切り上げ ' -------------------------------------------- Public Function Rounds(ByVal M As Currency, _                ByVal A As Integer, _                Optional D As Integer = 0) As Variant   Dim R As Currency   Select Case A     Case 0 ' 四捨五入       R = Fix(M * 10 ^ D + 0.5@)     Case 1 '切り捨て       R = Fix(M * 10 ^ D)     Case 2 ' 切り上げ       If Int(M) <> M Then         R = Fix(M * 10 ^ D) + 1 * 10 ^ D       Else         R = Fix(M * 10 ^ D)       End If   End Select   Rounds = Sgn(M) * (R / 10 ^ D) End Function こんなことをやろうとしているのですか? 少し、回答者が検証しやすいように補足されたがよいかも知れません。 PS、クロス集計SQL文のミスかと思います。

関連するQ&A