datos de un XLSX a RECORDSET

Iniciado por agmen, 20 Octubre 2010, 20:04 PM

0 Miembros y 1 Visitante están viendo este tema.

agmen

Muy buenas tardes a todos los que pasan por aki, tengo un problema al querer importar datos desde XLSX a un recordset, el codigo siguiente funka muy bien en un XLS

espero me puedan ayudar..


Public Sub Importar_Excel( _
Libro As String, _
hoja As String, _
Optional rango As String = "")
Dim Registros() As Variant
Dim direcciontxt As String
Dim separador As String
Dim connString As String

Dim conexion As ADODB.Connection, rst As ADODB.Recordset
Set conexion = New ADODB.Connection

conexion.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=" & Libro & _
         ";Extended Properties=""Excel 12.0;HDR=Yes;"""
         
    Set rst = New ADODB.Recordset

   With rst
        .CursorLocation = adUseClient
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
     
    End With

If rango <> ":" Then
       hoja = hoja & "$" & rango
End If

    rst.Open "SELECT * FROM [" & hoja & "]", conexion, , , adCmdText

    Set DataGrid1.DataSource = rst
        direcciontxt = App.Path & "\" & "DATOS.txt"
        separador = ";"
    Call Exportar_Recordset(rst, direcciontxt, separador)
End Sub


me arroja un mensaje de error aludiendo que "No se puede encontrar el archivo ISAM instalable" marcando las siguientes lineas de codigo


conexion.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=" & Libro & _
         ";Extended Properties=""Excel 12.0;HDR=Yes;"""
         


(para xlsx lei que habia de dejar ";Extended Properties=""Excel 8.0;HDR=Yes;"""
en ";Extended Properties=""Excel 12.0;HDR=Yes;""")

pero aun asi no tengo problema, espero que me ayuden nuevamente
De antemano Muchas Gracias :D

agmen

He buscado y buscado y encontre este codigo que hace referencia a archivos xlsx
pero sale el mensaje de error "error 3706"
- no se encontro el proveedor especificado. es posible que no este instalado correctamente..

a mi entender, debo tener instalado el oficce 2007.. será asi?????


conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
            "Data Source= & Libro " & _
         ";Extended Properties=""Excel 12.0;HDR=Yes;"""



Saludos

agmen

http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

Microsoft Access Database Engine 2010 Redistributable
ese archivo es el que me faltaba para poder leer el documento office 2007 y cargarlo al recordset

con ese archivo y el siguiente codigo pude lograr capturar los datos de la hoja excel
estoy bajo winxp sp3
con office 2003


conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
           "Data Source=" & Libro & _
         ";Extended Properties=""Excel 12.0;HDR=Yes;"""



Saludos
:D