SQL Server上的Excel VBA ODBC错误

我需要一些关于excel和VBA的build议。 我的系统是:

  • MS SQL Server 2008R2
  • Excel 2003女士
  • ODBC设置和工作

我有一个VBA代码来从SQL服务器检索数据。 代码是:

Sub update_supplier() 'CONNECTION STRING cnnstr = "ODBC;DSN=XXX-XXXX-XX;UID=sa;PWD=xxxxx;Database=XXXXXXXXX" 'Query qry_sup = "Select a.name from table a where a.postdate between '2013-01-01' and '2013-12-31'" 'UPDATE SHEET Set sql_qry_sup = ActiveSheet.QueryTables.Add(Connection:=cnnstr, Destination:=Range(Cells(1, 1), Cells(1, 1)), Sql:=qry_sup) sql_qry_sup.FillAdjacentFormulas = True sql_qry_sup.BackgroundQuery = False sql_qry_sup.Refresh End Sub 

那么..当我运行这个macros,我收到一个通用ODBC错误(运行时错误1004),我敢肯定是有关BETWEEN选项在查询..

事实上..如果'改变我的查询

 qry_sup = "Select a.name from table a where a.postdate > '2013-01-01'" 

vba的工作很好..

我也尝试以下

 qry_sup = "Select a.name from table a where (a.postdate >= '2013-01-01' and a.postdate <= '2013-12-31')" 

但我收到相同的ODBC一般错误(运行时错误1004)

有任何build议或有关这个问题的信息?