Cambio de origen de datos a una tabla dinámica ya creada

24/11/2003 - 17:39 por Javier Fernández | Informe spam
Tengo una tabla dinámica de Excel creada que ataca a una
base de datos externa (en Access). La idea es cambiar el
origen de datos de forma que en lugar de tirar de la base
de datos X tire de la base de datos Y (obviamente tienen
la misma estructura).

Conozco la opción de cambiar la propiedad Commandtext del
objeto pivotcache (También cambio la propiedad connection)
pero no siempre me funciona (en ocasiones genera un
error). Para ser más explícito, lo que hago es revisar la
propiedad commandtext de la tabla dinámica y substituir en
la misma las refencias de la base de datos X por la de Y
(de forma análoga con connnection). También debo expresar
que la consulta que lleva embebida la tabla dinámica es de
cierta envergadura (varias tablas ).

Cuando la "revisión" de commandtext falla, me veo abocado
a llamar al pivottablewizard con la idea de "reescribir la
tabla dinámica". Esto en ocasiones funciona, en otras
ocasiones no (pues en algunas ocasiones con esta idea en
lugar de "actualizar" la tabla dinámica lo que hace es
crear otra.

¿Cómo solucionarlo?.
 

Leer las respuestas

#1 Héctor Miguel
25/11/2003 - 03:13 | Informe spam
Hola, Javier !

... tabla dinamica de Excel ... a una base de datos ... (en Access).
... cambiar el origen ... base de datos X ... base de datos Y (... misma estructura) [...]
... lo que hago es revisar la propiedad commandtext ... y substituir ... las referencias ... X por ... Y [...]
Cuando la "revision" de commandtext falla ... llamar al pivottablewizard ... "reescribir la tabla dinamica".
... funciona, en otras ocasiones no ... en lugar de "actualizar" la tabla dinamica lo que hace es crear otra.



1.- podrias 'atrapar' los [posibles] errores en la 'revision' del commandtext dentro de un 'Select Case ... End Select'
Select Case Objeto.CommandText
Case "CommandText_1"
' [aqui las acciones si se aplica 'el caso'] '
Case "CommandText_2"
' [aqui las acciones si se aplica 'el caso'] '
Case Else
' [aqui las acciones si es un caso 'NO previsto'] '
End Select

2.- para evitar la creacion de una 'nueva' TD [creo que lo habiamos 'visto' antes]...
'asegurate' de que 'la TD' [que se quiere modificar] SEA 'la que tiene' el enfoque [esta seleccionada]
ANTES de presentar el dialogo del pivottablewizard

saludos,
Héctor.

P.D. [si lo prefieres] podrias comentar los casos de error [y la parte de codigo que 'falla']

Preguntas similares