Connexion SQL Server 2005
Bonjour,
Je souhaiterais réaliser une connexion avec une base de données sous SQL server 2005 via un fichier Excel.
Je sais faire la manipulation manuel avec Donnée -> Donnée externe -> Connexion existante.
Ce que je voudrais c’est pouvoir "automatiser" tout ceci dans une macro qui en s’exécutant, établie la connexion vers ma BDD puis exécute une procédure stockée ''PROC_PERSO'' (déjà développé en SQL, qui rempli une table de ma base de donnée) et enfin m’affiche ma table "TABLE_RESULTAT" à partir de la cellule A1 par exemple.
Si vous avez des pistes pour m’aider à trouver des solutions ce serait une grande avancé pour moi.
Merci d’avance pour vos réponses.
Cordialement Raphael :D
avec un lien odbc au préalablé installé
Salut,
pour que la procédure fonctionne il faut au préalable avoir configurer un lien ODBC que tu nommeras MABASE.
N'oublie pas d'ajouter la référence Microsoft ActiveX Data Objects 2.X library
En espérant répondre à ton besoin
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Sub TOTO()
Dim cnx As ADODB.Connection 'variable permettant de créer la connexion
Dim rst As ADODB.Recordset 'variable permettant de stocker le résultat de la requête SQL
Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset
'si le temps d'exécution dépasse 120 secondes, la requête est arrêtée
cnx.CommandTimeout = 120
cnx.Open "MABASE", "login", "pwd"
'---------------pour une requête sql--------
rst.Open "SELECT * " & _
"FROM MATABLE " & _
"WHERE .....", cnx
'---------------ou bien pour une proc stock
rst.Open "EXEC MA_PROCEDURE", cnx
'---------------------------------------------
For i = 0 To rst.Fields.Count - 1
Cells(1, i + 1) = rst.Fields(i).Name
Next i
Cells(2, 1).CopyFromRecordset rst
cnx.Close
End Sub |