Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: josuecm en 30 Julio 2011, 00:45 am



Título: Buscar en excel con comandos sql y VB de excel
Publicado por: josuecm en 30 Julio 2011, 00:45 am
Hola a todos bueno estoy haciendo un trabajo que me dejaron. Tengo la hoja 1 y hoja 2, en la hoja 1 esta un boton y en la 2 una base de datos de 3 columnas (nombres, apellidos y codigo).
Lo que tengo que hacer es que al hacer click en el boton(que lo llamare CONSULTAR) de la hoja1 que llame a un formulario y en este formulario hay un cuadro de texto y un boton lo que quiero es q al apretar el boton del formulario (que lo llamare BUSCAR) haga que aparezca el nombre que introduje en el textbox (que lo llamare TXTNOMBRE) o si se puede que digamos ponga "SA" en el textbox me salga todos los nombres que empiezen por "SA".

Intente haciendo "Select * from hoja2 where nombre like '% " & txtnombres.text & "%' " pero no me sale nada, tampoco me sale error pero entonces como que por ahi va la cosa pero no puedo obtener lo que me pidieron del trabajo.
PD1: Todo lo estoy haciendo en excel y con el visual basic del excel
PD2: Aqui les dejo el codigo del boton buscar (codigo que me dio el profesor) de ahi estoy partiendo para hacer mi trabajo.
Código
  1. Private Sub cmdbuscar_Click()
  2. Dim Conexion As ADODB.Connection
  3. Dim Grabar As ADODB.Recordset
  4. Dim col As Integer
  5. On Error GoTo p1
  6. HojaActiva = ActiveSheet.Name
  7. encontrado = False
  8. For i = 1 To NHojas
  9. If HojaActiva = a(i) Then
  10. encontrado = True
  11. End If
  12. Next
  13. If encontrado = True Then
  14. MsgBox "No puede usar esta hoja para consultar"
  15. Exit Sub
  16. End If
  17. Cells.Clear
  18. NombreBD = ThisWorkbook.Path & "\PRO_COD.xls"
  19. Set Conexion = New ADODB.Connection
  20.        Dim Cadenaconexion As String
  21.        Cadenaconexion = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  22.                "Data Source=" & NombreBD & _
  23.                ";Extended Properties=""Excel 8.0;HDR=Yes;"""
  24. Conexion.Open ConnectionString:=Cadenaconexion
  25. Set Grabar = New ADODB.Recordset
  26. Dim CadenaSQL As String
  27. CadenaSQL = " SELECT * from [bd-pro$] where nombre like '%" & txtnombres.Value & "%' "
  28. Grabar.Open Source:=CadenaSQL, ActiveConnection:=Conexion
  29. For col = 0 To Grabar.Fields.Count - 1
  30. Range("a5").Offset(0, col).Value = Grabar.Fields(col).Name
  31. Next
  32. Range("a5").Offset(1, 0).CopyFromRecordset Grabar
  33. Set Grabar = Nothing
  34. Conexion.Close
  35. Set Conexion = Nothing
  36. Exit Sub
  37. p1:
  38. MsgBox Err.Description
  39. End Sub
  40.  


Título: Re: Buscar en excel con comandos sql y VB de excel
Publicado por: raul338 en 30 Julio 2011, 00:51 am
Nunca probé usar vb con exel y SQL. Pero te diría que pruebes hacer Filtros (autofiltro) desde vb y ahi rellenarlo.

Eso si, en caso de ser sí o sí con SQL, es cuestion de prueba y error :xD