![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
アクティブ(カレント)レコードに条件付き書式で色を付けるには?
フォームに乗ってるサブフォームに対して、レコードが移動したら条件付き書式をつけたいです。
サブフォームのCurrentイベントに
//////////////////////////////////////////////////////
Private Sub Form_Current()
Dim avarContorol As Variant
Dim iLoop As Integer
Dim ctl As Control
Dim mystr As String
Dim i As Integer
ReDim avarControl(Me.Controls.Count - 1)
For i = 0 To Me.Controls.Count - 1
avarControl(i) = Me.Controls(i).Name
Next i
For iLoop = 0 To UBound(avarControl)
With Me.Controls(avarControl(iLoop)).FormatConditions
.Delete
'コントロールが文字列型ならダブルコーテーションでくくる
With .Add(acExpression, , "[名前] = """ & Me.Controls("名前") & "")
.BackColor = 255
End With
End With
Next iLoop
End Sub
//////////////////////////////////////////////////////
としたのですが、エラーにもならないけど、色もつかないです。
予想としては赤になると思ったのですが・・・
しかも、2010は設定した条件付き書式をフォームビューでは確認できないようです。
フォームビューで設定した条件付き書式は保存されないから、デザインビューで確認しようとしても、見れません。
サブフォームに対して行おうとしているからできないのでしょうか?
どこが間違ってるか教えていただけますか?
ご回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
まず、間違ってそうな箇所は
"[名前] = """ & Me.Controls("名前") & ""
↓
"[名前] = """ & Me.Controls("名前") & """"
後、条件付き書式を設定できないコントロールは存在しないのでしょうか?
以下、総括的に
カレント行全体の背景色を変えてハイライト表示させるには?
http://www.tsware.jp/tips/tips_392.htm
この内容に合わせるために、苦労されていたのでしょうか
配列にコントロールを求めて・・・されていますが、一気にやられてみてはどうでしょう
例えば、
Private Sub Form_Current()
Dim ctl As Control
For Each ctl In Me.Section(acDetail).Controls
With ctl
Select Case .ControlType
Case acTextBox, acComboBox
With .FormatConditions
.Delete
With .Add(acExpression, , "[名前] = """ & Me.名前 & """")
.BackColor = 255
End With
End With
End Select
End With
Next
End Sub
背景色を変えるのは、「詳細」に配置したテキストボックス/コンボボックスだと思うので、
Me.Controls ではなく「詳細」に絞った Me.Section(acDetail).Controls を処理範囲とします。
で、コントロールが、テキストボックス/コンボボックスなら条件付き書式を・・・・
また、以下の様な方法もあります。
フォーム読み込み時に、基本となる条件付き書式を設定しておいて、
(設定したコントロールの目印として Tag に文字列を設定)
レコード移動時では、条件を書き換える・・・・
( Tag に文字列が設定されているコントロールを探し出して・・・)
Private Const SetFMTC As String = "SetFormatConditions"
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Section(acDetail).Controls
With ctl
Select Case .ControlType
Case acTextBox, acComboBox
With .FormatConditions
.Delete
With .Add(acExpression, , "[名前] = """"")
.BackColor = 255
End With
End With
.Tag = SetFMTC
End Select
End With
Next
End Sub
Private Sub Form_Current()
Dim ctl As Control
For Each ctl In Me.Section(acDetail).Controls
If (ctl.Tag = SetFMTC) Then
ctl.FormatConditions(0).Modify acExpression, , "[名前] = """ & Me.名前 & """"
End If
Next
End Sub
なお、一般的なのか・・・・良く使う方法は
不可視のテキストボックス「txt1」を設置して、
読み込み時にでも、条件付き書式 [名前] = [txt1] を設定しておき、
レコード移動時に、Me.txt1 = Me.名前 を代入
これらをする事で、条件付き書式部分を書き換えなくても実現できるものになります。
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Section(acDetail).Controls
With ctl
Select Case .ControlType
Case acTextBox, acComboBox
With .FormatConditions
.Delete
With .Add(acExpression, , "[名前] = [txt1]")
.BackColor = 255
End With
End With
End Select
End With
Next
End Sub
Private Sub Form_Current()
Me.txt1 = Me.名前
End Sub
以下、まとめて書かれていますので参考になると思います
カレント行の背景色の変更 その2
http://hatenachips.blog34.fc2.com/blog-entry-20. …
カレント行の背景色の変更
http://hatenachips.blog34.fc2.com/blog-entry-18. …
また、条件付き書式を使わない方法も紹介されてます。
カレント行の背景色の変更 その3
http://hatenachips.blog34.fc2.com/blog-entry-21. …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
Access サブフォームでの選択行の取得
その他(データベース)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
Accessフォームで詳細内の任意の行へSetFocus
Excel(エクセル)
-
6
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
7
Access 帳票フォームでカレント行だけ色反転させれますか?
Access(アクセス)
-
8
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
9
accessでイベントを中止するようなコマンドはあるのでしょうか?
その他(データベース)
-
10
DoCmd.SearchForRecord が動かない時の解決方法
Access(アクセス)
-
11
ACCESSのMax(Min)関数使用方法
Access(アクセス)
-
12
Access でレコードセレクタが押されたときのイベントは?
その他(プログラミング・Web制作)
-
13
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
14
他のフォームから別のフォームのサブルーチンを呼び出す
Visual Basic(VBA)
-
15
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
16
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
17
ACCESS クエリの抽出条件で全てを抽出したい
PowerPoint(パワーポイント)
-
18
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
19
ACCESSフォーム入力後の確定
Access(アクセス)
-
20
ACCESS クエリ→フォーム フィルターをかけたデータのみエクスポートしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スケッチスタイルの有効化
-
差し込み印刷で反映されないフ...
-
【エクセル】コメントの初期(...
-
「テーブルとして書式設定」で...
-
ワードで棒線が直接文章に入る...
-
改行すると一段、間が開いてし...
-
Open office Writerで余白の調整
-
【EXCEL2003】セルの書式設定で...
-
教えてください! アクセスの書...
-
箇条書きの記号の色が勝手に変わる
-
C言語のprintf()関数の「f」の意味
-
OpenOfficeの用紙のサイズ変更で
-
WORD 書式の設定ではない黄色の...
-
Excelの集計がSUM関数で、1円...
-
課題で、Wordを使って提出する...
-
エクセルで和暦表示の桁合わせ...
-
Word2007で下線が勝手に入...
-
エクセルで文字列と数字が混在...
-
EXCEL 2007図形の直線が矢印になる
-
Word アウトラインの定義
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スケッチスタイルの有効化
-
改行すると一段、間が開いてし...
-
Excelの集計がSUM関数で、1円...
-
差し込み印刷で反映されないフ...
-
Access→Excelへエクスポートす...
-
【エクセル】コメントの初期(...
-
箇条書きの記号の色が勝手に変わる
-
【EXCEL2003】セルの書式設定で...
-
OpenOfficeの用紙のサイズ変更で
-
ワードで棒線が直接文章に入る...
-
「テーブルとして書式設定」で...
-
エクセルで和暦表示の桁合わせ...
-
WORD 書式の設定ではない黄色の...
-
C言語のprintf()関数の「f」の意味
-
エクセル 電話番号に市外局番...
-
Open office Writerで余白の調整
-
Wordで、上下二段の書式にしたい
-
スタイル同じなのに表示が異なる
-
課題で、Wordを使って提出する...
-
教えてください! アクセスの書...
おすすめ情報