プロが教えるわが家の防犯対策術!

Accessの帳票フォーム上で、ある特定の条件に当てはまるレコードの特定のコントロールを非表示にする方法はありませんでしょうか?
例えば、A,B,Cというフィールドがあって、AがNull値ならそのレコードのCコントロールを非表示にしたいのですがどうやってもうまく行きません。
条件があてはまるレコードのみの特定のコントロールを非表示にし、レコードの表示はあくまでフィルタを掛けずに全件表示でなくてはいけないという制約がありまして困っております。
これって不可能でしょうか?
どなたかお知恵をお貸し下さい。

A 回答 (5件)

すいません。

僕は大きく勘違いしていました。「フォーム」でしたね。
Access2000ならみなさんのおっしゃるように「条件付き書式設定」を使い、「無効」にでもするしかないです。
    • good
    • 0

 通常のmdb形式のデータベースですよね?Access2000から新機能ですが、「条件付書式設定」で出来ますよ。



1)フォームのデザインビューで、条件により変化させたいコントロールを選択します。
2)「書式」メニューの「条件付書式」コマンドを実行して下さい。

たとえばコントロールAがNullならここで選択したコントロールの文字色を白にしたりとか背景を変えたりとか出来ます。そのコントロールそのものの値を元に書式を変更することも可能です。VBAで色を変更とか表示・非表示にした場合、帳票フォームだとすべての行に反映されてしまいますが、これを使うと条件を満たした行の書式のみ変更できますよ。
    • good
    • 0
この回答へのお礼

こんな新機能が、2000にあるとは知りませんでした。
なるほど、レコード単位で非表示にすることが可能です。
2000は97に毛が生えたものぐらいにしか考えておりませんで、通常は慣れ親しんだ97を使っておりましたが、こういうのがあると全面的な移行を考えないといけませんね。
助かりました。
ありがとうございました。

お礼日時:2001/03/07 22:19

Accessのバージョンもわかりませんし、どのセクションかわかりません。



Access2000で、詳細セクションの場合は、VBAでPrintまたはFormatのイベントに条件でコントロールを非表示にするコードを書けば制御できます。

この回答への補足

ごめんなさい。
バージョンは97または2000のどちらかなら構いません。
それから、ご想像のとおり帳票フォームの詳細セクションです。
VBAなら制御できるとのことですが、私VBAはド素人ですのでもう少し詳しく解説していただけるとありがたいです。
私がやると、条件によって、すべてのレコードのコントロールが非表示になるか可視になるかのどちらかです。

補足日時:2001/03/06 22:38
    • good
    • 0

帳票フォームですよね?


Access2000なら条件付書式設定で非表示には出来ませんが文字色を白にするなどで対応できるかと思います。

この回答への補足

説明不足で申し訳ないです。
非表示にしたいコントロールは実は入力用でして、ユーザーに入力すべきレコードとそうでないレコードを瞬間的に認識させたいというのがその理由です。
これが、単票フォームだと条件式で非表示にできるのですが、帳票フォームだと私の知識程度では手に余る次第です。
帳票フォームでなければならないのは、他のレコードを一覧してユーザーが入力数値を決定するという要素があるためです。

補足日時:2001/03/06 22:20
    • good
    • 0

今現在、Accessを使う環境にいませんので具体的な説明はできませんが、


Isnullで、AがNullのときは、、、とできるはずです。
ヘルプのIsnullのところに借用できる例があると思います。
もしくはIIfとIsnullを組み合わせる事でできると思います。
すみません、あまりよいアドバイスでなくて。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す