在我的Access 2007表单中,我以前使用此代码直接在属性窗口中成功设置了文本框的controlSource
=UCase(Left([txtLName],6) & "_" & Left([TxtFName],1))
但是,为了尝试将其硬编码到表单中,我正在尝试使用VBA来使用以下代码设置controlSource属性:
Me.txtCodePersonal.ControlSource = "=UCase(Left([txtLName],6) & "_" & Left([TxtFName],1))"
在我的调试中,它将我的问题解决了这一行的"_"
部分。
我不知道controlSource属性在VBA中是如何工作的,所以我不知道如何纠正这个问题。 感谢您的所有帮助。
答案 0 :(得分:3)
您正在尝试为.ControlSource
属性分配字符串值。但是,该字符串包含其中的引号。同样,在立即窗口中,这将引发错误:
Debug.Print "=UCase(Left([txtLName],6) & "_" & Left([TxtFName],1))"
将字符串中的引号加倍,以避免出现此问题。
Debug.Print "=UCase(Left([txtLName],6) & ""_"" & Left([TxtFName],1))"
=UCase(Left([txtLName],6) & "_" & Left([TxtFName],1))