Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
I'm trying to write some VBA code to ask the user the new location of an Access database that is used as the source for an Excel PivotTable, then points that PivotTable to the new connection. Pseudo code is this: With ActiveWorkbook.PivotCaches(1) .Connection = strDBConn .CommandText = strDBCTxt End With Where strDBConn is the connection string and strDBCTxt is the SQL for the query. The first part (.Connection) works fine, but Excel halts with a "1004 error" on the assignment of CommandText. I have checked the contents of the string - and done two tests: first, re-write the code to create a new PivotCache which works with strDBConn and strDBCTxt; then a test of the original method where it assigns the current contents to a temporary string, then re-assigns it back, but it still falls over with the same error. What am I doing wrong? Thanks, Mark |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Answering my own post again... found the solution, and it's related to a bug
when you don't explicitly declare a PivotTable object as a PivotTable (i.e. declare as Object, or let Excel VBA declare it for you). Corrected code that works: Dim ptSrc As PivotTable .... Set ptSrc = Worksheets("abc").PivotTables("src") With ptSrc.PivotCache .Connection = strDBConn .CommandText = strDBCTxt End With .... Set ptSrc = Nothing Details of the bug are he http://support.microsoft.com/default...b;en-us;555165 Mark "Mark Wickett" wrote: Hi, I'm trying to write some VBA code to ask the user the new location of an Access database that is used as the source for an Excel PivotTable, then points that PivotTable to the new connection. Pseudo code is this: With ActiveWorkbook.PivotCaches(1) .Connection = strDBConn .CommandText = strDBCTxt End With Where strDBConn is the connection string and strDBCTxt is the SQL for the query. The first part (.Connection) works fine, but Excel halts with a "1004 error" on the assignment of CommandText. I have checked the contents of the string - and done two tests: first, re-write the code to create a new PivotCache which works with strDBConn and strDBCTxt; then a test of the original method where it assigns the current contents to a temporary string, then re-assigns it back, but it still falls over with the same error. What am I doing wrong? Thanks, Mark |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Scratch that... fell over second time, so I didn't catch it after all...
Oops. Mark "Mark Wickett" wrote: Answering my own post again... found the solution, and it's related to a bug when you don't explicitly declare a PivotTable object as a PivotTable (i.e. declare as Object, or let Excel VBA declare it for you). Corrected code that works: Dim ptSrc As PivotTable ... Set ptSrc = Worksheets("abc").PivotTables("src") With ptSrc.PivotCache .Connection = strDBConn .CommandText = strDBCTxt End With ... Set ptSrc = Nothing Details of the bug are he http://support.microsoft.com/default...b;en-us;555165 Mark "Mark Wickett" wrote: Hi, I'm trying to write some VBA code to ask the user the new location of an Access database that is used as the source for an Excel PivotTable, then points that PivotTable to the new connection. Pseudo code is this: With ActiveWorkbook.PivotCaches(1) .Connection = strDBConn .CommandText = strDBCTxt End With Where strDBConn is the connection string and strDBCTxt is the SQL for the query. The first part (.Connection) works fine, but Excel halts with a "1004 error" on the assignment of CommandText. I have checked the contents of the string - and done two tests: first, re-write the code to create a new PivotCache which works with strDBConn and strDBCTxt; then a test of the original method where it assigns the current contents to a temporary string, then re-assigns it back, but it still falls over with the same error. What am I doing wrong? Thanks, Mark |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Help! Stupid CommandText Problem | Excel Programming | |||
CommandText | Excel Programming | |||
Setting CommandText property of PivotCache fails if cache has 1 PivotTable | Excel Programming | |||
CommandText Property | Excel Programming | |||
change commandtext in pivotcaches | Excel Programming |