フォームのコントロールの背景色を正常に設定するコードを使用しています。そして、私は必要なフィールドなどの背景色を設定するには、コードの類似したビットを使用する。..再帰を使用してフォームのコントロールプロパティを設定するデータシートサブフォームの問題
Public Sub colCtrlNorm(frm As Form)
Dim setColour As String
setColour = RGB(252, 252, 252)
Dim ctl As Control
For Each ctl In frm.Controls
With ctl
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Then
ctl.BackColor = setColour
ElseIf ctl.ControlType = acSubform Then
colCtrlNorm frm(ctl.Name).Form
End If
End With
Next ctl
Set ctl = Nothing
End Sub
すべてがデータシートを入れ子になったサブフォームを含むフォームを除いて罰金とダンディに動作します。私は、次のエラーメッセージが表示されますエラートラップするとき
は:
Error 2455: You entered an expression that has an invalid reference to the property Form/Report
を私は私は、データシートのコントロールの背景色を変更傾ける感謝しています。この問題は、ネストされたデータシートでのみ発生します。どのように私はこれを回避することができますかについての任意のアイデア?
この問題のお手伝いをしていただきありがとうございます。
乾杯 ノエル
私はそれが正しいと分かっていれば回答を投稿したいと思いますが、サブフォームコントロールの親がデータシートビューにあるかどうかを確認し、そうであればスキップしてください。データシートはフォームなので、サブデータシートはサブフォームですが、データシートビューのフォームの子フォームです。 –
@Davidはい、デフォルトのビューがデータシートであるかどうかをチェックすることで動作します – noelmcg