将记录导出到excel工作表

将记录导出到excel工作表,excel,vba,ms-access,recordset,records,Excel,Vba,Ms Access,Recordset,Records,我在access中有一张这样的桌子 Category | Subcategory | Userdate (mm/dd/yyyy) | Color 我想将其导出到excel文件中,其中类别和子类别将分别放在A列和B列中。但是,颜色将按月(Userdate)放置,12个月意味着从C到N的列。因此,我想做的是根据月份(Userdate)将颜色记录放置在不同的列中 做这件事最好的方法是什么?创建一个记录集并在其中循环?我认为当行数超过40k时,这可能会有点慢 我还可以使表中包含月份列,如: Categ

我在access中有一张这样的桌子

Category | Subcategory | Userdate (mm/dd/yyyy) | Color
我想将其导出到excel文件中,其中类别和子类别将分别放在A列和B列中。但是,颜色将按月(Userdate)放置,12个月意味着从C到N的列。因此,我想做的是根据月份(Userdate)将颜色记录放置在不同的列中

做这件事最好的方法是什么?创建一个记录集并在其中循环?我认为当行数超过40k时,这可能会有点慢

我还可以使表中包含月份列,如:

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

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

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

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以编程方式传输到Excel。传输电子表格

听起来您需要交叉表查询:

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