tabla dinamica

11/01/2007 - 17:40 por Jiordie | Informe spam
Hola a todos,
Puedo generar una tabla dinámica a partir de un Recordset de Ado?
cómo lo haría
Mil gracias desde ya

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
12/01/2007 - 02:59 | Informe spam
hola, ?

Puedo generar una tabla dinamica a partir de un Recordset de Ado?



[en tanto comentas detalles mas... 'especificos'] :))
tomando un ejemplo de John Green para crear una TD desde un RecordSet SIN 'bajar' los datos a excel]...
estuve 'jugando' con la BD 'Neptuno' intercambiando el RecorSet entre las tablas 'Clientes' y ' Proveedores'
despues de 'crear' la tabla con la primera macro, la segunda... la he usado para modificar el origen de los datos :))

si cualquier [o informacion adicional]... comentas ?
saludos,
hector.

en un modulo de codigo 'normal' + referencias a ActiveX Data Objects + Excel 2000 o 'superior' ==Sub CrearTablaADO_RS()
Dim Con As New ADODB.Connection, RS As New ADODB.Recordset, _
Sql As String, PC As PivotCache, PT As PivotTable
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Neptuno.mdb;"
Sql = "Select * From Clientes"
Set RS = New ADODB.Recordset
Set RS.ActiveConnection = Con
RS.Open Sql
Set PC = ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
Set PC.Recordset = RS
Set PT = ActiveSheet.PivotTables.Add(PivotCache:=PC, TableDestination:=Range("a3"))
With PT
.NullString = "0": .SmallGrid = False
.AddFields RowFields:="Ciudad", ColumnFields:="País"
.PivotFields("Región").Orientation = xlDataField
End With
End Sub

Sub ModificarADO_RS_de_Tabla()
Dim Con As New ADODB.Connection, RS As New ADODB.Recordset, _
Sql As String, PC As PivotCache, PT As PivotTable
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Neptuno.mdb;"
' Sql = "Select * From Clientes"
Sql = "Select * From Proveedores"
Set RS = New ADODB.Recordset
Set RS.ActiveConnection = Con
RS.Open Sql
Set PC = ActiveWorkbook.PivotCaches(1)
Set PC.Recordset = RS
Set PT = ActiveSheet.PivotTables(1)
PT.PivotCache.Refresh
End Sub
Respuesta Responder a este mensaje
#2 Jiordie
12/01/2007 - 13:55 | Informe spam
Muchas gracias por esta gran ayuda, me sirvió espectacular...

"Héctor Miguel" escribió en el mensaje
news:
hola, ?

Puedo generar una tabla dinamica a partir de un Recordset de Ado?



[en tanto comentas detalles mas... 'especificos'] :))
tomando un ejemplo de John Green para crear una TD desde un RecordSet SIN
'bajar' los datos a excel]...
estuve 'jugando' con la BD 'Neptuno' intercambiando el RecorSet entre las
tablas 'Clientes' y ' Proveedores'
despues de 'crear' la tabla con la primera macro, la segunda... la he
usado para modificar el origen de los datos :))

si cualquier [o informacion adicional]... comentas ?
saludos,
hector.

en un modulo de codigo 'normal' + referencias a ActiveX Data Objects +
Excel 2000 o 'superior' ==> Sub CrearTablaADO_RS()
Dim Con As New ADODB.Connection, RS As New ADODB.Recordset, _
Sql As String, PC As PivotCache, PT As PivotTable
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Neptuno.mdb;"
Sql = "Select * From Clientes"
Set RS = New ADODB.Recordset
Set RS.ActiveConnection = Con
RS.Open Sql
Set PC = ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
Set PC.Recordset = RS
Set PT = ActiveSheet.PivotTables.Add(PivotCache:=PC,
TableDestination:=Range("a3"))
With PT
.NullString = "0": .SmallGrid = False
.AddFields RowFields:="Ciudad", ColumnFields:="País"
.PivotFields("Región").Orientation = xlDataField
End With
End Sub

Sub ModificarADO_RS_de_Tabla()
Dim Con As New ADODB.Connection, RS As New ADODB.Recordset, _
Sql As String, PC As PivotCache, PT As PivotTable
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Neptuno.mdb;"
' Sql = "Select * From Clientes"
Sql = "Select * From Proveedores"
Set RS = New ADODB.Recordset
Set RS.ActiveConnection = Con
RS.Open Sql
Set PC = ActiveWorkbook.PivotCaches(1)
Set PC.Recordset = RS
Set PT = ActiveSheet.PivotTables(1)
PT.PivotCache.Refresh
End Sub

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida