如何从Access数据库中选择所有表到新的pivottable

时间:2015-01-16 21:29:51

标签: sql vba excel-vba access-vba excel

我正在尝试创建一个pivottable,我可以在我的访问数据库中浏览所有不同的表。例如,我有不同的股票数据:“Elux”,“Alfa”,“第三”等等。我想让它们全部显示在一个数据表中,截至目前我只能设法为一个表创建一个数据表通过VBA。

当使用宏记录集手动执行时,我得到以下代码,宏记录器有双引号问题,如果向数据库添加新表并在数据表上点击刷新,则语句也不会更新。

有人有任何想法吗?我想要的是一个SQL查询,基本上是:SELECT * FROM所有表,但我在google搜索时找不到方法。

更新:所以我尝试了“SELECT * FROM Instruments,Geti”,但问题是我无法得到整洁的视图,然后我可以将相应的字段折叠到表中,一切都只是乱七八糟。

来自宏记录的代码

Sub Tester
    Sheets.Add
    Workbooks("YQL.xlsm").Connections.Add2 "DataBase", "", _
        "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password=;User ID=Admin;Data Source=C:\Users\name\Desktop\DataBase.accdb;Mode=ReadWrite;Extended Properties=;Jet OLEDB:System database=;Jet OLEDB:Registry Path=;Jet OLEDB:Database Password=;Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLE" & _
        "atabase Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False", """" & _
        "ASS"
,""X"",""GETI"",""Instruments"",""SWED"",""YHOO""", 6, TRUE, FALSE
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
        ActiveWorkbook.Connections("DataBase"), Version:=xlPivotTableVersion15). _
        CreatePivotTable TableDestination:="Sheet4!R3C1", TableName:="PivotTable7" _
        , DefaultVersion:=xlPivotTableVersion15
    Sheets("Sheet4").Select
    Cells(3, 1).Select
End Sub

0 个答案:

没有答案