Access数据库-将列标题中的月份移动到具有相应金额的行中

问题描述 投票:0回答:1

我确定这很简单,但我不知道。在Access中工作-按月输入预算金额,并在列标题中输入月份。前面的列包括Account#,CostCenter,BudgetCategory和可选的ID字段。我正在尝试对数据进行转置,以使月份与相应的金额连续。谢谢您的帮助。

图像1:输入格式https://i.stack.imgur.com/mDGW5.png

Image2:所需的输出https://i.stack.imgur.com/s90LP.png

输入:

+ -------- + ---------- + ---------- + ---------- + ----- ----- + ---------- + ---------- +|帐户|中心| BudgetCat | ID |一月| 2月|合计+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- + ---------- +| 1 | A |我ID1 | 5 | 10 | 15 |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- + ---------- +| 1 | B | II | | 8 | 8 | 16 |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- + ---------- +

输出:

+ -------- + ---------- + ---------- + ---------- + ----- ----- + ---------- +|帐户|中心| BudgetCat | ID |月| Amt |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- +| 1 | A |我ID1 |一月| 5 |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- +| 1 | A |我ID1 | 2月| 10 |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- +| 1 | B | II | |一月| 8 |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- +| 1 | B | II | | 2月| 8 |+ -------- + ---------- + ---------- + ---------- + ------- --- + ---------- +

access transpose
1个回答
0
投票

创建一个表,该表包含一个包含12条记录的单列,值1-12。这些代表月份。也许将字段命名为“ Mo”。我不喜欢在Access中将其命名为“ Month”,因为这也是内置函数名称。

使用您的预算表和新的12个月表创建查询。不要创建联接(无行)。如果您现在运行,则预算表中的记录数将达到12倍。这就是您想要的。

对于您的新金额字段,您将具有如下公式:

金额:iif(Mo = 1,Jan,iif(Mo = 2,Feb,iif(Mo = 3,Mar,Apr)))

我刚刚输入了4个月,但您可以扩展到12个月。如果字段名称中有空格,请在公式中的字段名称旁加上方括号,例如:金额:iif([Mo num] = 1,[Jan预算],...

© www.soinside.com 2019 - 2024. All rights reserved.