This is a function I made that is quite usefull when you want to save the data in a Recordset directly to a CSV file.
Code:
Public Function RecordsetToCSV(rsData As ADODB.Recordset, Optional ShowColumnNames As Boolean = True, Optional NULLStr As String = "") As String
    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
This function returns a string in CSV format, to save to a file, you should do something like:
Code:
    Dim CSVData As String
    CSVData = RecordsetToCSV(rsData, True)

    Open "C:\test.csv" For Binary Access Write As #1
        Put #1, , CSVData
    Close #1