Problème de requete SQL sur fichiers xls/csv
Bonjour,
Je suis actuellement en train de réaliser une macro pour récupérer des données provenant de plusieurs fichiers csv, et les mettre dans un fichier résultat xls.
Mon principale soucis, c'est que je n'arrive pas à faire la moindre requete un peu complexe :
- pas moyen de demander plusieurs champs
- pas moyen d'utiliser ORDER BY
Par contre, certaines requetes "simples" fonctionnent bien.
Le INTO fonctionne, le WHERE aussi, le CONCAT aucune idée, etc.
Je viens donc vous demander de l'aide pour faire fonctionner la requete suivante, voir si vous voyez si ma requête est mal formulée, ou si mes options de connexion ne sont pas bonnes, etc.
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 25 26 27 28 29 30 31
|
Dim connexion_dossier_csv As New ADODB.Connection
With connexion_dossier_csv
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & chemin_dossier_csv & ";" & _
"Extended Properties=""Text;HDR=No;"""
.Open
End With
for i = 0 to nb_choix
nom_feuille = "Choix" & i
str_requete = "SELECT" & _
" A.[COL_1]," & _
" B.[COL_1]," & _
" CONCAT(A.[COL_1],B.COL_1])," & _
" B.[COL_2]," & _
" B.[COL_3]," & _
" A.[COL_2]," & _
" A.[COL_3]," & _
" A.[COL_4]" & _
" INTO [Excel 8.0;Database=" & chemin_fichier_sortie_xls & "].[" & nom_feuille & "]" & _
" FROM [" & chemin_fichier_csv_1 & "] A, [" & chemin_fichier_csv_2 & "] B " & _
" WHERE A.[COL_3] = B.[COL_4]" & _
" AND A.[COL_4] = '" & nom_feuille & "'"
connexion_dossier_csv.Execute str_requete
'connexion_dossier_csv.Execute str_requete, nb_enr
next i
connexion_dossier_csv.Close
Set connexion_dossier_csv = Nothing |
Notez que pour le moment, je fait bien cette requete, mais sans le INTO et le CONCAT. Tous les autres traitements sont fait sur un RecordSet, sauf que c'est atrocement long.
Code:
1 2 3 4 5
|
str_requete = "SELECT" & _
" A.[*]," & _
" B.[*]," & _
" FROM ..." |
J'suis preneur de toute idée ou tout commentaire.
Merci d'avance.
Cyborg