Access如何使用数据透视表和数据透视图视图详解教程

Access如何使用数据透视表和数据透视图视图详解教程下面的代码创建了用于计算 CustomerID 数目的汇总字段,并将该字段添加至视图的明细区域。Me.PivotTable.ActiveView.AddTotal "Count Of Customers", _ Me.PivotTable.ActiveView.FieldSets("CustomerID").Fields("CustomerID"), _ plFunctionCountMe.PivotTable.ActiveView.DataAxis.InsertTotal _ Me.PivotTable.ActiveView.Totals("Count Of Customers")添加计算汇总字段下面的代码创建了一个总计字段用于计算 7% 运费值,并将该字段添加至视图的明细区域。表达式参数将接受任何有效、带有“安全”Visual Basic for Applications (VBA) 函数的 Microsoft Jet Database Engine 表达式。Me.PivotTable.ActiveView.AddCalculatedTotal "FTax", "运费税", "[Freight] * 0.07"Me.PivotTable.ActiveView.DataAxis.InsertTotal Me.PivotTable.ActiveView.Totals("FTax") 注释 运行此代码多于一次将导致错误信息。获取用户双击的单元格的值下面的代码确定用户在“数据透视表”视图中双击的位置,然后返回所选项目的值和类型。要查看此代码的操作,请将下面的代码添加至窗体(其默认视图设置为“数据透视表”视图)的 Form_DblClick (Cancel As Integer) 事件过程。If Me.CurrentView = acCurViewPivotTable Then' 创建一些变量。Dim sel As ObjectDim pivotagg As PivotAggregateDim sTotal As StringDim sColMems As StringDim sRowMems As StringDim sFilters As StringDim sMsg As String' 获取所选范围。Set sel = Me.PivotTable.Selection' 用户可以单击以下类型对象之一:' PivotAggregates, PivotTotals, PivotMembers, PivotFields, etc.' 使用 TypeName() 函数来确定对象类型。MsgBox "选定属性返回一个 '" & TypeName(sel) & "' 对象。", _vbInformation, "选定属性类型"' 如果类型为 PivotAggregates,则显示如何获取用于定义聚合的行' 和列成员。If TypeName(sel) = "PivotAggregates" Then' PivotAggregates 可以包含很多项目,' 但由于用户可能只双击了单个项目,' 所以现在它只包含一个项目,即 item(0)。Set pivotagg = sel.Item(0)' 显示值。MsgBox "您双击的单元格值为 '" & pivotagg.Value & _"'.", vbInformation, "单元格的值"' 获取总计名称、行和列成员及当前筛选器。sTotal = pivotagg.Total.CaptionsColMems = BuildFullName(pivotagg.Cell.ColumnMember)sRowMems = BuildFullName(pivotagg.Cell.RowMember)' 生成并显示消息。sMsg = "值为 " & sTotal & " by " & sRowMems & " by " & sColMemsIf Len(sFilters) > 0 ThensMsg = sMsg & " for " & Left(sFilters, Len(sFilters) - 2)End IfMsgBox sMsg, vbInformation, "值信息"End If ' typename(sel) = "PivotAggregates"End If ' Me.CurrentView = acCurViewPivotTable然后将下面的函数添加至窗体的模块。Function BuildFullName(PivotMem)Dim pmTemp As PivotMember ' Temporary PivotMember referenceDim sFullName As String' 由获取当前成员的名称开始。sFullName = PivotMem.Caption' 将临时变量设置为当前成员。Set pmTemp = PivotMem' 在未单击任何项目之前定位到父级目录。While Not (pmTemp.ParentMember Is Nothing)Set pmTemp = pmTemp.ParentMembersFullName = pmTemp.Caption & "-" & sFullNameWend' 返回 sFullName。BuildFullName = sFullNameEnd Function在“数据透视表”视图中编译、保存、关闭和重新打开窗体。将字段和总计添加到视图,然后双击单元格来查看会发生什么。“数据透视图”视图示例更改视图的布局向视图添加字段下面的代码将字段添加到视图中的类别和值下拉区域。将此代码添加至窗体(其默认视图设置为“数据透视图”视图)的 Form_Open (Cancel As Integer) 事件处理程序。Me.ChartSpace.SetData c.chDimCategories, c.chDataBound, "Orderdate"Me.ChartSpace.SetData c.chDimValues, c.chDataBound, "Freight"启用多个图表并设置统一的刻度下面的代码启用多图表并使图表空间中的图表具有统一的刻度。forms(0).Form.ChartSpace.HasMultipleCharts = Trueforms(0).Form.ChartSpace.HasUnifiedScales = True拆分图表的坐标轴下面的代码拆分图表的坐标轴,以使较小的值和较大的值以合理的形式显示。拆分实际上是在与坐标轴相关的 chScaling 对象中设置的。将下面的代码添加至窗体的 Form_Open (Cancel As Integer) 事件处理程序。Dim sc As ChScalingSet sc = Me.ChartSpace.Charts(0).Axes(chAxisPositionLeft).Scalingsc.HasSplit = Truesc.SplitMinimum = 1sc.SplitMaximum = 3清除图表空间并生成常值图表下面的代码清除图表空间中的所有图表并生成一个常值图表。常值图表不绑定任何数据;仅用于演示的目的。此代码还将关闭图表的选择标志。Me.ChartSpace.ClearMe.ChartSpace.BuildLitChartMe.ChartSpace.Charts(0).Type = chChartTypeColumnClustered排序和设置数据格式加自定义网格线下面的代码演示了如何在“数据透视图”视图中向窗体绘制对象和添加文本。此示例计算一个系列上几个点的平均值并根据此值在图表上绘制一条线。将此代码添加至窗体(其默认视图设置为“数据透视图”视图)的 Form_Open (Cancel As Integer) 事件处理程序。向下拉区域添加字段,并向图表添加图例。' 此代码将重新绘制图表空间,从而引发窗体的' AfterFinalRender 事件。该事件处理程序将向图表绘制对象和' 添加文本。Me.ChartSpace.repaint将下面的代码添加至 Form_AfterFinalRender (drawObject as object) 事件处理程序。' 这些代码将设置执行计算以及' 在图表上准确绘制线条和文本所需的变量。Dim average as DoubleDim total as DoubleDim number as DoubleDim s as chSeriesDim p as chPointDim x as IntegerDim y as IntegerDim pa as chPlotArea' 这些代码将在所有图表的所有数据点中循环,' 并计算所有值的汇总和数据点的数量。然后,代码将计算' 点的平均值。Set pa = Me.ChartSpace.Charts(0).PlotAreaFor Each s In Me.ChartSpace.Charts(0).SeriesCollection For Each p In s.Points total = total + p.GetValue(chDimValues) number = number + 1 NextNextAverage = total/number' 这些代码使用系列 ValueToPoint 方法将平均值转换为' 图表上的像素位置。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Access如何使用数据透视表和数据透视图视图详解教程》
文章链接:https://www.skykkk.com/archives3588.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

相关推荐

  • 暂无文章