Cómo utilizar el componente tabla dinámica de Office Web Components con VB

Seleccione idioma Seleccione idioma
Id. de artículo: 235542 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se muestra cómo utilizar la tabla dinámica de Office Web Components para mostrar información en un formulario de Visual Basic.

Más información

Office Web Components son un conjunto de controles que permiten la exploración de datos de Office. Puesto que los componentes Web son controles, puede colocarlos en un formulario de Visual Basic y automatizar los componentes para mostrar los datos.

Generar el ejemplo de Automatización

  1. Inicie Visual Basic y cree un nuevo proyecto EXE estándar. Se creará Form1 de manera predeterminada.
  2. Bajo Project|References , agregue una referencia a la Biblioteca Microsoft ActiveX Data Objects 2.1 y, a continuación, haga clic en Aceptar .
  3. Presione las teclas CTRL+T para mostrar el cuadro de diálogo Agregar componentes . Agregar Office Web Components y, a continuación, haga clic en Aceptar .

    Nota : Office XP incluye Office 2000 y Office XP componentes. Para utilizar Office 2003 Web Components, agregue el Microsoft Office Components 11.0 biblioteca. Para utilizar Office 2000 Web Components, agregue la biblioteca Microsoft Office Web Components 9.0. Para utilizar el Web de Office XP componentes, agregar la biblioteca Microsoft Office Web Components 10.0.
  4. Agregar una tabla dinámica al formulario.
  5. En la ventana de código de Form1, inserte el siguiente código:
    Option Explicit
    
    Dim cnnConnection As Object
    
    Private Sub Form_Load()
    
       Dim strProvider As String
       Dim view As PivotView
       Dim fsets As PivotFieldSets
       Dim c As Object
       Dim newtotal As PivotTotal
       
       strProvider = "Microsoft.Jet.OLEDB.4.0"
       ' Create an ADO object
       Set cnnConnection = CreateObject("ADODB.Connection")
       ' Set the provider and open the connection to the database
       cnnConnection.Provider = strProvider
       cnnConnection.Open "C:\pivottest.mdb"
       ' Set the pivot table's connection string to the cnnConnection's connection string
       PivotTable1.ConnectionString = cnnConnection.ConnectionString
       ' SQL statement to get everything from table1
       PivotTable1.CommandText = "Select * from table1"
       
       ' Get variables from the pivot table
       Set view = PivotTable1.ActiveView
       Set fsets = PivotTable1.ActiveView.FieldSets
       Set c = PivotTable1.Constants
       
       ' Add Category to the Row axis and Item to the Column axis
       view.RowAxis.InsertFieldSet fsets("Category")
       view.ColumnAxis.InsertFieldSet fsets("Item")
       
       ' Add a new total - Sum of Price
       Set newtotal = view.AddTotal("Sum of Price", view.FieldSets("Price").Fields(0), c.plFunctionSum)
       view.DataAxis.InsertTotal newtotal
       view.DataAxis.InsertFieldSet view.FieldSets("Price")
          
       ' Set some visual properties
       PivotTable1.DisplayExpandIndicator = False
       PivotTable1.DisplayFieldList = False
       PivotTable1.AllowDetails = False
    End Sub
    
    Private Sub Form_Terminate()
      ' Remove reference to the ADO object
      Set cnnConnection = Nothing
    End Sub
    
    
    Private Sub PivotTable1_DblClick()
       Dim sel As Object
       Dim pivotagg As PivotAggregate
       Dim sTotal As String
       Dim sColName As String
       Dim sRowName As String
    
       Dim sMsg As String
       
       ' Get the selection object you double-clicked on
       Set sel = PivotTable1.Selection
       ' If it is a aggregate, you can find information about it
       If TypeName(sel) = "PivotAggregates" Then
          ' Select the first item
    
          Set pivotagg = sel.Item(0)
          ' Display the value
          MsgBox "The cell you double-clicked has a value of '" & pivotagg.Value & "'.", vbInformation, "Value of Cell"
          
          ' Get variables from the cell
          sTotal = pivotagg.Total.Caption
          sColName = pivotagg.Cell.ColumnMember.Caption
          sRowName = pivotagg.Cell.RowMember.Caption
          
          ' Display the row and column name
          sMsg = "The value is " & sTotal & " by " & sRowName & " by " & sColName
          MsgBox sMsg, vbInformation, "Value Info"
       End If
    End Sub
    					
  6. A continuación, cree una base de datos de ejemplo mediante Microsoft Access. Inicie Access y elija la Base de datos de Access en blanco . Guarde el archivo como c:\pivottest.mdb . Haga doble clic en Crear tabla en la vista Diseño . Escriba los datos siguientes:

    Contraer esta tablaAmpliar esta tabla
    Nombre de campoTipo de datos
    ElementoTexto
    CategoríaTexto
    PrecioNúmero
  7. Cierre la ventana y guarde los cambios como Tabla1. Seleccione no para crear una clave. Haga doble clic en Table1 y escriba los siguientes datos:

    Contraer esta tablaAmpliar esta tabla
    ElementoCategoríaPrecio
    ClavosHardware5
    CamisaRopa23
    MartilloHardware16
    SandwichComida5
    PantalonesRopa31
    BebidasComida2
  8. Cierre Access para guardar el archivo.
  9. Presione la tecla F5 para ejecutar el proyecto. Después de ejecutarse, debe rellenar la tabla dinámica. Haga doble clic en una celda con datos muestra los nombres de fila y de columna el valor de la celda y la celda.

Referencias

Para obtener más información en automatización de Office, visite el sitio de soporte técnico de Microsoft Office Development en:
http://support.microsoft.com/ofd

Propiedades

Id. de artículo: 235542 - Última revisión: lunes, 23 de octubre de 2006 - Versión: 3.5
La información de este artículo se refiere a:
  • Microsoft Office PivotTable Component 9.0
  • Microsoft Office XP Web Components
  • Microsoft Office 2003 Web Components
Palabras clave: 
kbmt kbautomation kbhowto kbweb KB235542 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 235542

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com