アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2003、帳票フォームで作成しています。

[都道府県]フィールドが『東京都』の時は、そのレコード全てのフィールドの背景を水色に、
[売上Apr]、[売上May]、[売上Jun]、………[売上Feb]、[売上Mar]、[売上合計]の数値フィールドが『マイナス』の時は、その値を赤字にしたいのです。

そこで、[売上Apr]フィールドにメニューの条件付き書式設定で、
[条件1]に、式で『[都道府県]="東京都" and [売上Apr] < 0』の時、背景=水色、文字=赤 と設定し、
[条件2]に、『フィールドの値 が 0 より小さい』時、文字=赤 と設定し、
[条件3]に、式で『[都道府県]="東京都"』の時、背景=水色 と設定すると、期待していた書式設定になることが、先日聞いたQ&Aでわかりました。

ただ、この条件式を入れるフィールドがとても沢山ありまして(上で記載した売上12ヶ月分と合計の13フィールド。同じような形のフォームが12個くらいあります。。)、1フィールドづつ設定するととても大変&色の修正があった時もとても大変なので、

◎この設定をVBAで効率よく設定することはできないでしょうか?


よろしくお願いします。

A 回答 (1件)

以下VBAではありませんが、


背景用のテキストボックス、文字色用のテキストボックスを重ねる方法もあります。

この方法は参考程度ということに、

手順)
・現在のテキストボックスを全て選びます。
・コピー&貼り付けでその近くに配置します。(作業のため)
・コピーした側が全選択されている状態で、プロパティ「コントロールソース」を
 =""
 に変更します。
・そのまま、条件付き書式で、背景色以外の条件を削除します。
 (個別に削除が必要なら、個別に背景色以外の条件を削除します)
・コピーした側が全選択されている状態で、配置で最背面に移動します

・コピー元を全選択して、条件付き書式で、背景色の条件を削除します。
・そのままプロパティ「背景スタイル」を「透明」に変更します。
・そのまま、配置で最前面に移動します。

・そのまま、コピーした側の上にかぶせます。
・全てを選択後、元の位置に配置しなおします。

※試される場合には、つぶれてもいいフォームを対象に
(新規mdbで小さいフォームを作成して試された方が)

※背景色のあるテキストボックスをクリックすると、その部分は背景色が一時消えます

※このフォームはデータシートとしての表示には使えません。

※背景色を変更しようとすると、重なっているのをずらさないとできません(面倒です)



VBAでの条件付き書式設定については以下が参考になると思います。

また、レコード移動時に変更することもないと思いますので、Form_Open で1度設定すればよいと思います。


access FormatConditions でWeb検索すると例が出てくると思います。
    • good
    • 0
この回答へのお礼

PCの調子が悪く、返信が遅くなりまして申し訳ございません。。。

まずは、教えて頂きありがとうございました!!
テキストボックスを重ねて…なんて、そんな裏ワザ?!があったんですね!!

そして、教えて頂いたHPを見たりWebで検索して、アレコレやってみて、VBAでなんとか自分の希望していたことができるようになりました♪

とても助かりました。どうもありがとうございました☆

お礼日時:2009/10/13 23:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!