2016-06-17 28 views
0

我有一個帶有名爲lstCustomer的列表控件的表單。我傳遞rowsource方法的字符串如下所示連接文件並在Access中分配給行源時的類型不匹配錯誤

me.lstCustomer.RowSource = lstSQL 

的lstSQL被分配給行來源方法之前指定。

lstSQL = "SELECT FullName, City & " - " & Region AS Location FROM tblContact ORDER BY FullName;" 

這是當我不使用串聯列produicing錯誤Type Mismatch

,我沒有得到這個錯誤。我試了下面的代碼(這不會產生錯誤)

lstSQL = "SELECT FullName, City, Region FROM tblContact ORDER BY FullName;" 

我想在一個列中顯示城市和地區。請指出我的錯誤。 在此先感謝。

回答

2

請在查詢中使用單引號',而不是"

SELECT FullName, City & ' - ' & Region AS Location 
FROM tblContact ORDER BY FullName; 
1
lstSQL = "SELECT FullName, City & ' - ' & Region AS Location FROM tblContact ORDER BY FullName;" 

兩件事情:你的報價中你必須使用單引號或轉義字符。否則,VBA會混淆字符串開始和停止的位置。雙引號意味着把所有東西都當作文字。雙引號內的單引號是實際運行SELECT語句時的文字。

你會得到type mismatch錯誤,因爲你有效地試圖在這裏減去兩個字符串,並且你不能真正添加​​或減少字符串。

此外,你應該有一個計算字段的別名。這就是AS運營商在上述答案中發揮作用的地方。