Textbox locken en andere kleur op elk formulier

Status
Niet open voor verdere reacties.

mvdkooij

Gebruiker
Lid geworden
30 mrt 2007
Berichten
52
Hallo,

Ik heb meerdere detail formulieren waarvan ik bij het openen van een record er voor wil zorgen dat de textboxen LOCKED zijn en een andere BACKCOLOR krijgen.
Nu kan ik dat natuurlijk op elk formulier apart in de VBA zetten (dat lukt), maar ik wil het eigenlijk één keer instellen in een module dat als ik bijvoorbeeld de BACKCOLOR wil aanpassen ik dat maar 1 keer hoef te doen.

Ik heb nu een module gemaakt:

Code:
Public Sub LockControls()
Dim ctl As Control

  For Each ctl In Me.Controls
     If TypeOf ctl Is TextBox Then
        ctl.Locked = True
        ctl.BackColor = RGB(240, 240, 240)
        ctl.Enabled = False
     End If
 Next ctl
End Sub

En die open ik op een formulier met:

Code:
Private Sub Form_Open(Cancel As Integer)
Call LockControls
End Sub

Echter krijg ik dan de melding: COMPILIEERFOUT. ONGELDIG GEBRUIK VAN HET SLEUTELWOORD ME.

Wat doe ik fout of zou ik anders moeten doen om mijn doel te bereiken?
 
Dat klopt, omdat je call niet in dezelfde environment zit. Je kunt dat repareren door je sub de form mee te geven die de aanroep doet:

Code:
Public Sub LockControls(who as object)
Dim ctl As Control

  For Each ctl In who.Controls
     If TypeOf ctl Is TextBox Then
        ctl.Locked = True
        ctl.BackColor = RGB(240, 240, 240)
        ctl.Enabled = False
     End If
 Next ctl
End Sub

en aanroepen met:

LockControls(Me)
 
Thanks voor je reactie,

Ik krijg alleen als ik dat probeer de volgende foutmelding als ik het formulier open:

Fout 438 tijdens uitvoering:
Deze eigenschap of methode wordt niet ondersteund door dit object.

Als ik dan naar foutopsporing ga wijst ie in de VBA deze regel aan:
Code:
For Each ctl In who.Controls
 
Als je in je routine (of eventueel een aparte routine) het volgende plaatst:

Code:
msgbox(typename(who))

wat krijg je dan terug?

Ik heb helaas even geen access dus ik kan niet zelf experimenteren met de code. Dit werkt normaal prima voor userforms, maar mogelijk gaat er hier wat mis.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan