你目前正处于脱机状态,正在等待 Internet 重新连接

如何使用数据透视表 Office Web 组件使用 VB

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 235542
概要
本文演示如何使用数据透视表 Office Web 组件 Visual Basic 窗体上显示的信息。
更多信息
在 Office Web Components 是一组控件,Office 数据的浏览控件。因为 Web 组件是控件,您可以将它们放在 Visual Basic 窗体上,并自动显示的数据组件。

生成自动化示例

  1. 启动 Visual Basic 并创建一个新的标准 EXE 项目。 默认情况下创建 Form1。
  2. Project|References,添加到 Microsoft ActiveX 数据对象 2.1 库 的引用,然后单击 确定
  3. CTRL + T 键显示 添加组件 对话框。添加 Microsoft Office Web Components,然后单击 确定

    : Office XP 包括 Office 2000 和 Office XP Web 组件。若要将 Office 2003 Web 组件添加 Microsoft Office Web Components 11.0 库。若要将 Office 2000 Web 组件添加 Microsoft Office Web Components 9.0 库。若要使用 Office XP Web 组件,添加 Microsoft Office Web Components 10.0 库。
  4. 将数据透视表添加到窗体。
  5. 在 Form1 的代码窗口中插入以下代码:
    Option ExplicitDim cnnConnection As ObjectPrivate 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 = FalseEnd SubPrivate Sub Form_Terminate()  ' Remove reference to the ADO object  Set cnnConnection = NothingEnd SubPrivate 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 IfEnd Sub					
  6. 接下来,创建使用 Microsoft Access 的示例数据库。 启动 Access,然后选择 空 Access 数据库。将文件另存为 c:\pivottest.mdb。双击 创建表设计视图中。输入以下数据:

    字段名称数据类型
    项目文本
    类别文本
    价格数字
  7. 关闭窗口并将更改保存为 Table1。用于创建一个键,选择 。双击 Table1,然后输入以下数据:

    项目类别价格
    钉子硬件5
    衬衫服装23
    锤子硬件16
    三明治食品5
    pants服装31
    饮料食品2
  8. 关闭 Access 保存该文件。
  9. F5 键运行该项目。在运行,后应填充数据透视表。双击包含数据的单元格显示单元格和单元格的值列和行的名称。
参考
有关 Office 自动化的详细信息,请访问 Microsoft Office 开发支持网站,网址:
owc 数据透视表

警告:本文已自动翻译

属性

文章 ID:235542 - 上次审阅时间:10/23/2006 18:40:34 - 修订版本: 3.5

Microsoft Office PivotTable Component 9.0, Microsoft Office XP Web Components, Microsoft Office 2003 Web Components

  • kbmt kbautomation kbhowto kbweb KB235542 KbMtzh
反馈
ateElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">