De Office Web Component Draaitabel gebruiken in combinatie met VB

Samenvatting

In dit artikel wordt beschreven hoe u met de Office Web Component (OWC) Draaitabel gegevens kunt weergeven in een Visual Basic-formulier.

Meer informatie

De Office Web Components zijn een set besturingselementen waarmee u Office-gegevens kunt opvragen. Aangezien het om besturingselementen gaat, kunt u een Office Web Component toevoegen aan een Visual Basic-formulier en het besturingselement vervolgens instellen voor het automatisch weergeven van bepaalde gegevens.

Automatiseringsvoorbeeld

  1. Start Visual Basic en maak een nieuw standaard-EXE-project. Formulier1 wordt standaard gemaakt.
  2. Voeg onder Project|Verwijzingen een verwijzing toe naar de Microsoft ActiveX Data Objects 2.1 Library en klik op OK.
  3. Druk op CTRL+T om het dialoogvenster Onderdelen weer te geven. Voeg Microsoft Office Web Components toe en klik op OK.

    Opmerking Office XP bevat zowel Office 2000 als Office XP Web Components. Als u Office 2003 Web Components wilt gebruiken, voegt u de bibliotheek van Microsoft Office Web Components 11.0 toe. Als u Office 2000 Web Components wilt gebruiken, voegt u de bibliotheek van Microsoft Office Web Components 9.0 toe. Als u Office XP Web Components wilt gebruiken, voegt u de bibliotheek van Microsoft Office Web Components 10.0 toe.
  4. Voeg een draaitabel toe aan het formulier.
  5. Typ in het codevenster voor Formulier1 de volgende code:
    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. Maak nu een voorbeelddatabase met Microsoft Access. Start Access en kies Lege Access-database. Sla het bestand op met de naam c:\pivottest.mdb. Dubbelklik op Tabel maken in ontwerpweergave. Voer de volgende gegevens in:

    Veldnaam:Gegevenstype:
    ArtikelTekst
    CategorieTekst
    PrijsNumeriek
  7. Sluit het venster en sla de wijzigingen op als Tabel1. Klik op Nee als wordt gevraagd of u een primaire sleutel wilt instellen. Dubbelklik op Tabel1 en voer de volgende gegevens in:

    Artikel CategoriePrijs
    SpijkersGereedschap5
    ShirtKleding23
    HamerGereedschap16
    BroodVoedsel5
    BroekKleding31
    DrankVoedsel2
  8. Sluit Access af om het bestand op te slaan.
  9. Druk op F5 om het project uit te voeren. De draaitabel moet vervolgens worden gevuld. Dubbelklik in een cel met gegevens om de waarde van de cel weer te geven, evenals de namen van de kolom en rij.

Referenties

Ga voor meer informatie over Office Automation naar de site Office Development van Microsoft:
Eigenschappen

Artikel-id: 235542 - Laatst bijgewerkt: 12 dec. 2005 - Revisie: 1

Feedback