ЕСЛИ вы можете настроить запросы в хранимой процедуре на сервере SQL, то запросы будут выполняться, если возвращаются отдельные наборы результатов, например:
Dim rsData As ADODB.Recordset
Dim oCmd As ADODB.Command
With oCmd
.ActiveConnection = objConn
.CommandType = adCmdStoredProc
.CommandText = "SprocName"
End With
Set rsData = oCmd.Execute()
'do stuff with the first results
rsData.NextRecordset
'rsData will now be the next set of results
rsData.NextRecordset
'rsData will now be the third set of results
В качестве альтернативы вы можете указать несколько запросов с помощью
.CommandType = adCmdText
.CommandText = "Select * FROM Foo; Select * FROM Bar;"
имеющий; между каждым запросом, я не уверен в этом, я обычно настраиваю sproc