Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

buscar por campo en msflexgrid

Estas en el tema de buscar por campo en msflexgrid en el foro de Visual Basic clásico en Foros del Web. Porfavor, alguien podria darme un codigo para buscar un registro en un msflexgrid segun un campo (ya sea codigo o nombre), sabiendo que debo ingresar ...
  #1 (permalink)  
Antiguo 17/06/2007, 11:38
Avatar de Virus Acido  
Fecha de Ingreso: junio-2007
Mensajes: 11
Antigüedad: 16 años, 10 meses
Puntos: 0
buscar por campo en msflexgrid

Porfavor, alguien podria darme un codigo para buscar un registro en un msflexgrid segun un campo (ya sea codigo o nombre), sabiendo que debo ingresar ese campo en un textbox y que la base de datos es access.
Muchas gracias de antemano.

Última edición por Virus Acido; 17/06/2007 a las 11:43
  #2 (permalink)  
Antiguo 19/06/2007, 09:56
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: buscar por campo en msflexgrid

Primero debes crear un inputbox mediante el cuál el usuiario introduce el parámetro de búsqueda . Este sería un ejemplo para ADO

Dim cadena As String
cadena = InputBox("Ingrese el campo o parte del mismo. Buscaremos coincidencias con su ingreso dentro de la base de datos ", " Busqueda por campo")
' Si no escribe nada
If cadena = "" Then
Adodc.Refresh
'las lineas debajo On Error Resume Next
'evitan el error cuando no
'arroja resultados la busqueda
On Error Resume Next
Exit Sub
Else
Adodc2.RecordSource = "Select * from tabla Where campo like '%" & cadena & "%'"
Adodc2.Refresh
msflexgrid.SetFocus
  #3 (permalink)  
Antiguo 19/06/2007, 16:43
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: buscar por campo en msflexgrid

Aqui tienes otra idea,,,
como ya tu cargaste los datos de tu tabla o consulta al msflexgrid, pon un caja de texto que tendra nombre txtbuscar.
Yo pongo como referencia la columna dos, tu la puedes cambiar dependiendo con que campo deseas realizar la busqueda.

Private Sub txtbuscar_Change()
Dim Pos As Integer, i As Integer

With MSFEMPLEADOS
.Col = 2
For i = 1 To .Rows - 1
.Row = i
Pos = InStr(UCase(.Text), UCase(txtbuscar.Text))
If Pos = 1 Then
.ColSel = 21
.TopRow = 1
Exit For
End If
Next i
End With
End Sub

Este para cuando lo hayas localizado con la direccional pases de la caja de texto ala fila del msflexgrid que tiene el valor buscado.

Private Sub txtbuscar_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDown Then
MSFEMPLEADOS.SetFocus
End If
End Sub

Espero te sirva.
Att Osrohe.
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 08:22.