Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: deanelker en 27 Enero 2010, 16:51 pm



Título: pocisionar lo encontrado en un mshflexgrid
Publicado por: deanelker en 27 Enero 2010, 16:51 pm
hola  mi problemita es este yo tengo este codigo para la busqueda, esta excelente, me busca letra o sino la palabra completa.

Dim nlibro As Integer, i As Integer

With MSHFlexGrid1
 
.Col = 1
For i = 0 To .Rows - 1
.Row = i
nlibro = InStr(UCase(.Text), UCase(txtbusqueda.Text))
If nlibro = 1 Then
.ColSel = 6
.TopRow = 1
Exit For
End If
Next i
End With
lo que yo quiero es que cuando me busque digamos un registro 100 se vaya al registro 100 y me aparezca en pantalla el registro 100.

por que el codigo anterior me busca, los selecciona, pero no se va al registro 100 me explico. por fa ayudenme.


Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: Sk9ITk5Z en 27 Enero 2010, 19:55 pm
cuando le das buscar donde te lo muestra???

Código:
nlibro = InStr(UCase(.Text), UCase(txtbusqueda.Text))
alo que veo solo tienes que poner "nlibro" donde lo quieras mostrar, osea si quieres verlo en una ventana usa en msgbox

Código
  1. msgbox nlibro


Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: ssccaann43 © en 27 Enero 2010, 19:58 pm
Cuando dices que no se va al registro 100, es que no mueve la grilla y se enfoca???


Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: seba123neo en 27 Enero 2010, 20:31 pm
Hola, proba algo asi:

Código
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.    Call Buscar("Palabra 100")
  5. End Sub
  6.  
  7. Private Sub Form_Load()
  8.    With MSHFlexGrid1
  9.        .FixedCols = 0
  10.        .FocusRect = flexFocusNone
  11.        .SelectionMode = flexSelectionByRow
  12.  
  13.        .FormatString = "Items"
  14.  
  15.        Dim i As Integer
  16.  
  17.        For i = 1 To 1000
  18.            .AddItem "Palabra " & (i)
  19.        Next
  20.  
  21.        .ColWidth(0) = 1500
  22.        .RemoveItem 1
  23.    End With
  24. End Sub
  25.  
  26. Private Sub Buscar(ByVal pPalabra As String)
  27.    Dim i As Long
  28.  
  29.    For i = 1 To MSHFlexGrid1.Rows - 1
  30.        If LCase(MSHFlexGrid1.TextMatrix(i, 0)) = LCase(pPalabra) Then
  31.           MSHFlexGrid1.Row = i
  32.           MSHFlexGrid1.RowSel = i
  33.           MSHFlexGrid1.Col = 0
  34.           MSHFlexGrid1.ColSel = MSHFlexGrid1.Cols - 1
  35.           MSHFlexGrid1.TopRow = i
  36.           Exit For
  37.        End If
  38.    Next i
  39. End Sub
  40.  

saludos.


Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: deanelker en 29 Enero 2010, 16:09 pm
oye me funciono seba123neo gracias por el aporte