• ベストアンサー

Access97の帳票形式フォームで 条件によって書式変更するには

Access97で帳票形式のフォームで下記の対応をするには、どうすれば良いのでしょうか。? 1.条件によって、前景色or背景色を変えるには? 2.フォーカスのあるコントールの背景色を変えるには? 御存知の方、いらっしゃいましたら 教えて頂けませんか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#89342
noname#89342
回答No.3

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

参考URL:
http://www.ruriplus.com/msaccess/tch/tch_idx.html
fumichan
質問者

お礼

sstakさん 有難うございました。 お蔭様で 思っていた通りの事が実現出来ました。 Accessでも いろんな技があるのですね。 『もっともっと 知識を高めていこう』と 改めて思いました。 本当に有難うございました。 fumichan

その他の回答 (2)

  • yuziro
  • ベストアンサー率41% (5/12)
回答No.2

質問2(フォーカスのある~)の方は、よろしいのでしょうかね? *** 質問1&補足について *** まだ、はっきりしない点もあるのですが、 ある程度、想像で補うと、 親フォーム、子フォームのレコード移動時イベントを 使うのが、最も適当かと思われます。 まず、サブフォームの表示なのですが、 親フォームのモジュールで、 Private Sub Form_Current() Me.[サブフォーム名].Visible = (条件) End Sub とすると、(条件)のところが成立していれば、 サブフォームは表示され、 成立していなければ、サブフォームは表示されません。 次に、サブフォームの値による、親フォームの背景色の変更ですが、 サブフォームのモジュールで、 Private Sub Form_Current() Parent.[背景を変えたいコントロール名].BackColor = IIf(条件, 条件が成立した時の色, 条件不成立の時の色) End Sub とすると、条件の正否によって、親フォームのコントロールの背景が変わります。 ※補足 あらかじめ作ったデータだけでなく、 随時入力されるデータを、リアルタイムに、 サブフォームの表示/非表示に利用したい時は、 レコード移動時のイベントを利用すると共に、 各コントロールの更新イベントや、フォームの更新イベントも利用した方がいいですね。 条件の設定の際、Null値の処理には、気を付けてくださいね。

  • yuziro
  • ベストアンサー率41% (5/12)
回答No.1

1.ACCESS2000なら、「条件付き書式」なる機能があるのですが・・・ VBAを使えば、   [コントロールの名前].ForeColor = 色コード   [コントロールの名前].BackColor = 色コード を、必要な個所に織り込むことで可能です。 2.VBAを使うなら、   Screen.ActiveControl.BackColor = 色コード   Me.ActiveControl.BackColor = 色コード の、どちらかを 各コントロールのフォーカス取得時、喪失時のイベント に割り当てれば可能です。

fumichan
質問者

補足

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

関連するQ&A