Recorrer 60 textbox de un form. Y comparar con una consulta para darle formato, for each control in controls me da error 429
Necesito que al cargar el formulario se ejecute una consulta y si el valor del textbox coincide con un valor en la consulta darle un aspecto u otro. Son 60 textbox a los que les tengo que cambiar el color del borde según si en la consulta aparece true o false.
Tengo una consulta que me dice si la parcela está ocupada o no, y quiero que si el número de la parcela que está libre coincide con el valor del textbox, este tenga el borde verde, para que el usuario de un vistazo pueda ver qué parcelas son las que están libres.
He intentado hacerlo abriendo la tabla, abriendo una consulta, comparar con la columna(0) de un combobox basado en la consulta, pero el error me sale al intentar recorrer todos los texbox.
He intentado lo de abrir la tabla o consulta en el evento Form_load() y lo del combobox en el evento después de actualizarlo.
Esto es lo que tengo:
Option Compare Database
Option Explicit
Private Sub cmbParcelasLibres_AfterUpdate()
Dim parcelas As New control
For Each parcelas In Controls
If TypeOf parcelas Is TextBox Then
If cmbParcelasLibres.Column(0) = parcelas Then
parcelas.GridlineColor = RGB(0, 125, 0)
End If
End If
Next parcelas
End Sub
Private Sub Form_Load()
cmbParcelasLibres.SetFocus
cmbParcelasLibres.Requery
End Sub
Pero no me funciona, me da error 429 ActiveX no puede crear el control, y las soluciones que veo por internet no consigo que funcione. ¿Qué clase necesito tener instalada? ¿Qué librerias?
Si no saliese el error, ¿sería correcto el código?
Me estoy volviendo loca! Es lo último que me falta para entregar el programa.