Bucle borrar registros de un datagrid
Publicado por Emilio (27 intervenciones) el 15/02/2020 11:54:46
Obtengo un recordset con artículos vendidos en un periodo y quiero eliminar los registros del mismo artículo, dejando solo el de fecha más reciente. Después de muchas pruebas, me rindo, pues a pesar de saber que con cada registro borrado el recordsetcount reduce uno y que después de eliminado he de mover al siguiente para activarlo, no consigo terminar bien el bucle; parece que llega al final y queda en vacío antes de lo que yo pienso. Este es mi bucle:
NOTA.-
Si dispongo el tope cont=rs.recordcount -1, se ejecuta bien el bucle, pero deja dos registros, no uno como yo quiero.
¿Alguien amable que ayude?
Muchas gracias
Emilio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
cont = 1
INICIO:
If cont = rs.RecordCount Then
GoTo Final
Else
nombre = rs.Fields(0): fchavta = rs.Fields(3): rs.MoveNext
If nombre = rs.Fields(0) Then
If rs.Fields(3) > fchavta Then
rs.MovePrevious: rs.Delete: rs.MoveNext: GoTo INICIO
Else
rs.Delete: rs.MoveNext: GoTo INICIO
End If
Else
cont = cont + 1: GoTo INICIO
End If
End If
Final:
dgLento.ClearFields
Set dgLento.DataSource = rs
FormatoDataGrid
NOTA.-
Si dispongo el tope cont=rs.recordcount -1, se ejecuta bien el bucle, pero deja dos registros, no uno como yo quiero.
¿Alguien amable que ayude?
Muchas gracias
Emilio
Valora esta pregunta


0