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?.

Preguntas similare

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']
Respuesta Responder a este mensaje
#2 Javier Fernandez
25/11/2003 - 09:14 | Informe spam
Antes de nada, gracias por tu ayuda.

1.- podrias 'atrapar' los [posibles] errores en
la 'revision' del commandtext dentro de un 'Select
Esta hecho. La cuestión era ver si desconocía realmente
cómo hacerlo y obtenía otra vía o estrategia.

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...


No muestro realmente el diálogo (al usuario no lo quiero
hacer interactuar, por que ya sé lo que quiero hacer...).
La estrategia que me indicastes no funciona siempre (da
error en ocasiones).

Si me indicas alguna dirección de correo te envio código
detallado, para exponerte dónde residen "los problemas"

Gracias



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']


.

Respuesta Responder a este mensaje
#3 Héctor Miguel
25/11/2003 - 09:38 | Informe spam
Hola, Javier !


... direccion de correo te envio ... donde residen "los problemas"



solo quita de la direccion que aparece el 'NO...SPAM...PLS'

saludos,
Héctor.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida