Verwenden der Office PivotTable-Komponente mit VB

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
235542 How To Use the PivotTable Office Web Component with VB

Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mithilfe der Office PivotTable-Komponente Informationen in einem Visual Basic-Formular anzeigen.

Weitere Informationen

Die Office-Webkomponenten (Office Web Components) stellen eine Reihe von Steuerelementen bereit, die das Durchsuchen von Office-Daten ermöglichen. Da es sich bei den Webkomponenten um Steuerelemente handelt, können Sie die Webkomponenten in einem Visual Basic-Formular platzieren und die Komponenten für die Anzeige von Daten automatisieren.

Erstellen des Automatisierungsbeispiels

  1. Starten Sie Visual Basic, und erstellen Sie ein neues Standard-EXE-Projekt. "Form1" wird standardmäßig erstellt.
  2. Fügen Sie unter Projekt|Verweise einen Verweis auf die Microsoft ActiveX Data Objects 2.1 Library hinzu, und klicken Sie anschließend auf OK.
  3. Drücken Sie die Tastenkombination [STRG]+[T], um das Dialogfeld Komponenten anzuzeigen. Fügen Sie die Microsoft Office Web Components hinzu, und klicken Sie auf OK.

    Hinweis:
    Office XP beinhaltet Office 2000- als auch Office XP-Webkomponenten. Fügen Sie die Microsoft Office Web Components 11.0 Library hinzu, um die Office 2003 Web Components zu verwenden. Fügen Sie die Microsoft Office Web Components 9.0 Library hinzu, um die Office 2000 Web Components zu verwenden. Fügen Sie die Microsoft Office Web Components 10.0 Library hinzu, um die Office XP Web Components zu verwenden.
  4. Fügen Sie eine PivotTable zum Formular hinzu.
  5. Fügen Sie im Codefenster für "Form1" den folgenden Code ein:
    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. Erstellen Sie anschließend eine Beispieldatenbank in Microsoft Access. Starten Sie Access, und wählen Sie Leere Access-Datenbank. Speichern Sie die Datei unter dem Namen c:\pivottest.mdb. Doppelklicken Sie auf Erstellt eine Tabelle in der Entwurfsansicht. Geben Sie die folgenden Daten ein:

    FeldnameFelddatentyp
    ItemText
    CategoryText
    PriceNumber
  7. Schließen Sie das Fenster, und speichern Sie die Änderungen als "Tabelle1". Wählen Sie Nein, wenn Sie zum Erstellen eines Schlüssels aufgefordert werden. Doppelklicken Sie auf die "Tabelle1", und geben Sie die folgenden Daten ein:

    ItemCategoryPrice
    NailsHardware5
    ShirtClothing23
    HammerHardware16
    SandwichFood5
    PantsClothing31
    DrinksFood2
  8. Schließen Sie Access, um die Datei zu speichern.
  9. Drücken Sie die Taste [F5], um das Projekt auszuführen. Nach der Ausführung müsste die Pivot-Tabelle mit Daten ausgefüllt sein. Wenn Sie auf eine Zelle mit Daten doppelklicken, werden der Wert der Zelle sowie die Namen der Zellenspalte und -zeile angezeigt.

Informationsquellen

Weitere Informationen zur Office-Automatisierung finden Sie auf folgender Microsoft-Website für Office Development:
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 235542 – Letzte Überarbeitung: 25.02.2008 – Revision: 1

Feedback