Set statement Transact-SQL avec VBA (ADODB)
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:
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 :
Citation:
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. :D
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:
Dim WithEvents conn As ADODB.Connection
avec le listener suivant
Code:
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 :
Citation:
[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.