我有一个名为lstCustomer
的列表控件的表单。我正在传递rowsource
方法字符串,如下所示
me.lstCustomer.RowSource = lstSQL
在分配给rowSource方法之前指定了lstSQL。
lstSQL = "SELECT FullName, City & " - " & Region AS Location FROM tblContact ORDER BY FullName;"
这产生错误Type Mismatch
当我没有使用连接列时,我没有收到此错误。我尝试了以下代码(这不会产生错误)
lstSQL = "SELECT FullName, City, Region FROM tblContact ORDER BY FullName;"
我想在一个列中显示城市和地区。请指出我的错误。 提前谢谢。
答案 0 :(得分:2)
请在查询中使用单引号'
代替"
:
SELECT FullName, City & ' - ' & Region AS Location
FROM tblContact ORDER BY FullName;
答案 1 :(得分:1)
lstSQL = "SELECT FullName, City & ' - ' & Region AS Location FROM tblContact ORDER BY FullName;"
两件事:在引号内你必须使用单引号或转义字符。否则,VBA会混淆文字字符串的开始和停止位置。双引号意味着将中间的所有内容都视为文字。双引号内的单引号是实际运行SELECT语句时的文字。
您收到type mismatch
错误,因为您有效地尝试在此处减去两个字符串,而您无法真正添加或减少字符串。
此外,您应该拥有计算字段的别名。 {(1}}运算符在上述答案中起作用的地方。