camos contenidos en otros campos

03/06/2004 - 02:55 por Luis Menéndez | Informe spam
Hola , si tengo un campo llamado grupo que tiene los elementos "comida" y
"bebida" y otro campo llamado subgrupo que tiene carnes , pescados y lacteos
(que son comida) y cervezas y refrescos (que son bebida) , como se consigue
que en una tabla dinámica que trae los datos de una base acces cuando pongo
ambos campos como campos página (esto es el campo grupo y el campo subgrupo)
cuando en el desplegable de grupo elijo comida en el desplegable de subgrupo
solo me aparezcan como opción los elementos de subgrupo que son comida es
decir carne , pescado y lacteos.

Saludos y gracias.
 

Leer las respuestas

#1 Héctor Miguel
07/06/2004 - 10:26 | Informe spam
hola, Luis !

... tengo un campo llamado grupo que tiene los elementos "comida" y "bebida"
... otro campo llamado subgrupo que tiene carnes, pescados y lacteos (que son comida)
y cervezas y refrescos (que son bebida)
... como se consigue que en una tabla dinamica que trae los datos de una base acces
cuando pongo ambos campos como campos pagina (esto es el campo grupo y el campo subgrupo)
cuando en ... grupo elijo ... en ... subgrupo solo me aparezcan como opcion los elementos de subgrupo [...]



=>sin 'meterme' con el access<= [algunos ya habran leido que... le tengo 'flojerilla']
los siguientes codigos los he probado [directamente] con 'bases de datos' =>desde excel<se requiere 'alternar' la propiedad '.visible' de los 'pivotitems' del 'pivotfield' [subgrupo] segun el 'pivotfield' [grupo]
=>ademas de 'disparar' la macro usando el evento '_Calculate' de la hoja<= [NO hay 'eventos ' para las TD]
suponiendo que el campo 'grupo' [de la TD] 'esta' en la celda '$I$1' y es el 'pivotfield' (1)
y que el campo 'subgrupo' es el 'pivotfield' (2) y la TD es la 'pivottable' (1) [de la hoja]
[puedes sustituir los 'indices' por sus 'nombres'] ;)
usa los codigos 'propuestos' y... ¿comentas?
saludos,
hector.
=>NOTA:<'tendras que'... encontrar la manera de 'llenar' las matrices [desde access] para las variables 'Grupo' y 'Subgrupo' :((
en un modulo de codigo 'normal' ==Sub FiltrarCamposTD()
Dim Elemento As PivotItem, Grupo, _
Subgrupo, Sig As Integer, Este As Integer, Mostrar As Boolean
Grupo = Array("Bebida", "Comida")
Subgrupo = Application.Transpose(Application.Transpose( _
Array(Array("Cervezas", "Refrescos"), Array("Carnes", "Pescados", "Lacteos"))))
Application.ScreenUpdating = False
For Sig = LBound(Grupo) To UBound(Grupo)
If Range("i1") = Grupo(Sig) Then
Este = Sig + 1: Exit For
End If: Next
With ActiveSheet.PivotTables(1).PivotFields(2)
For Each Elemento In .PivotItems
If Este = 0 Then
Mostrar = True: GoTo Continuar
End If: Mostrar = False
For Sig = LBound(Subgrupo, Este) To UBound(Subgrupo, Este)
If Elemento = Subgrupo(Este, Sig) Then
Mostrar = True: Exit For
End If: Next
Continuar:
Elemento.Visible = Mostrar
Next: End With
End Sub
y en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_Calculate()
Application.EnableEvents = False
FiltrarCamposTD
Application.EnableEvents = True
End Sub

Preguntas similares