I am creating a personal Library Inventory system using an Access 2007 database. In code, whenever I reference the .Text
property of a form control, whether it be changing the value, or simply checking the value in an IF statement, I get prompted with Run-time error '2185': You can't reference a property or method for a control unless the control has the focus
.
Why is this?
For setting the .Text
it's not a huge deal, but when I'm checking the value in an IF statement, I can't set the focus when I'm checking multiple conditions.
The SetFocus method moves the focus to the specified form, the specified control on the active form, or the specified field on the active datasheet.
Use the SetFocus method to move the focus to a subform, which is a type of control. You can also move the focus to a control on a subform by using the SetFocus method twice, moving the focus first to the subform and then to the control on the subform.
Use .Value
instead - that doesn't require setting focus first. From the documentation, for example for the TextBox control (emphasis mine):
While the control has the focus, the Text property contains the text data currently in the control; the Value property contains the last saved data for the control. When you move the focus to another control, the control's data is updated, and the Value property is set to this new value. The Text property setting is then unavailable until the control gets the focus again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With