如何在vba中转义角色?我试图逃避;
,因为我有一个编译器在;
切割的字符串。
我试过了\
,但似乎没有用。 vba
中的任何其他特殊逃脱?
Set mySqlCon = wrkODBC.OpenConnection("connection1", , , "DRIVER={MYSQL ODBC 5.1 DRIVER};" _
& "SERVER=testserver.com;port=3306;" _
& "DATABASE=test;" _
& "USER={coding;Enthusiast};" _
& "Password=pwd;")
答案 0 :(得分:1)
在立即窗口中检查你的字符串构建部分:
? "DRIVER={MYSQL ODBC 5.1 DRIVER;}" _
& "SERVER=testserver.com;port=3306;" _
& "DATABASE=test;" _
& "USER={coding;Enthusiast};" _
& "Password=pwd;"
DRIVER={MYSQL ODBC 5.1 DRIVER;}SERVER=testserver.com;port=3306;DATABASE=test;USER={coding;Enthusiast};Password=pwd;
它使用Access 2010为我生成了一个有效的VBA字符串。
如果问题是ODBC不喜欢该连接字符串,请将第一个分号移到}
括号之外:
? "DRIVER={MYSQL ODBC 5.1 DRIVER};" _
& "SERVER=testserver.com;port=3306;" _
& "DATABASE=test;" _
& "USER={coding;Enthusiast};" _
& "Password=pwd;"
DRIVER={MYSQL ODBC 5.1 DRIVER};SERVER=testserver.com;port=3306;DATABASE=test;USER={coding;Enthusiast};Password=pwd;
如果您的字符串中仍然存在分号问题,请尝试根据其ASCII值而不是文字;
字符添加它:
? "a" & Chr(59) & "b"
a;b
答案 1 :(得分:0)
VBA中的分号没有什么特别之处,因此不需要特殊的转义或其他处理。以下代码段回应了您的帖子并且工作得很好:
Sub foo()
Dim a As String
a = "foo" _
& "; bar"
MsgBox a
End Sub