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

Como filtrar palabras que comienzen con...?

Estas en el tema de Como filtrar palabras que comienzen con...? en el foro de Visual Basic clásico en Foros del Web. Hola gente, busqué en los Faqs y no lo encontré asi que lo posteo Supongamos que tengo un text1 y un mshflexgrid1 La idea es ...
  #1 (permalink)  
Antiguo 22/02/2006, 07:57
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 11 meses
Puntos: 0
Pregunta Como filtrar palabras que comienzen con...?

Hola gente, busqué en los Faqs y no lo encontré asi que lo posteo

Supongamos que tengo un text1 y un mshflexgrid1

La idea es que a medida que cambia el text1 filtre los resultados del mshflexgrid1

Lo que hice fué esto:

Cita:
Private Sub Text1_Change()
With Form4
.rsusuario.Filter = "usuario= " & "'" & Text1.Text & "'"

Set MSHFlexGrid1.DataSource = .rsusuario
End With
End Sub
Pero solo me filtra si son exactamente iguales. Yo lo que quiero es por ejemplo poner en el text1 "ad" y aparesca todos los que comienzen con esas letras y asi susesivamente.

Espero me puedan dar una mano!

Salu2!
__________________
diegoz.com.ar
  #2 (permalink)  
Antiguo 22/02/2006, 08:41
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 5 meses
Puntos: 53
ok el asunto esta facil lo unico que tenes que hacer es usa la función MID

por ejemplo con lo del msflexgrid.
seria algo así

for i = 1 to msflexgrid.rows -1
if MID(msflexgrid.textmatrix(2,i),1,3) = StrBusqueda then
msgbox "se ha encontrado un resultado"
end if
next i

de esa manera ..

nos vemos..

P.D. El codigo lo hice al alza así que pude tener algún error revisalo
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 22/02/2006, 09:01
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 11 meses
Puntos: 0
Muchas gracias.

Pero yo conocia una forma que usaba filter, el problema es que no recuerdo la sintaxis, se que se usan "*", por ejemplo "*a", o algo asi.
Alguien se acuerda de esa?

Salu2 y gracias!
__________________
diegoz.com.ar
  #4 (permalink)  
Antiguo 22/02/2006, 09:08
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 11 meses
Puntos: 0
Listo!

Les paso el codigo:

Cita:
Private Sub Text1_Change()
On Error Resume Next

With Form4
If Text1.Text = "" Then
.rsusuario.Filter = ""
.rsusuario.Update
Set MSHFlexGrid1.DataSource = .rsusuario
Else
.rsusuario.Filter = "usuario LIKE " & "'" & Text1.Text & "*'"

Set MSHFlexGrid1.DataSource = .rsusuario
End If
End With
End Sub
Salu2!
__________________
diegoz.com.ar

Última edición por Frehley; 22/02/2006 a las 09:15
  #5 (permalink)  
Antiguo 22/02/2006, 10:09
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 5 meses
Puntos: 53
ahh ok te entendí de otra manera. pense que lo querías hacer directamente en msflexgrid y no desde el recordset jajaj bueno todo por leer a la carrera pero bueno.. claro es la otra opción via recordset.filter..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
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 00:14.