フォーム:カレントレコードの背景色の変更 Hit Counter

対象バージョン : 97, 2000, 2002, 2003
最終更新日 : 2005/04/25 (オリジナル作成日:1999/10/09)


概 要 

帳票フォームで、現在フォーカスのあるレコードの背景色を変更する方法です。

実態としては、詳細セクションの背景色を変更すると全レコードの表示が変更されますので、OLE オブジェクトを利用して表示色を変えています。

 

サンプル MDB のダウンロード


   tch_051.lzh (30,334 Bytes)

このファイルを解凍すると、次の2つのファイルが作成されます。

  1. CRec.mdb(Access Ver.7.0 で作成)
  2. Red.bmp


※Red.bmp は無くても動作しますが、このように作成したとの意味で、ご参考として添付しました。

 

サンプルの説明

CRec.mdb を開くと、フォーム "F_一年戦争" が開きます。

レコードの移動とともに、背景色が赤くなります。

 

解 説

テーブル "一年戦争" に "数値型" の "ColorNo" というフィールドが設けてあります。

テーブル "Color" に、 "数値型" の "ColorNo" というフィールドと、"OLE オブジェクト型" の "Color" という フィールドが設けてあり、これには次の2つのレコードが作成されています。

ColorNo Color
0 (未登録)
1 オブジェクトの挿入で Red.bmp をビットマップイメージで登録

クエリー "Q_一年戦争" では、テーブル "一年戦争" と、"Color" とを、フィールド "ColorNo" で連結しており、このクエリーは、フォーム "F_一年戦争" の "RecordSource/レコードソース" となっています。

フォーム "F_一年戦争" の詳細セクションに、フィールド "Color" の連結オブジェクトフレームを、全く同じ大きさで配置してあります。

フォームの "OnOpen/開く時" でのイベントプロシージャで、フォームの全 Recordset に対して、フィールド "ColorNo" に 0 を設定しています。

フォームの "OnCurrent/レコード移動時" でのイベントプロシージャで、Bookmark を利用して、移動前のレコードの "ColorNo" を 0 にして、移動後のレコードの "ColorNo" を 1 にしています。

 

補 足

 

改訂履歴


目次へ戻る