2012-12-02 55 views
3

在我的Access 2007年形式的控制源,我以前在设置文本框的控件,直接在属性窗口成功,使用此代码设置一个文本框VBA

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

然而,企图这种硬编码到表单中,我试图使用VBA使用此代码来设置控件属性:

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

在我的调试,它解决了我的问题,以这条线的"_"部分。

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

回答

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))