@GAS_Mania (マニア GAS)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ACCESS VBAで動的に変わる列名のクロス集計の値を合計して出したい

Q&A

Closed

解決したいこと

ACCESS 2016を使い、動的に変わる列名の集計を行いたい。
(品種を年月ごとに集計したものをエクスポートしたい)。

テーブル名:入力_T
フィールド名
[入力日]
[品種]
[グループ]
[金額]

クエリでFormatを使い[入力日]を年月表示に変更→[年月]
データ取出しにはインプットボックスを使い、指定した年月のみを抽出します。
Dim Inp As String
Inp = InputBox("年月","データ出力")
If Inp = "" Then
Exit sub
Else
Do.Cmd ~列名が動的に変わるクエリをエクセルで出力したい
End sub

上記クエリを元にクロス集計を作成
   年月 年月 年月
品種
TRANSFORM Sum([クエリ1_Q].金額) AS 金額の合計
SELECT [クエリ1_Q].品種, [クエリ1_Q].[グループ], Sum([クエリ1_Q].金額) AS [合計 金額]
FROM クエリ1_Q
GROUP BY [クエリ1_Q].品種, [クエリ1_Q].[グループ]
PIVOT [クエリ1_Q].年月;

★品種の集計クエリを作成
SELECT 集計_Q.品種,集計_Q.グループ Sum(集計_Q.[2021/12]) AS 集計1, Sum(集計_Q.[2022/02]) AS 集計2
FROM 集計_Q
GROUP BY 集計_Q.品種, 集計_Q.[グループ];

★あたり前の事ですが、ここで列名が動的な為、エラーが発生します。

こういった列名動的なクロス集計を元にした合計値を出す良い方法はないでしょうか。

発生している問題・エラー

[集計_Q].[2021/10]を有効なフィールド名、または式として認識できません。

0 likes

No Answers yet.

Your answer might help someone💌