Exporter les résultats de la requête sql au format excel en utilisant vba avec des en-têtes
J'ai besoin d'exporter une simple requête SQL résultat à excel. Je suis en mesure d'obtenir les résultats, cependant les en-têtes sont manquant, comment puis-je exporter les en-têtes?
C'est ce que j'ai à ce jour:
Sub Conn2SQL()
Dim cnn1 As New ADODB.Connection
Dim mrs As New ADODB.Recordset
Set cnn1 = New ADODB.Connection
cnn1.ConnectionString = "driver={SQL Server};server=MyDBServer;uid=MyuserID;pwd=mypassword;database=MyDB"
cnn1.ConnectionTimeout = 30
cnn1.Open
SQry = "use MyDB select * from TableName"
mrs.Open SQry, cnn1
Sheet2.Range("A2").CopyFromRecordset mrs
mrs.Close
cnn1.Close
End Sub
OriginalL'auteur sk8er_boi47 | 2014-06-18
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour faire une boucle dans les noms de champ pour inclure les en-têtes. Un exemple sur le site de Microsoft est ci-dessous:
Donc à mettre en œuvre dans votre code, ce serait celui-ci:
Ceci est utile, mais maintenant que vous avez m'a fait penser à Mme de Champs de cookies.
OriginalL'auteur Gareth
Il y a une autre façon de le faire. Vous pouvez ajouter votre connexion SQL et de la table de données à une feuille. (Excel assistant connexion de données)
Puis utilisez votre VBA pour supprimer les données dans la Table, et insérer vos données via le code (créer de connexion SQL et requêtes à l'aide de VBA).
Une fois que votre code est correctement suppression des données et actualisant vos données SQL dans la table, vous pouvez supprimer la connexion créée.
Vous serez à gauche avec un Tableau avec les en-têtes de Colonne et de vos données dynamiquement être amenés et jetés dans la table. Aucun en-tête de colonne VBA nécessaire. 🙂
OriginalL'auteur MFranco