Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


172 / 2272 ツリー ←次へ | 前へ→

【12691】クエリ列見出しをVBAで設定したい たか21 15/2/4(水) 23:30 質問[未読]
【12692】Re:クエリ列見出しをVBAで設定したい かるびの 15/2/5(木) 1:47 回答[未読]
【12693】Re:クエリ列見出しをVBAで設定したい たか21 15/2/5(木) 18:54 お礼[未読]
【12694】Re:クエリ列見出しをVBAで設定したい たか21 15/2/6(金) 0:34 お礼[未読]

【12691】クエリ列見出しをVBAで設定したい
質問  たか21  - 15/2/4(水) 23:30 -

引用なし
パスワード
   はじめまして。ご教授お願いします。

<依頼>
クロス集計クエリのプロパティーシートの
クエリ列見出しの値の設定をVBA(処理論理)で行うロジックを教えて頂きたいです。

<目的>
プルダウンリスト値毎の件数を集計し横に並べて一覧化する。
この際、プルダウンリスト値が変更される度に列見出しを手修正しなければいけない。
これを、自動化したいのです。

【12692】Re:クエリ列見出しをVBAで設定したい
回答  かるびの  - 15/2/5(木) 1:47 -

引用なし
パスワード
   >クロス集計クエリのプロパティーシートの
>クエリ列見出しの値の設定をVBA(処理論理)で行うロジックを教えて頂きたいです。
 クロス集計クエリのプロパティーシートにおける「クエリ列見出し」プロパティですが、
このプロパティが何というオブジェクトのプロパティかがわかれば、できると思います。
 そこで、AllQueries コレクションやDAOの QueryDef オブジェクトを調べてみましたが、
「クエリ列見出し」プロパティが属するオブジェクトは探し出せませんでした。
 なお、AccessObjectProperties コレクションに「クエリ列見出し」プロパティが
含まれるかどうかは調べていません。
 もっと丹念に探せば、見つけられるかもしれませんが、
現時点での私の結論としては、プロパティーシートの「クエリ列見出し」プロパティの設定を
VBAで行うことはできないということになります。

 なお、テーブルやクエリのプロパティ設定をVBAで行おうとしても、できないことが多いです。
もっとも、これは私が知らないだけなのかもしれませんが。


 ただ、フォームからであれば、
クロス集計クエリの列見出しを自由に設定することが可能です。
 例えば、フォームにコンボボックスとコマンドボタンが配置されていて、
コンボボックスには各値が格納されているときに、
コマンドボタンをクリックすると、
コンボボックスに格納されている各値が列見出しとなったクロス集計クエリが開く
という動作をさせることは、VBAを使って実現可能です。

 ヒントを上げておくと、
DAOの QueryDef オブジェクトの SQL プロパティ、
SQL文における TRANSFORM ステートメント中の PIVOT 句
です。

【12693】Re:クエリ列見出しをVBAで設定したい
お礼  たか21  - 15/2/5(木) 18:54 -

引用なし
パスワード
   自分でも調べるべき事柄なのですが、
調査を含めてご教授有難うございます。
(スキルは自己流そもそも論が分かっていないのが実態)

DAOのQueryDefオブジェクトのSQLプロパティのPIVOT句を
見つける事は出来ました。

このPIVOT句を変更すれば、可能という事ですね。
SQL文自体を変更するという事なので、
デグレのリスクを十分考慮し、文字列置換で対処出来るか試してみます。

わがままを言えば、画面で操作するように、
列見出しだけを変更したいです。

有難う御座います。

【12694】Re:クエリ列見出しをVBAで設定したい
お礼  たか21  - 15/2/6(金) 0:34 -

引用なし
パスワード
   PIVOT句の文字列変更の方法で、
プルダウンリストに同期した列見出しを変更し、
クロス集計出来るようになりました。

有難う御座いました。

172 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078189
(SS)C-BOARD v3.8 is Free