2016-01-27 68 views
0

我试图为包含括号的字符串变量输入一个值。在字符串值中输入括号

ValueString = "'("&data1&"')" 

对于此示例,数据1具有值6(I证实该变量在这之前的代码行的值)

我想的valueString的值设定为(6)

运行时,突出显示&"')"的“预计结束语句”。

我已经尝试了这种语法的许多变体,结果相同。

有什么建议吗?

+0

公共Sub Import2(FileName As Variant) Dim wb As Object,ws As Object Dim xl As Object Set xl = CreateObject(“excel.Ap折襞 “) 昏暗适量作为字符串 昏暗的valueString作为字符串 设置WB = xl.Workbooks.Open(文件名) 集WS = wb.worksheets(” 对于导出“) DATA1 = ws.cells(2,1) 数据2 = ws.cells(2,2) 数据3 = ws.cells(2,3) 的valueString = “(” &DATA1& “)” QS = “INSERT INTO MAF(FormDate)VALUES&的valueString” 的DoCmd .RunSQL qs 'CurrentDb.Execute qs'当我运行这个时,我得到了“INSERT INTO语句中的语法错误”本地窗口显示(4/1/2016),这正是我想要的。 –

回答

1

或者使用格式:

ValueString = Format(data1, "(0)") 
2

前后&字符包括空格:

ValueString = "'(" & data1 & "')" 

问题是因为Access解释data1&意味着一个命名变量data1类型为长。

由于LiamH pointed out,如果你想ValueString包含(6)的代替'(6'),除去撇号:

ValueString = "(" & data1 & ")" 
+1

删除撇号以返回所需的结果。目前这个答案给出了''(6')' – LiamH