为什么我需要在这个单词周围用括号在Excel VBA中运行SQL查询?

时间:2017-01-12 15:54:32

标签: sql excel vba access

我有一个查询我在excel vba中运行。我正在尝试使用ADO库打开记录集。我在访问vba中运行此代码,它工作正常。当我尝试在excel VBA中执行它时,它无法打开记录集。一旦我在vz.Zone部分周围放置括号,它最终工作,但在其他任何地方都不需要括号。我试图找出这里需要的原因。我已经看到,对于任何没有空格的列,或者对于看起来不像的保留关键字,需要括号。谁能对这个问题有所了解?我很感激帮助。

Cost = "SELECT vz.vendorID, [vz.Zone], cl.CountryName, V.VendorName" & _
" FROM ((VendorZones AS VZ INNER JOIN CountryList AS CL" & _
" ON VZ.CountryID = CL.CountryID) INNER JOIN Vendors AS V ON" & _
" VZ.VendorID = V.VendorID) WHERE CL.CountryName = 'Austria'"

1 个答案:

答案 0 :(得分:5)

区域是保留字,因此您需要将其括起来。 https://msdn.microsoft.com/en-us/library/ms189822.aspx