2012-12-02 94 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))