Buscar

sebastian
26 de Marzo del 2004
Como puedo hacer para buscar una cadena dentro de una columna en un msflexgrid

Gracias !!!

jhon
26 de Marzo del 2004
Saludos Sebastián
Lo que te presento es una búsqueda básica, puedes modificarlo para obtener mejores resultados:

por ejemplo cargo el flex con datos:

Private Sub Form_Load()
flex.TextMatrix(1, 3) = "RHCP"
flex.TextMatrix(2, 3) = "Oasis"
flex.TextMatrix(3, 3) = "Blink 182"
flex.TextMatrix(4, 3) = "Coldplay"
flex.TextMatrix(5, 3) = "etc"
flex.TextMatrix(6, 3) = "más etc"
End Sub

En un botón BUscar el sgte código;

Private Sub cmdBuscar_Click()
Dim TextoaBuscar As String, Encontrado As Boolean

Encontrado = False
TextoaBuscar = "Coldplay" 'por ejemplo
For Fila = 1 To flex.Rows - 1
If TextoaBuscar = flex.TextMatrix(Fila, 3) Then
MsgBox "La búsqueda tuvo éxito"
flex.col = 3: flex.Row = Fila
flex.CellForeColor = RGB(255, 0, 0) 'resalto el texto encontrado
Encontrado = True
End If
Next Fila
If Not Encontrado Then
MsgBox "No se encontró el texto solicitado"
End If
End Sub

Espero te sirva

Jhon

didiguerrero
26 de Marzo del 2004
el codigo de jhon esta perfecto pero puede smejorar la velociadd de busqueda de la siguiente forma

Private Sub cmdBuscar_Click()
Dim TextoaBuscar As String, Encontrado As Boolean

Encontrado = False
TextoaBuscar = "Coldplay" 'por ejemplo
For Fila = 1 To flex.Rows - 1
If TextoaBuscar = flex.TextMatrix(Fila, 3) Then
MsgBox "La búsqueda tuvo éxito"
flex.col = 3: flex.Row = Fila
flex.CellForeColor = RGB(255, 0, 0) 'resalto el texto
flex.Row=flex.Rows-1
encontrado
Encontrado = True
End If
Next Fila
If Not Encontrado Then
MsgBox "No se encontró el texto solicitado"
End If
End Sub