none
AYUDA POR FAVOR ... !!! RECORRER FILA POR FILA DATAGRID EN VISUAL BASIC 6.0 RRS feed

  • Pregunta

  • buenos dias ...
    le comento que estoy llenando un  datagrid desde un archivo de texto con lo cual  no tengo problema...

    ahora lo que necesito es hacer una consulta sobre cada registro o fila de  la columna 1....para ello utilizo  este codigo :

    Private Sub Command5_Click()

    With DataGrid1
    For i = 0 To .ApproxCount - 1
    DataGrid1.Col = 1
    DataGrid1.Row = i
    buscar = DataGrid1
    If Len(buscar) = 10 Then
    CONSULTA (buscar)
    If balance > 0 Then
    txt1.Text = buscar
    txt2.Text = balance
    End If
    End If
    Next
    End With

    el problema esta que al momento de correr el programa y darle click en buscar este comienza bien ... el marcador del datagrid se ve que lo va recorriendo correctamente mientras estan visibles las filas, despues se vuelve loco y se salta varios registros para despues  mostrarme el siguiente error:

    ERROR 6148, EN TIEMPO DE EJECUCION ... NUMERO DE FILA INCORRECTO .... !!!

    DataGrid1.Row = i

    Row me marca 22

    i me marca 66

    la verdad ya he consultado mucha teoria me gusta buscarle hasta encontrarle pero en esta ocacion ya me encentro bloqueado y no puedo seguir adelante
    creo tener la nocion de la posible solucion pero no me da....
    al parecer al ejecutar la consula los datosvan desfazados, es decir mientras se estarealizandola consulta en la fila 22, el marcador del datagrid sigue avanzando hasta llegar al final del archivo.
    lo correcto deberia ser que el marcador  del datagrid no avanzara hasta no realizarce correctamente la consulta en la fila actul
    en verdad le agradeceria mucho su ayuda ....
    salu2.
    miércoles, 18 de octubre de 2017 2:10

Todas las respuestas

  • Puedes hacer el cálculo recorriendo las filas con bookmark:

    Dim Buscar As String

    For i = 0 To DataGrid1.ApproxCount - 1 

        Buscar = CStr(DataGrid1.Columns(ColIndex).CellValue (DataGrid1.GetBookmark(i))) 

        If Len(Buscar) = 10 Then
            CONSULTA (Buscar)
            If balance > 0 Then
                txt1.Text = Buscar
                txt2.Text = balance
            End If
        End If


    Next 


    Saludos, Javier J

    miércoles, 18 de octubre de 2017 7:02