Changing PivotTable Source programmatically
do you read the data using ADO ? If so, then the answer is easy - yes.
when you read the data into a recordset, all you need to do is set the pivot
cache's recordset property to this recordset and refresh the piviot table
To changethe source, all you need is alter the connection string.
do you need a code example?
Sub LoadDataFromAccess()
Dim MyFile As String
Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim SQL As String
Dim i As Long
MyFile = "Risk.mdb"
SQL = "SELECT * FROM BondTable"
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MyFile
rst.Open SQL, con, adOpenStatic
Cells.Clear
'headers
For i = 0 To rst.Fields.Count - 1
Cells(1, i + 1).Value = rst.Fields(i).Name
Next
' data
Range("A2").CopyFromRecordset rs
rst.Close
con.Close
Set rst = Nothing
Set con = Nothing
End Sub
"Roberto Villa Real" wrote:
I have several pivot tables in a workbook that get data from an Access .mdb
file.
But sometimes I need these pivot tables to obtain data from another Access
file.
Can I programmatically change the Source File of a Pivot Table, without
changing its query? Shall I use the PivotTableWizard? Or is there any
property that contains the Source File path?
|