マイクロ○フトの罠(Access2010)
MSは「ソ」をのけると兄ちゃんになるのだな。(若干高感度アップ。)
- 問い合わせ
Access2003で作ったものが2010でどの程度動くのかを検証中です。
質問したいことがあったので、マイクロ○フト サポート オンラインでプロダクトIDを入力したのです。
したら、
「入力されたプロダクト ID は、お客様が選択した国においてはサポート対象外です。別のプロダクト ID を入力するか、他のサポート オプションを選択してください。」
と言われてしまいました。べそべそ。
「Microsoft Answers」を使えとか言うので、サイトに行って既存の質問を検索してみたけど該当するようなものは見当たらないので、質問を投稿することにしたのです。Windows Live IDでサインインしろと言うので、Windows Live IDを登録しました。
しかしメールが来ない。3日経っても来ない。
えーとこれは。おとといきやがれということでしょうか?
- 質問したかった内容
Access2010のレポートで以下の現象が出るので、これは仕様認識なのかバグ認識なのかが知りたかったのです。
普通にレポートを作成。レコードソースは適当なテーブルでOKです。
レポートヘッダー/フッターを作成(ともに高さ0)
ページヘッダー/フッターを作成(ページヘッダーは高さ0。ページフッターには[Page]等を配置)
「並べ替え/グループ化」で適当にグループ化する
(パターン1)
グループヘッダーはなし
グループフッターを作成
改ページプロパティに「カレントセクションの後」を指定。高さは0。
→ 最後に無駄に空白ページが出力される
(※Access2003だと、この最後の空白ページは出力されない。)
(パターン2)
グループヘッダーを作成
改ページプロパティに「カレントセクションの前」を指定。高さは0。
グループフッターはなし
→ 無駄な空白ページは出力されない
空白ページが嫌なら(嫌だよ!)、パターン2で対応すればいいというのは『現時点では』という但し書きをつければ至極真っ当なご意見ですよ。
でも、今後SPが出てもこのままの状況なのでしょうかね?
パターン1で空白ページが出ちゃうレポートを、全部パターン2のように修正したとして、ある日突然(SPをユーザが当てて)、パターン1のように出力されるようになったりしないですかね?(これが怖い。)
そもそも、2007までと2010とで出力結果がこんな違うって嫌じゃないですか?
ああ、レポートフッターがなければ上手くいくのか…。でも今回は、レポートヘッダーのFormatイベントでやりたいことがあるんですよね。
しんどい。
- あと最近気付いたこと
レポートのフィルタが効いていないのです。
画面で、ワークテーブルの「IsPrint」というYes/No型の列をチェックしたものだけをレポートに出力する、というのを作っています。
レポートのデザインでは「フィルタ」は空白、「フィルタ適用」は「はい」に設定しています。
モジュールからレポートをプレビューで開いた後に、Filterプロパティに「IsPrint=True」をセットしています。
(これを出力した後に、さらに絞込条件を追加してもう一回出力するのでこういう作りにしています。)
2003だとこれでフィルタ効くのに、2010で動かすとフィルタが効かなくて全件表示されてしまうのです。
試しに、モジュールでFilterプロパティに値をセットした後に、FilterOnプロパティにTrueをセットしてあげると効くようになりました。どうも、Filterプロパティが空白だと、FilterOnプロパティはFalseになっちゃうみたい。
2010の「フィルターの使用」と「フィルター適用」は別物なのか!分かりづら!
しかも、2010はレポートのプロパティシートに「フィルター適用」プロパティないんですけど。
何これ。地味な意地悪?