La copie de jeu d'enregistrements ADO en feuille de calcul excel
J'essaie d'ouvrir un fichier CSV et de les interroger et de retourner les résultats dans la colonne A de la deuxième feuille de calcul de la "ThisWorkbook".
Je ne reçois pas toutes les erreurs, donc je ne vois pas pourquoi il n'est pas de copier le dossier du jeu dans excel.
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim currentDataFilePath As String
Dim currentDataFileName As String
Dim nextRow As Integer
currentDataFilePath = "C:\Users\M\folder\"
currentDataFileName = "csv-file"
con.Open "Provider=Microsoft.JET.OLEDB.4.0;" & _
"Data Source=" & currentDataFilePath & ";" & _
"Extended Properties=""text;HDR=NO;FMT=Delimited;IMEX=1"""
'rs.ActiveConnection = con
rs.Open "SELECT Name FROM [" & currentDataFileName & ".csv] WHERE Datatype ='TYPE3'",
con
ThisWorkbook.Worksheets("Sheet2").Range("A:A").CopyFromRecordset rs
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
End Sub
- Vérifier
rs.EOF
pour vous assurer que vous êtes en train de retourner tous les enregistrements. - Il fonctionne très bien - j'avais juste fait une faute de frappe de ma requête 🙁
Vous devez vous connecter pour publier un commentaire.
Vous pouvez consulter la
CopyFromRecordset()
méthode.En fonction de votre code ci-dessus, après la
rs.Open
commande vous ajoutez quelque chose comme ceci:Voir plus ici: http://msdn.microsoft.com/en-us/library/office/ff839240%28v=office.15%29.aspx