VBA

ACCESS VBA でレポートの並べ替え

投稿日:

はじめに

ACCESSでレポートを出力する際に並べ替えを行う場合、VBAを利用すると簡単に行う事ができます。

動的に設定できるため同じレポートをいくつも作らなくて良いのでとても便利なのですが、先日少しハマりましたのでメモ。

 

まずVBAでレポートを出力する記述

レポート出力フォームのボタンをクリックしたときのイベントプロシージャ

strDocName : レポート名
strWhere  : フィルター(絞り込みの条件)
strSortKey  : 並べ替えキー

DoCmd.OpenReport でレポートを開くときに並べ替えキーをパラメータとして渡します。

 

レポートを開くときのイベントプロシージャ

DoCmd.OpenReport でレポートを開くときに渡されたパラメータは、Me.OpenArgsで受け取れます。

 

 

ハマった事象と解決法

レポートを開くとき OrderBy に並べ替えキーを設定することで並び変わるはずなのですが、何故かソートされません。

以前はソートされていたと思うのですが、先日確認したら動かない事に気がつきました。

原因が何なのかいろいろ確認してみたら、レポートのデザイン時に設定できる「並べ替え/グループ化の設定」が原因でした。

※レポートのデザイン時に右クリックすると表示されます。

 

ここで設定されている並べ替えを解除したら並べ替えが上手く機能するようになりました。

どうやらレポートデザインの並べ替え設定が優先されるようです。

 

※ACCESS2010、2013、2016で確認しました。

 

スポンサードリンク

スポンサードリンク

-VBA
-,

Copyright© あきらちんの技術メモ , 2023 All Rights Reserved Powered by STINGER.