#1です。
> 私のレベルじゃちょっと理解できないみたいです・・・。
あら・・・じゃ、とりあえず手順を書いてみます。
あくまで参考例ですのでやって見れば、なんとなく理解できます。
1.テーブルを2個作ります。
テーブル名:Tbl_Color
フィールド名:ID_Color
整数型、インデックス「はい(重複なし)」
フィールド名:OLE_Color
OLEオブジェクト型
テーブル名:Tbl_Data
フィールド名:A
整数型
フィールド名:A_ID_Color
整数型
2.色テーブルを作成します。
テーブル「Tbl_Color」に「ID_Color」を1~4まで追加、「OLE_Color」に右クリックで「OLEオブジェクト挿入」→「ペイントブラシ」で大体4つのレコードにそれぞれの色を付けます。
3.クエリーの作成します。
新規作成→SQLビューにして下記の「SELECT~;」を上書きして、保管します。
SELECT Tbl_Data.*, Tbl_Color.OLE_Color
FROM Tbl_Data LEFT JOIN Tbl_Color ON Tbl_Data.A_ID_Color = Tbl_Color.ID_Color;
4.モジュールの作成します。
標準モジュールのところに下記のモジュールを書き込みます。
Function usUpdate(A As Control, A_Color As Control) As Boolean
A_Color = ((Nz(A, 0)) Mod 4)+1
End Function
実際は、やりたい演算(条件)をここで設定します。
5.フォームの作成
3で作成したクエリーを元にフォームを作成します。
A
A_ID_Color
OLE_Color
の3つを配置、そのうち「A」に割り当てたテキストボックスの名前を「Ctl_A」、「A_ID_Color」に割り当てたテキストボックスの名前を「Ctl_A_ID_Color」とします。
念のため、「A_ID_Color」、「OLE_Color」の割り当てたものを、「使用可能:いいえ」「編集ロック:はい」に変更。
「OLE_Color」を「最背面へ移動」を実施し、「OLEサイズ:ストレッチ」にしておく。
「A」の割り当てた「Ctl_A」の「更新後処理」に式ビルダで
=usUpdate([A_ID_Color],[Ctl_A])
を貼り付け。
以上で実行可能です。
そうするとOLEオブジェクトが「Ctl_A」を変更によって色が、ぱらぱら変わります。
色を付けるだけなら条件付書式より、かなり複雑に処理も可能になります。
後は「透過」とか工夫次第ですね
で、なんとなくは判りました?
(Acc97の時には再計算実施しなければ変わらなかったんですが、Acc2002で大丈夫なので、おそらく2003も大丈夫だと・・・。)
お礼
何度も本当に回答ありがとうございます できましたw。本当にありがとうございます。 やっと思い通りのデーターを作ることができました。 またACCESSのこと質問することがあると思いますが、そのときはまたアドバイス宜しくお願いします