MS Access Tips/Sample and VBA and Blog customize etc...

「重複データ非表示」の代わりに「々」などと表示させたい

プロパティの項目から『重複データ非表示』を『はい』にすると、同じデータが続くとき一番上のデータのみ表示されて、2つめ以後のデータは非表示になりますが、これを2つめ以後のデータを、『々』と表示することはできるのでしょうか。

RptHideDuplicatesIsVisible1s.png

『重複データ非表示』を『はい』のとき、そのテキストボックスが表示されてないとき、直線コントロールも非表示にしたいのですが。

RptHideDuplicatesIsVisible2s.png

前者はVBAなしでプロパティの設定のみで実現できます。後者はVBAが必要になりますが、簡単なコードで実現できます。もちろん、前者をVBAで実現することもできます。

難易度:

まず、前者をVBAなしで実現する方法。

「々」を表したいテキストボックスの各プロパティを下記のように設定。

プロパティ設定値
重複データ非表示はい
印刷縮小はい
背景スタイル普通

このうえに重ねてラベルを配置して、下記のように設定。

プロパティ設定値
標題

このラベルを選択して、メニュー[書式]-[最背面へ移動]をクリック。

以上です。「重複データ非表示」で非表示になると、「印刷時縮小」でテキストボックスの高さが0になり、背面にあるラベルが見えるようになる、という仕掛けです。

後者の直線コントロールの表示の制御

「重複データ非表示」のテキストボックスの名前が「テキスト1」、表示を制御したい直線コントロールの名前が「直線1」とします。

記述するコードは1行です。「印刷時縮小」で表示されているか、いないかは、IsVisibleプロパティで取得できますのでそれを利用してます。(私の記憶ではIsVisibleプロパティはAC2000以降で実装だったはずです。違ったらご指摘ください。)

今回の仕様と似たようなことは、グループ化の機能を使って実現することもできますが、それはまたの機会に。

サンプルファイルが下記からダウンロードできます。
RptHideDuplicatesIsVisible_07.zip (Access 2007-2010 形式 - 36kb)
RptHideDuplicatesIsVisible.zip (Access 2002-2003 形式 - 29kb)
RptHideDuplicatesIsVisible_2k.zip (Access 2000 形式 - 28kb)

拍手する

2 Comments

まささ says..."『々』と二色刷りの同時設定"

 お世話様です。以前お聞きしましたが、

『重複データ非表示』の代わりに、『々』を表示できましたが同時に二色刷りをするにはどうするといいですか。

2010.02.21 08:07 | URL | #- [edit]
hatena says..."背景色"

一行置きに背景色を変えたいと言うことでしょうか。
Access Club の下記が参考になるかと。

取引先重要度リストを二色刷りで印刷する : Access裏技Tips
http://www.accessclub.jp/urawaza/36.html

AC2007ですと、「代替の背景色」プロパティの設定だけで簡単にできます。

2010.02.21 12:12 | URL | #5uE6dEgY [edit]

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/175-709544ff
該当の記事は見つかりませんでした。