Public Sub SaveRecordsetToCSV()
Dim rsTemp As ADODB.Recordset
Set rsTemp = New ADODB.Recordset
rsTemp.Open "MyTableName", CurrentProject.Connection, adOpenStatic, adLockOptimistic
Dim CSVData As String
CSVData = RecordsetToCSV(rsTemp, True)
Open "C:\MyFileName.csv" For Binary Access Write As #1
Put #1, , CSVData
Close #1
rsTemp.Close
Set rsTemp = Nothing
End Sub
Public Function RecordsetToCSV(rsData As ADODB.Recordset, _
Optional ShowColumnNames As Boolean = True, _
Optional NULLStr As String = "") As String
'Function returns a string to be saved as .CSV file
'Option: save column titles
Dim K As Long, RetStr As String
If ShowColumnNames Then
For K = 0 To rsData.Fields.Count - 1
RetStr = RetStr & ",""" & rsData.Fields(K).Name & """"
Next K
RetStr = Mid(RetStr, 2) & vbNewLine
End If
RetStr = RetStr & """" & rsData.GetString(adClipString, -1, """,""", """" & vbNewLine & """", NULLStr)
RetStr = Left(RetStr, Len(RetStr) - 3)
RecordsetToCSV = RetStr
End Function
Samples of VBA code I'm using in my daily tasks.
Wednesday, March 17, 2010
Save Recordset To CSV File
Subscribe to:
Post Comments (Atom)
I'm struggling with the removal of the Quotes " syntax from the resultant CSV output.
ReplyDeleteI just need simple commas between values.
Like Val1,Val2,Val3,Val4, etc.
Suggestions?
This comment has been removed by the author.
ReplyDeleteWorks like a charm. Thanks!
ReplyDeleteany help/leads to remove the quotes will be really helpful, thanks in advance.
ReplyDelete