2014-01-10 189 views
0

我一直在尋找這種說法的年齡,我敢肯定它的一些小事。但是我無法通過VBA獲取數據。奇怪的是,它在SQL中作爲一個聲明工作,但只要我通過VBA運行它,我會得到一個運行時錯誤。我真的可以做第二雙眼睛。VBA執行SQL語句

stSQL = "EXEC('SELECT T1.Name FROM [dbo].[Tbl1] T1 " & _ 
      "INNER JOIN [dbo].[Tbl2] T2 ON T1.ID = T2.ID " & _ 
      "WHERE T2.NAME = '" & sBizUnit & "' AND Desc = '''' ORDER BY Name')" 

sBizUnit是從組合框的值:

sBizUnit = CB_BizU.Value 

在此先感謝

回答

2

請問您正在運行你的應用程序下有運行EXEC命令的權限的帳戶?

還有一點我注意到的是,你還沒有躲過了第一組引號的,也許嘗試:

stSQL = "EXEC('SELECT T1.Name FROM [dbo].[Tbl1] T1 " & _ 
     "INNER JOIN [dbo].[Tbl2] T2 ON T1.ID = T2.ID " & _ 
     "WHERE T2.NAME = ''" & sBizUnit & "'' AND Desc = '''' ORDER BY Name')" 
+0

這會做到這一點!引用報價,謝謝! – Carlos80