problema raro con tablas dinámicas

12/11/2003 - 22:54 por Javier Fernandez | Informe spam
Tengo creada una tabla dinámica que se apoya en una
consulta de Access. Hago uso de un campo a modo de cuadro
desplegable o combo para filtrar la información. Mi
problema está en que por mucho que refresque o actualice
los datos, valores ya borrados del campo usado en el combo
siguen apareciendo.Esto me lleva a pensar que los datos no
se están actualizando realmente, pero en los valores del
resto de la tabla si se puede ver que está actualizando.
Además, si se añaden nuevos valores en la base de datos,
que constituyan nuevos valores para el campo del combo,
dichos valores aparecen en el mismo.
El resumen es que al añadir no hay problemas, al borrar
los valores del cuadro despegable no se eliminan
¿Cómo solucionarlo?, ¿existe forma de hacerlo desde
programación?

Preguntas similare

Leer las respuestas

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

... tabla dinamica ... campo ... para filtrar la informacion
... problema ... valores ya borrados ... siguen apareciendo
... ¿Como solucionarlo ... desde programacion?



para eliminar el 'efecto de memoria' de los elementos ya borrados [en la BD] de los campos [en TD's]...
Sub Limpiar_TD()
Dim Campo As PivotField, Filtro As PivotItem
For Each Campo In ActiveSheet.PivotTables(1).PivotFields
For Each Filtro In Campo.PivotItems
If Filtro.RecordCount = 0 Then Filtro.Delete
Next: Next
End Sub

si hubiera varias TD's en la misma hoja...
Sub Limpiar_TDs()
Dim Tabla as PivotTable, Campo As PivotField, Filtro As PivotItem
For Each Tabla in ActiveSheet.PivotTables
For Each Campo In Tabla.PivotFields
For Each Filtro In Campo.PivotItems
If Filtro.RecordCount = 0 Then Filtro.Delete
Next: Next: Next
End Sub

si hubiera campos calculados [que quisieras conservar], modifica la 'eliminacion' a:
If Filtro.RecordCount = 0 And Not Filtro.IsCalculated Then Filtro.Delete

saludos,
Héctor.
Respuesta Responder a este mensaje
#2 Anonimo
13/11/2003 - 08:03 | Informe spam
Muchas gracias por tu rápida respuesta
Hola, Javier !

... tabla dinamica ... campo ... para filtrar la




informacion
... problema ... valores ya borrados ... siguen




apareciendo
... ¿Como solucionarlo ... desde programacion?



para eliminar el 'efecto de memoria' de los elementos ya


borrados [en la BD] de los campos [en TD's]...
Sub Limpiar_TD()
Dim Campo As PivotField, Filtro As PivotItem
For Each Campo In ActiveSheet.PivotTables(1).PivotFields
For Each Filtro In Campo.PivotItems
If Filtro.RecordCount = 0 Then Filtro.Delete
Next: Next
End Sub

si hubiera varias TD's en la misma hoja...
Sub Limpiar_TDs()
Dim Tabla as PivotTable, Campo As PivotField, Filtro As


PivotItem
For Each Tabla in ActiveSheet.PivotTables
For Each Campo In Tabla.PivotFields
For Each Filtro In Campo.PivotItems
If Filtro.RecordCount = 0 Then Filtro.Delete
Next: Next: Next
End Sub

si hubiera campos calculados [que quisieras conservar],


modifica la 'eliminacion' a:
If Filtro.RecordCount = 0 And Not


Filtro.IsCalculated Then Filtro.Delete

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