J'ai une situation dans laquelle je dois placer une ligne d'information dans un fichier CSV. Après quoi, j'aurai besoin d'ajouter 3 requêtes, de différents numéros de colonnes, à ce fichier.Exporter des données dans un fichier
ont actuellement cette logique, mais la ligne TransferText
écrase ce que j'avais placé dans le fichier avant qu'il:
Dim fldr As String
Dim dlg As Office.FileDialog
Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
With dlg
.AllowMultiSelect = False
.Title = "Select a Folder:"
.Filters.Clear
'.Filters.Add "CSV Files", "*.csv"
If .show = True Then
fldr = .SelectedItems(1)
End If
End With
GC dlg
'TODO: Remove after Debugging is complete
RaiseAlert "Folder chosen: " & fldr
'-----------------------------------------
Dim file As String
file = fldr & "\Export_DelaGet_" & Format(Now(), "yyyy_mm_dd") & ".csv"
'TODO: Remove after Debugging is complete
RaiseAlert "File: " & file
'-----------------------------------------
'TODO: OpenFile and output the header line
Open file For Output As #1
Print #1, """SYS"",""Some Data""" & vbCrLf
Close 1
'Output Query/View Results to file
DoCmd.TransferText acExportDelim, "MstPrc_Spec", "vwMasterPrices_Output", file, False
Serait-il préférable pour moi juste itérer à travers la requête via RecordSet ou suis-je manque quelque chose dans TransferText?
Oui, j'ai construit mon propre VB6 Collector .... c'est une combinaison de 'Set = Nothing' (si objet) et si Objet RecordSet' .close'. Il faut un paramètre 'ParamArray', donc si j'ai un tas j'ai besoin de fermer (par exemple), je peux virgule les délimiter. – GoldBishop