在Office Web Components图表中对日期值进行分组

时间:2010-11-09 00:36:01

标签: ms-access vba charts office-web-components

我如何格式化&分类轴中的组日期?

我尝试使用此代码执行此操作:

With ChartSpace.Charts(0).Axes(chAxisPositionCategory)
    .NumberFormat = "mmm yyyy"
    .GroupingType = chAxisGroupingManual
End With

但我得到的只是“无效参数”。

如果我写这个:

debug.print ChartSpace.Charts(0).Axes(chAxisPositionCategory).NumberFormat

我得到“将军”

然后如果我写:

ChartSpace.Charts(0).Axes(chAxisPositionCategory).NumberFormat = "General"

它是“无效参数”!!!

这是使用OWC11的MS Access中的VBA代码。我已经将数据绑定到一个包含3列的SQL表:

Field1 varchar(200),
Date1 datetime, --can't use Date type or the chart won't recognise as date!!
Value1 int

我一直在寻求帮助,其他人有这个问题,但没有人有答案 - 除了不能解决问题的替代方案。我有一个MS示例在html中工作,但使用硬编码数据。我需要使用所有基于时间的X轴分组函数,但不能通过简单的数字格式。

添加评论:发现现在可以使用:

.Charts(0).Axes(chAxisPositionCategory).CategoryLabels.PivotAxis.Fields(0).NumberFormat = "mmm yyyy"

仍然无法进行分组。

1 个答案:

答案 0 :(得分:0)

我意识到这是旧的,但因为它仍然没有答案和可搜索:

您可以使用x轴上的时间刻度选项按日期在OWC11中进行分组:

ChartSpace.Charts.Axes[ChartAxisPositionEnum.chAxisPositionTimescale].GroupingType = ChartAxisGroupingEnum.chAxisGroupingNone;

默认行为是对日期进行分组,使用GroupingNone枚举将其关闭。

@David-W-Fenton:OWC11已经被淘汰,但在2014年之前一直得到支持,仍然可以下载。从来没有MS替代它们具有所有功能。 .NET 3.5的图表控件不允许最终用户以相同的方式操作图表。由于安全问题,我不会在网站中使用OWC,但我在内部WinForms应用程序中使用它们。我不知道另一个允许与OWC进行相同级别的运行时图表操作的自由图表控件。 (很抱歉在答案中添加了评论,但我还没有权利发表评论)。