Innanzitutto il codice come lo hai scritto non può funzionare... manca un IF dal momento in cui il 1° è chiuso subito...!
Secondo ho provato questo codice e non ho nessun problema.. nessun errore e tutte le proprietà vengono lette
Secondo me tu stai confondendo l'uso dell'oggetto Esplicito come la TextBox e la possibilità di Attivare l'intellisense che espone nel VBA le proprietà... ma non hai capito che in questo caso di LATEBINDING, perchè l'associazione di TIPO è tardiva, non puoi farlo... in quanto l'oggetto è Generico...!
Quando dichiari una Classe come Object non vedrai mai Proprietà/MEtodi/Eventi ma assolutamente li puoi usare.
Dim ctl As Access.Control
Dim txtb As TextBox
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
Debug.Print ctl.Value
If Left(ctl.Value, 1) = "9" Then <----- BREACHPOINT
ctl.BackColor = VBA.RGB(82, 246, 250)
End If
End If
Next
Quindi fai DEBUG e metti BreachPoint sul punto Indicato ed apri la finestra immediata troverai stampato il VALUE come detto.