Perksy_no1
Well-known Member
- Joined
- Oct 27, 2011
- Messages
- 598
- Office Version
- 365
- Platform
- Windows
Hi there, I hope someone will be able to help me with this problem.
I've got a workbook which I create a pivot table in getting the information from an Access Database. This data bases changes names monthly so I was hoping I could get VB to let me decide where from and which data base I choose
This is the VB I've got so far from recording myself opening the file
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
.Connection = Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=Z:\Imprint11\Liam\11 November MS Query Commercial.mdb;DefaultDir=Z:\Imprint11\Liam;DriverId=25;FIL=M" _
), Array("S Access;MaxBufferSize=2048;PageTimeout=5;"))
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT consolidation.Year, consolidation.Month, consolidation.Units, consolidation.sku" & Chr(13) & "" & Chr(10) & "FROM `Z:\Imprint11\Liam\11 November MS Query Commercial`.consolidation consolidation" & Chr(13) & "" & Chr(10) & "WHERE (consolidation.Year>" _
, "='2011')")
.CreatePivotTable TableDestination:= _
"'[Excess Inventory.xls]IMPRINT ACTIVE'!R3C14", TableName:="PivotTable5", _
DefaultVersion:=xlPivotTableVersion10
End With
ActiveSheet.PivotTables("PivotTable5").AddFields RowFields:="sku", _
ColumnFields:=Array("Year", "Month")
With ActiveSheet.PivotTables("PivotTable5").PivotFields("Units")
.Orientation = xlDataField
.Caption = "Sum of Units"
.Function = xlSum
End With
Range("P11").Select
ActiveSheet.PivotTables("PivotTable5").NullString = "0"
With ActiveSheet.PivotTables("PivotTable5").PivotFields("Year")
.PivotItems("Orders 10").Visible = False
.PivotItems("Orders 11").Visible = False
.PivotItems("Orders 12").Visible = False
End With
Thanks in advance
Mark
I've got a workbook which I create a pivot table in getting the information from an Access Database. This data bases changes names monthly so I was hoping I could get VB to let me decide where from and which data base I choose
This is the VB I've got so far from recording myself opening the file
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
.Connection = Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=Z:\Imprint11\Liam\11 November MS Query Commercial.mdb;DefaultDir=Z:\Imprint11\Liam;DriverId=25;FIL=M" _
), Array("S Access;MaxBufferSize=2048;PageTimeout=5;"))
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT consolidation.Year, consolidation.Month, consolidation.Units, consolidation.sku" & Chr(13) & "" & Chr(10) & "FROM `Z:\Imprint11\Liam\11 November MS Query Commercial`.consolidation consolidation" & Chr(13) & "" & Chr(10) & "WHERE (consolidation.Year>" _
, "='2011')")
.CreatePivotTable TableDestination:= _
"'[Excess Inventory.xls]IMPRINT ACTIVE'!R3C14", TableName:="PivotTable5", _
DefaultVersion:=xlPivotTableVersion10
End With
ActiveSheet.PivotTables("PivotTable5").AddFields RowFields:="sku", _
ColumnFields:=Array("Year", "Month")
With ActiveSheet.PivotTables("PivotTable5").PivotFields("Units")
.Orientation = xlDataField
.Caption = "Sum of Units"
.Function = xlSum
End With
Range("P11").Select
ActiveSheet.PivotTables("PivotTable5").NullString = "0"
With ActiveSheet.PivotTables("PivotTable5").PivotFields("Year")
.PivotItems("Orders 10").Visible = False
.PivotItems("Orders 11").Visible = False
.PivotItems("Orders 12").Visible = False
End With
Thanks in advance
Mark