Access97で帳票形式のフォームで下記の対応をするには、どうすれば良いのでしょうか。?

1.条件によって、前景色or背景色を変えるには?
2.フォーカスのあるコントールの背景色を変えるには?

御存知の方、いらっしゃいましたら 教えて頂けませんか。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

↓ここに書いてありました



参考URL:http://www.ruriplus.com/msaccess/tch/tch_idx.html
    • good
    • 0
この回答へのお礼

sstakさん

有難うございました。
お蔭様で 思っていた通りの事が実現出来ました。

Accessでも いろんな技があるのですね。
『もっともっと 知識を高めていこう』と
改めて思いました。

本当に有難うございました。
fumichan

お礼日時:2001/05/19 12:59

質問2(フォーカスのある~)の方は、よろしいのでしょうかね?



*** 質問1&補足について ***
まだ、はっきりしない点もあるのですが、
ある程度、想像で補うと、
親フォーム、子フォームのレコード移動時イベントを
使うのが、最も適当かと思われます。

まず、サブフォームの表示なのですが、
親フォームのモジュールで、
Private Sub Form_Current()
Me.[サブフォーム名].Visible = (条件)
End Sub
とすると、(条件)のところが成立していれば、
サブフォームは表示され、
成立していなければ、サブフォームは表示されません。

次に、サブフォームの値による、親フォームの背景色の変更ですが、
サブフォームのモジュールで、
Private Sub Form_Current()
Parent.[背景を変えたいコントロール名].BackColor = IIf(条件, 条件が成立した時の色, 条件不成立の時の色)
End Sub
とすると、条件の正否によって、親フォームのコントロールの背景が変わります。

※補足
あらかじめ作ったデータだけでなく、
随時入力されるデータを、リアルタイムに、
サブフォームの表示/非表示に利用したい時は、
レコード移動時のイベントを利用すると共に、
各コントロールの更新イベントや、フォームの更新イベントも利用した方がいいですね。

条件の設定の際、Null値の処理には、気を付けてくださいね。
    • good
    • 0

1.ACCESS2000なら、「条件付き書式」なる機能があるのですが・・・



VBAを使えば、
  [コントロールの名前].ForeColor = 色コード
  [コントロールの名前].BackColor = 色コード
を、必要な個所に織り込むことで可能です。

2.VBAを使うなら、
  Screen.ActiveControl.BackColor = 色コード
  Me.ActiveControl.BackColor = 色コード
の、どちらかを
各コントロールのフォーカス取得時、喪失時のイベント
に割り当てれば可能です。

この回答への補足

申し訳ありません。
もう少し、質問の内容を詳しく書けば良かったのですが...

実は、予めテーブルを作成し、その内容をある条件によってサブフォームに
表示させたいと思っています。
その表示させるサブフォームの各レコードの値によって 前景色or背景色を
変更したのですが 又、VBAを使うイベントのタイミングも出来れば教えて下されば幸いです。
宜しく、お願い致します。

補足日時:2001/05/14 09:40
    • good
    • 0

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング

おすすめ情報