Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: agmen en 20 Octubre 2010, 20:04 pm



Título: datos de un XLSX a RECORDSET
Publicado por: agmen en 20 Octubre 2010, 20:04 pm
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..

Código:
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

Código:
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


Título: Re: datos de un XLSX a RECORDSET
Publicado por: agmen en 20 Octubre 2010, 21:59 pm
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?????

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


Saludos


Título: Re: datos de un XLSX a RECORDSET
Publicado por: agmen en 21 Octubre 2010, 17:03 pm
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

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


Saludos
:D