2011-01-13 48 views
2

在我使用的大多數編程語言中,您可以執行類似的操作(其中s是字符串)。更新變量時的語法糖串連接

s = "Hello" 
s += " World" 

我嘗試在VBA中做類似的事,它不起作用。我曾嘗試

s = "Hello" 
s += " World" 
s &= " World" 

在我做

結束
s = "Hello" 
s = s & " World" 

我能做到這一點不帶S &

+0

你已經找到了唯一正確的方法更好(只要訪問而言...)。 – RolandTumble 2011-01-13 19:28:58

回答

5

Microsoft Access不使用VB.NET和&=連接運算符是VB.NET具體。

即使在Access 2010中,VBA仍然是VB6.5(老派的P-Code | Native/COM VB),並沒有升級到使用VB.NET。

4

VBA有兩個concatenation operators - &+

但是,它不具有=+=&快捷方式 - 你必須寫完整的語法:因爲它

s = s & " World" 

或者

s = s + " World" 

雖然+帶有一個警告(也用作加法運算符):

雖然你可以也可以使用+運算符來連接兩個字符串,您應該使用&運算符進行連接以消除歧義並提供自編碼代碼。

+1

+1謝謝你提到在字符串連接中使用`+`運算符的警告。太多的人給VB程序員的建議,忘記了這個重要的細節。 *原因*是因爲VB允許通過`Variant`類型進行非常寬鬆的輸入,當你將兩個'Variant'添加在一起時,很容易對結果感到驚訝。 – 2011-01-13 14:22:53

1

是的,但它並不比只使用符號

s = "Hello" 
s = Join(Array(s, "World"))