3

在我的 Access 2007 表单中,我之前成功设置了文本框的 controlSource,直接在属性窗口中,使用此代码

=UCase(Left([txtLName],6) & "_" & Left([TxtFName],1))

但是,为了将其硬编码到表单中,我尝试使用 VBA 使用以下代码设置 controlSource 属性:

Me.txtCodePersonal.ControlSource = "=UCase(Left([txtLName],6) & "_" & Left([TxtFName],1))"

在我的调试中,它将我的问题解决到"_"这一行的部分。

我不知道 controlSource 属性在 VBA 中是如何工作的,所以我不知道如何纠正这个问题。提前感谢您的所有帮助。

4

1 回答 1

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))
于 2012-12-02T16:38:12.380 回答