Bonjour,
Ayant une question touchant à la fois à Transact-SQL et à VBA, j'espère que je ne me trompe pas de forum.

Voici mon but :

Lorsque j'effectue, sur SQL Server 2008, une query du type
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
set statistics io on 
set statistics time on 
SELECT * 
FROM Tartenpiom With(nolock)
WHERE machin = bidule

J'obtiens un output et, dans l'onglet "Message", ceci :

SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.

(1 row(s) affected)
Table 'X'. Scan count 0, logical reads 2, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Y'. Scan count 0, logical reads 3, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
Youhou ! Plein d'info de CPU time et tt, cool, des données à analyser.

Afin de pouvoir analyser le résultat entre plusieurs requêtes, j'aimerais automatiser ce traitement en VBA Excel.

Pour ce faire, j'encode la query, j'utilise ADODB et, pour espérer récupérer des informations, je définis
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
Dim WithEvents conn   As ADODB.Connection

avec le listener suivant

Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub conn_InfoMessage(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
 
    Dim Err As ADODB.Error
    For Each Err In pConnection.Errors
        DisplayOnSheet (Err.Description)
    Next
 
End Sub

où "Display" écrit sur une sheet de mon fichier Excel.

Et là, j'ai le résultat suivant :

[Microsoft][ODBC SQL Server Driver][SQL Server]Changed database context to 'PPFDSB'.
[Microsoft][ODBC SQL Server Driver][SQL Server]Changed language setting to us_english.
[Microsoft][ODBC SQL Server Driver][SQL Server]Changed database context to 'PPFDSB'.
[Microsoft][ODBC SQL Server Driver][SQL Server]Changed language setting to us_english.

Donc, d'autres messages que ceux plus haut et aucuns qui ne m'intéressent !

Avez-vous une idée de
- Est-ce dû une limitation de VBA que je ne sais utiliser les "Set statement" de Transact-SQL ?
- comment résoudre ce casse-tête :s


Merci bien.