アクセス2007 VBAを使用してピボットグラフの作成
-
09-09-2019 - |
質問
OK私はVBAを使用してピボットグラフを作成する方法についてのコード例を説明したり、持って見つけることができるインターネット上で全く良い記事はありません。 Iは、フォーム内のユーザ選択に応じて異なる結果を表示するピボットチャートを必要とするので、私はこれを必要とします。そこExcelのいくつかがありますが、構文は、アクセスのために異なっています。私は、これはラメ質問ですけど、誰もがVBAでピボットグラフを作成する方法の例を持っている場合、私は助けを本当に感謝しています。
解決
さて、検索の約3日後に私はそれを見つけたと思います。いない誰もが本当に気にすることを、これが唯一の6のような見解を持っている、VBAの全くhorriblenessのための多くは述べています。とにかく、MSDNは、これは「オフィスXP」の下ではなく、アクセスの下に隠れていたが、どんなます。
他のヒント
私はサブフォームとしてユーザーの選択コントロールとpivotformを持っている別のフォームにアクセス2007でピボットグラフフォームを作成しました。それから私は、メインフォームでこのようなコードを使用します。オブジェクトモデルは、OWC11(Office Webコンポーネント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ファイル\ Microsoft共有\ Webコンポーネント\ 11 \ OWC11.DLL
あなたはモジュールの上部にそれらを必要とします。この段階で、私は、Accessピボットグラフからそれらを抽出するかどうかはわかりません。 OWC11への参照を作成し、OWC11.ChartSpaceとして宣言された変数にサブフォーム、グラフスペースを設定します。 「オブジェクト」を入力して、遅延バインディング(再試験)のための参照を削除するためのコードの変更を書き込んだ後。あなたが展開するときに、この方法であなたのレフリーは、64ビットマシン上に剥がれてくることはありません。
Private Enum ChartConstants
chDimSeriesNames = 0
chDimCategories = 1
chDimValues = 2
chDataBound = 0
chAxisPositionValue = -8
chAxisPositionCategory = -7
chChartTypePie = 18
End Enum
あなたはまた、ユーザーがピボットグラフのプロパティへのアクセス権を持って聞かせすることができます忘れないでください、フィールドリストとドロップゾーンを形成します。それとも、彼らは彼らに取得するには、チャートを右クリックすることができます。
(注意 - 。これはまだ私にとって新しい発見であるので、私は、私はどんな落とし穴年代見つけた場合、この答えを更新するよう努めます)