MS Access导出到Excel格式

时间:2017-04-03 13:19:14

标签: excel ms-access access-vba

我有业务需要将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中调用宏来执行格式化?

此致

迈克尔

1 个答案:

答案 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 ...