Excel 使用单个连接执行多个存储过程

Excel 使用单个连接执行多个存储过程,excel,excel-2007,excel-2010,vba,Excel,Excel 2007,Excel 2010,Vba,我有一个设计,如下所述,它需要(可能)一个接一个地执行多个存储过程 Dim cn As ADODB.Connection: Set cn = New ADODB.Connection Dim srv As String: srv = GetValue("tblBrandDatabase", abbr) Dim db As String: db = GetValue("tblBrandDatabase", abbr, 3) Dim connstr As String

我有一个设计,如下所述,它需要(可能)一个接一个地执行多个存储过程

   Dim cn As ADODB.Connection: Set cn = New ADODB.Connection
   Dim srv As String: srv = GetValue("tblBrandDatabase", abbr)
   Dim db As String: db = GetValue("tblBrandDatabase", abbr, 3)
   Dim connstr As String
   connstr = "Provider=SQLNCLI10;Server=" & srv & _
               ";Database=" & db & _
               ";Trusted_Connection=yes"

   cn.Open connstr

   ProcessEmplData wb, cn
   If (cn.State = adStateOpen) Then cn.Close

   cn.Open connstr
   Dim cmd As ADODB.Command: Set cmd = New ADODB.Command
   With cmd
      Set .ActiveConnection = cn

      'Process the new Imported Employee Data
      .CommandText = "Process_EmplData"
      .CommandText = adCmdStoredProc
      .Execute
   End With

   If (cn.State = adStateOpen) Then cn.Close
   Set cn = Nothing
问题: 如何在不获取错误代码的情况下成功执行此操作?运行时错误-2147217900(80040e14)-“4”附近的语法不正确。

需要适用于2007/2010,因为我们仍然在现场部署了这两个版本。

您看到了吗?

4是
adCmdStoredProc
的值。您可以用它覆盖
.CommandText
。使用
.CommandType
代替第二个
.CommandText

显然,我是代码盲。TYVM,已经看了2-3个小时的代码,最后放弃了,在这里查看;)