VBA: Why must I set focus to control every time?
Asked Answered
A

1

20

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.

Adjacent answered 25/6, 2013 at 19:47 Comment(0)
F
41

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.

Fca answered 25/6, 2013 at 19:53 Comment(1)
Thanks! Been awhile since I worked in Access. Knew there had to be something small I was overlooking.Adjacent

© 2022 - 2024 — McMap. All rights reserved.