VBA:为什么我必须每次都设定焦点来控制?

Ana*_*tic 13 ms-access vba properties ms-access-2007 access-vba

我正在使用Access 2007数据库创建个人库清单系统.在代码中,每当我引用.Text表单控件的属性时,无论是更改值,还是只是检查IF语句中的值,我都会收到提示Run-time error '2185': You can't reference a property or method for a control unless the control has the focus.

为什么是这样?

设置.Text它并不是一件大事,但是当我在IF语句中检查值时,我在检查多个条件时无法设置焦点.

Geo*_*off 32

.Value改用 - 不需要先设置焦点.从文档中,例如TextBox控件(强调我的):

当控件具有焦点时,Text属性包含当前在控件中的文本数据; Value属性包含控件的最后保存数据.将焦点移动到另一个控件时,控件的数据将更新,并且Value属性将设置为此新值.然后,Text属性设置不可用,直到控件再次获得焦点.