将数据从Access导入Excel

时间:2014-08-08 16:49:03

标签: excel vba

我正在处理的Excel预算工作表中有一个宏,它从Access数据库中提取整个表。然后,我的宏有一堆SUMIFS和格式化函数,可以将特定数据组织并格式化为单独的工作表。我希望整个表格(21,000行预算数据)不会被转储到Excel工作表中,因为我只需要几行数据,具体取决于我选择的“团队”。有没有办法在我的Access数据转储中指定我只需要来自表(21,000行)而不是整个表的特定数据行?有没有办法在进行数据转储时忽略标题?

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果你已经录制了一个宏,你可以简单地编辑命令文本作为你的select语句。下面的示例只会从Templates表中提取单个列ID,而不是整个表。

Sub MyRecordedMacro
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
    "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Users\meuser\Desktop\database.accdb;Mode=Share Deny " _
    , _
    "Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:En" _
    , _
    ...
    .CommandText = "Select ID From Templates"
    ...
    ...
    End With

您可以在此处了解如何创建相应的选择语句:http://www.w3schools.com/sql/sql_select.asp

我不知道如何从此类导入中排除标头。但是,您可以在导入后删除excel中的标题行。