Académique Documents
Professionnel Documents
Culture Documents
' función que recibe el recordset de ado, y el path del archivo csv
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function Recordset_a_Csv(path As String, _
rs As Recordset) As Boolean
Option Explicit
'Función que exporta el recordset a un Archivo de texto csv separado por comas
'*******************************************************************************
**
Public Function Recordset_a_CSV(rs As ADODB.Recordset, Path_Csv As String) As Bo
olean
On Error GoTo errFunction
Dim Datos_Csv As String
' Devuelve los datos separados por comas y con un salto de carro
Datos_Csv = rs.GetString(adClipString, -1, ",", vbCrLf, "(NULL)")
' Abre y Crea un archivo de texto para escribir los datos
Open Path_Csv For Output As #1
' escribe los datos
Print #1, Datos_Csv
'cierra
Close
' Ok
Recordset_a_CSV = True
Exit Function
'Error
errFunction:
MsgBox Err.Description, vbCritical
End Function
Private Sub Form_Load()
Dim cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim R As Boolean
' Nueva conexión Ado
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source" & _
"=C:\Archivos de programa\Microsoft Visual " & _
"Studio\VB98\BIBLIO.MDB;Persist Security Info=False"
cnn.CursorLocation = adUseClient
' Abre la base de datos
cnn.Open
' Nuevo recordset ADO
Set Rst = New ADODB.Recordset
' Abre el recordset
Rst.Open "Select * From Authors", cnn, adOpenStatic, adLockOptimistic
' Llama a la función que genera el Csv con los datos del recordset
R = Recordset_a_CSV(Rst, "c:\archivo.csv")
If R Then
MsgBox " Se genró el archivo CSV correctamente ", vbInformation
End If
' Cierra el recordset , la conexión y descarga las variables
If Not Rst.State = adStateOpen Then
Rst.Close
End If
If Not Rst Is Nothing Then
Set Rst = Nothing
End If
If Not cnn.State = adStateOpen Then
cnn.Close
End If
If Not cnn Is Nothing Then
Set cnn = Nothing
End If
End Sub