无法引用失焦的表单控件

时间:2012-11-18 13:33:12

标签: vba ms-access textbox focus access-vba

这是对previous question的跟进,我询问了如何在输入时更新文本框。在我之前的问题中,我有三个文本框,其中两个已启用,另一个未启用。它们看起来像这样:

Three textbox image

我的目标是使用两个文本框的名字和姓氏填写另一个文本框中的“Code Personal”。当我输入名字和姓氏时,我希望Code Personal文本框立即更新,格式为 LLLLLL_F (例如:BERNAS_P)。但是,每当我尝试更新Code Personal文本框时,都会收到此错误:

Error image

我用来创建Code Personal格式和更新文本框的代码是:

Private Sub TxtFName_Change()

firstName = Me.TxtFName.Value
lastName = Me.txtLName.Value
firstPart = Left(lastName, 6)
secondPart = Left(firstName, 1)

nameCode = firstPart + "_" + secondPart
upperNameCode = UCase(nameCode)

txtCodePersonal.Text = upperNameCode 'My debug tells me I have an error here
End Sub

我尝试通过以下方式将焦点设置为 txtCodePersonal 文本框:[txtCodePersonal].SetFocus,但我仍然收到错误(MS Access无法将焦点移动到控件 txtCodePersonal 。)

关于在键入其他两个文本框时如何更新“Code Personal”文本框的任何想法?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

将值分配到文本框的.Value属性而不是其.Text属性。这些都应该有效:

Me.txtCodePersonal.Value = upperNameCode
Me.txtCodePersonal = upperNameCode

.Value是文本框的默认属性,因此您无需明确包含它。如果您认为它使代码更清晰,请包括它。