Foros del Web » Soporte técnico » Ofimática »

Busqueda en distintos libros

Estas en el tema de Busqueda en distintos libros en el foro de Ofimática en Foros del Web. Buenas gente,, estoy con un tema ya hace rato tratando de sacarlo pero no hay chance, a ver si a alguien se le ocurre algo ...
  #1 (permalink)  
Antiguo 28/09/2010, 10:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Busqueda en distintos libros

Buenas gente,, estoy con un tema ya hace rato tratando de sacarlo pero no hay chance, a ver si a alguien se le ocurre algo
Tengo distintos libros con muchos datos, entre ellos, domicilios, telefonos, nombres, dnis, etc.
Mi trabajo consiste en ahora crear una especie de buscador en todos estos archivos y me devuelva todos los registros de cada libro en donde aparece almenos una vez en alguna de las celdas la palabra buscada.
Estoy lo estoy haciendo con una macro en excel con conexiones ADOs, y les mi idea a hacer..


Código:
Sub Importar_Excel()
    
    Dim i As Integer
    Dim libro() As String

    i = 0
    
    ' aca se van a ir guardando todas las direcciones de los archivos que yo vaya eligiendo
1:  If MsgBox("Desea ingresar algun archivo?", vbOKCancel) <> vbCancel And i < 10 Then
	redim libro(i) as string
        libro(i) = Application.GetOpenFilename
        i = i + 1
        GoTo 1:
    Else
        GoTo 2:
    End If

2:
	' aca se hace el proceso para todos los elementos del array libro
    for j = 0 to ubound(libro) step 1
        Dim conexion As ADODB.Connection, rs As ADODB.Recordset
    
        Set conexion = New ADODB.Connection
        
        conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                      "Data Source=" & libro(j) & _
                      ";Extended Properties=""Excel 12.0;HDR=Yes;"""
        
          
        ' Nuevo recordset
        Set rs = New ADODB.Recordset
        
        With rs
            .CursorLocation = adUseClient
            .CursorType = adOpenStatic
            .LockType = adLockOptimistic
        End With
    
        rs.Open "SELECT * FROM [hoja1$]", conexion, , , adCmdTxt
    
        
        If Cells(2, 1).Value <> "" Then
            Cells(2, 1).End(xlDown).CopyFromRecordset rs
        Else
            Cells(2, 1).CopyFromRecordset rs
        End If
    Next

End Sub


la verdad que no tengo mucha experiencia con conexiones ADO, y queria saber si esto viene bien o si alguien se le ocurre algo mejor bienvenido sea :)
ahh ,, y que me explique porque me tira un error en la linea del Data Source

Última edición por juann2511; 29/09/2010 a las 07:57

Etiquetas: distintos, libros, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:54.