[英]MS Access, VBA - Export Crosstable to Excel
目的
APPROACH
问题
DoCmd.TransferSpreadsheet
)来导出交叉表? 为什么这么难,令我惊讶,为天真致歉
我只是在MS Access中创建所需的查询。
然后在Excel中,我编写了一个宏,用于运行查询并将其输出到工作表。 请参阅下面的示例。
Dim cnString As String
Dim rs As New ADODB.Recordset
'Change connection string to an MS Access one
cnString = "Provider=xx;Server=xx,49168;Database=xx;"
rs.Open queryName, cnString, adOpenStatic, adLockOptimistic
'Output Headings
For i = 1 To rs.Fields.Count
Sheets(PasteSheet).Range(pasteCell).Offset(0, i - 1) = rs.Fields(i - 1).Name
Next i
'Output data
Sheets(PasteSheet).Range(pasteCell).Offset(1, 0).CopyFromRecordset rs
rs.close
如果您想在MS Access中完成所有这些操作,则无需花费太多修改。 您只需要创建一个新的工作簿,然后执行与上述代码非常相似的操作即可。
跟进我原来的帖子。 看来您可以使用DoCmd.TransferSpreadsheet
导出交叉表。
我在下面定义了工作代码:
outputQuery = [your cross table query]
outputPath = [save-to file location]
outputFileName = [save-to file name]
DoCmd.TransferSpreadsheet acExport, SpreadsheetType:=acSpreadsheetTypeExcel12Xml, TableName:=outputQuery, FileName:=outputPath & outputfilename
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.