2009-04-14 16 views
5

OK VBAを使用してピボットチャートを作成する方法の説明やコード例がインターネット上には絶対にありません。フォーム内のユーザー選択に応じて異なる結果を表示するには、ピボットグラフが必要なので、これが必要です。 Excelにはいくつかありますが、Accessの構文は異なります。私はこれが不毛の質問ですが、誰かがVBAでピボットチャートを作成する方法の例を持っているなら、本当に助けに感謝します。Access 2007を使用したピボットグラフの作成VBA

答えて

3

検索の約3日後、私はそれを見つけたと思う。誰もが本当に気にしない、これは6つのビューのようにしかない、VBAの完全な恐ろしさのためにたくさん言う。とにかく、MSDNはこれをAccessの代わりに「Office XP」の下に隠していましたが、何でも。

http://msdn.microsoft.com/en-us/library/aa662945.aspx#

+0

それだけが行われてきたAccessでのチャートの使いやすさ、について何かを言います私の経験では1996年までMS Graphを統合した大きな問題です。したがって、多くの高度なAccess開発者はそれを避けます。ピボットテーブルはA2003まで存在しませんでした。 –

0

私はサブフォームとしてユーザーの選択コントロールとpivotformを持っている別のフォームにアクセス2007でピボットグラフフォームを作成しました。次に、私はこのようなコードをメインフォームで使用します。オブジェクトモデルはOWC11(Office Web Components 11)と同じです。

Private Function DisplayChart() 

    With mysubform.Form.ChartSpace 
    .Clear 
    .AllowFiltering = True 
    .HasChartSpaceTitle = True 
    .ChartSpaceTitle.Caption = "test" 
    .DisplayFieldButtons = False 
    .DisplayToolbar = False 

    .ConnectionString = ... 
    .CommandText = "SELECT rSeries, rCategory, rDate, rValue " & _ 
     "FROM myTable" 

    .Charts(0).Type = chChartTypePie 

    .SetData chDimSeriesNames, chDataBound, "rSeries" 
    .SetData chDimCategories, chDataBound, "rCategory" 
    .SetData chDimValues, chDataBound, "rValue" 

    .HasChartSpaceLegend = True 

    End With 

End Function 

定数はOWC11

Cから派生することができます:あなたはの一番上にそれらを必要とするの\ Program Files \ Common Files \ Microsoft共有\ Webコンポーネント\ 11 \ OWC11.DLL

モジュール。この段階では、アクセスピボット・チャートからそれらを抽出する方法がわかりません。 OWC11への参照を作成し、サブフォームChartSpaceをOWC11.ChartSpaceとして宣言された変数に設定します。コードを書き込んだ後、 'Object'型に変更し、レイトバインディング(および再テスト)のための参照を削除します。このようにして、展開時にあなたのリファレンスが64ビットマシンで動かなくなることはありません。

Private Enum ChartConstants 
    chDimSeriesNames = 0 
    chDimCategories = 1 
    chDimValues = 2 
    chDataBound = 0 
    chAxisPositionValue = -8 
    chAxisPositionCategory = -7 
    chChartTypePie = 18 
End Enum 

また、ユーザーにピボットグラフプロパティフォーム、フィールドリスト、およびドロップゾーンにアクセスさせることもできます。または、チャートを右クリックしてそれらにアクセスすることもできます。

(注 - これはまだ私のために新たな発見であるので、私は、私はどんな落とし穴年代見つけた場合、この答えを更新するよう努めます。)

+0

ここにA2002のvbaピボットチャートを使用したMike Gunderloyの記事http://msdn.microsoft.com/en-us/library/aa155735%28office.10%29.aspx –

関連する問題