我有业务需要将Access(2013)中的数据导出到Excel(2010 \ 13)中,然后将其分发给x个用户。这将定期发生。我想在Access中执行尽可能多的格式化等操作,并避免在Excel中创建宏并调用它们。
这是我在Access中的数据:
Cat1 Cat2 Cat3 Item Desc
AAA PPP QQQ WID1 Widget1
AAA RRR KKK WID2 Widget2
AAA RRR JJJ WID3 Widget3
BBB DDD EEE WID4 Widget4
BBB FFF UUU WID5 Widget5
在Excel中,数据需要如下所示
AAA
PPP
QQQ
WID1 Widget1
RRR
KKK
WID2 Widget2
JJJ
WID3 Widget3
BBB
DDD
EEE
WID4 Widget4
FFF
UUU
WID5 Widget5
有没有办法循环访问Access中的数据,构建一个如上所示的临时表,然后将临时表导出到Excel?或者必须按原样导出数据,然后在Excel中调用宏来执行格式化?
此致
迈克尔
答案 0 :(得分:1)
首先,从您的示例中,您的Access表似乎未规范化。如果您选择不更正,根据您的示例数据,您可以使用联合查询执行所需的操作。当然,这取决于您实际确定要包含哪些行/列的方式。
SELECT Cat1, NULL AS Desc FROM <yourTable> WHERE Cat1='AAA'
UNION ALL
SELECT Cat2, NULL AS Desc FROM <yourTable> WHERE Cat1='PPP'
UNION ALL
SELECT Cat2, NULL AS Desc FROM <yourTable> WHERE Cat1='QQQ'
UNION ALL
SELECT Item, Desc FROM <yourTable> WHERE Item='WID1'
UNION ALL ...