Buscar en excel con comandos sql y VB de excel

Iniciado por josuecm, 30 Julio 2011, 00:45 AM

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

josuecm

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 (vb) [Seleccionar]

Private Sub cmdbuscar_Click()
Dim Conexion As ADODB.Connection
Dim Grabar As ADODB.Recordset
Dim col As Integer
On Error GoTo p1
HojaActiva = ActiveSheet.Name
encontrado = False
For i = 1 To NHojas
If HojaActiva = a(i) Then
encontrado = True
End If
Next
If encontrado = True Then
MsgBox "No puede usar esta hoja para consultar"
Exit Sub
End If
Cells.Clear
NombreBD = ThisWorkbook.Path & "\PRO_COD.xls"
Set Conexion = New ADODB.Connection
        Dim Cadenaconexion As String
        Cadenaconexion = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=" & NombreBD & _
                ";Extended Properties=""Excel 8.0;HDR=Yes;"""
Conexion.Open ConnectionString:=Cadenaconexion
Set Grabar = New ADODB.Recordset
Dim CadenaSQL As String
CadenaSQL = " SELECT * from [bd-pro$] where nombre like '%" & txtnombres.Value & "%' "
Grabar.Open Source:=CadenaSQL, ActiveConnection:=Conexion
For col = 0 To Grabar.Fields.Count - 1
Range("a5").Offset(0, col).Value = Grabar.Fields(col).Name
Next
Range("a5").Offset(1, 0).CopyFromRecordset Grabar
Set Grabar = Nothing
Conexion.Close
Set Conexion = Nothing
Exit Sub
p1:
MsgBox Err.Description
End Sub
Si tus problemas tienen solucion, ¿De qué te quejas?, si tus problemas no tienen solucion ¿De que te quejas?

raul338

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