Sounds like we're trying to do the same thing! I have almost managed to to work it but have run into problems. I get a form to come up that displays what query is running but it doesn't move onto the next query until the user closes the form...my code is below..have you found a way of doing it? Also I use an ODBC connection to SQL server, what is the ADO connection you're using?
'Query database for each specialist in name coloumn
Dim OpenQuery As String
Dim ClosedQuery As String
Dim StartDate
Dim EndDate
Dim Row
StartDate = Format(Cells(4, 4).Value - 1, "yyyy-mm-dd HH:MM:SS"

EndDate = Format(Cells(4, 4).Value + 5, "yyyy-mm-dd HH:MM:SS"

Row = 6
For i = 1 To 18
frmUpdate.Show
frmUpdate.lblLabel.Caption = "Please Wait, Retrieving Stats for" & Chr(32) & Cells(Row, 3)
OpenQuery = "SELECT Count(*) AS 'Cases Created' FROM Vantive.dbo.SW_HD_CASE SW_HD_CASE WHERE (SW_HD_CASE.swDateCreated Between {ts '" & StartDate & "'} And {ts '" & EndDate & "'}) AND (SW_HD_CASE.swCreatedBy='" & Cells(Row, 3) & "')"
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=SQL Server;UID=user;PWD=password;APP=Microsoft® Query;DATABASE=Database" _
, Destination:=Cells(Row, 16))
.CommandText = Array(OpenQuery)
.Name = "Open"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Cells(Row, 16).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Font.ColorIndex = 54
With Selection
.HorizontalAlignment = xlCenter
End With
SpecialistID = Cells(Row, 1)
ClosedQuery = "SELECT Count(*) AS 'Cases Closed' FROM Vantive.dbo.SW_HD_CASE SW_HD_CASE WHERE (SW_HD_CASE.swDateResolved Between {ts '" & StartDate & "'} And {ts '" & EndDate & "'}) AND (SW_HD_CASE.swResolvedBy=" & SpecialistID & "

"
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=SQL Server;UID=user;PWD=password;APP=Microsoft® Query;DATABASE=Database" _
, Destination:=Cells(Row, 17))
.CommandText = Array(ClosedQuery)
.Name = "Closed"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Cells(Row, 17).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Font.ColorIndex = 14
With Selection
.HorizontalAlignment = xlCenter
End With
Row = Row + 1
Next i
Range("C5"

.Select
End Sub