Exportation RecordSet vers un fichier .CSV
Bonjour,
Je découvre le Visual Basic (d'ailleurs je suis perdu en VB.NET, VBA, VB6 ! Si vous pouviez m'éclaircir se point) et j'ai un projet professionnel, je dois faire l'exportation du contenu d'une table Access vers un fichier csv.
J'ai donc fait la connexion avec ADODB, je fais mon RecordSet et je voudrais donc transmettre le résultat sous .CSV.
J'ai fait des recherches, et j'ai pu voir que certains créer un fichier texte avec le délimiteur puis créer le fichier CSV :calim2:
Je sais aussi qu'il faut utilisé la fonction DoCmd.TransferText, je suis donc vraiment pas loin, mais je sèche, je ne sais pas quoi faire entre mon RecordSet et la fonction.
Convertir en tableau ? Créer un fichier texte intermédiaire ? Le parcourir ?
Voici mon code actuel :
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
Sub Export_CSV()
Ouverture_Connexion_BDD
If Connexion Then
' Déclaration de la variable contenant le répertoire d'enregistrement
Dim Chemin As String
' Execution de la requête
req.Open "select * from TB_REF_CONV;", cnx
With req
If .EOF Then
MsgBox "La table <Param1> ne contient aucune donnée.", vbExclamation, "Erreur de traitement"
Else
Chemin = ChoixDossier
'La totalité des entrées présentes dans la table est exportée (sans être supprimée de la table) dans le fichier.
'Si une erreur survient lors de l'export
'Le message d'erreur est affiché dans un pop-up et l'utilisateur est prévenu que le traitement est interrompu.
'Do
' MsgBox req("Devise")
' .MoveNext
'Loop While Not .EOF
' DoCmd.TransferText acExportDelim, "Export_CSV", req, "C:\April.csv", True
'DoCmd.TransferText acExportDelim, , req.Record, "C:\April.csv"
MsgBox "L'export s'est terminé avec succès.", vbInformation, "Opération réussie"
Else
MsgBox "Traitement de l'exportation interrompu.", vbExclamation, "Erreur de traitement"
End If
End If
End With
req.Close
Set req = Nothing
Fermeture_Connexion_BDD
End If
End Sub |
La procédure Ouverture_connexion_BDD fonctionne parfaitement ainsi que la fonction ChoixDossier qui retourne bien sous forme de string le choix du répertoire sous lequel faire l'enregistrement du CSV.
Ma requête fonctionne, donc que dois-je faire désormais ?
Merci d'avance