将记录导出到Excel工作表

时间:2012-08-10 13:01:16

标签: excel vba ms-access recordset records

我的访问表看起来像这样,

Category | Subcategory | Userdate (mm/dd/yyyy) | Color

我想将其导出到excel文件,其中Categories和Subcategories将分别放在A列和B列中。然而,颜色将按月(Userdate)放置,12个月意味着从C到N的列。所以我想要做的是根据月份(用户日期)将颜色的记录放在不同的列中。

这样做的最佳方法是什么?创建一个记录集并循环它?我估计当行超过40k时这会有点慢。

我还可以让表格包含Month列:

Category | Subcategory | January | February | etc...

所以我可以像这样导出它,但在我看来,制作一张桌子只是一种糟糕的方式。

1 个答案:

答案 0 :(得分:1)

听起来你想要一个交叉表查询:

TRANSFORM First(Table1.Colour) AS AColour
SELECT Table1.Category, Table1.Subcategory
FROM Table1
GROUP BY Table1.Category, Table1.Subcategory
PIVOT Format([Userdate],"mm-mmm");

您可以使用DoCmd.TransferSpreadSheet

以编程方式传输到Excel