Error en la Función Do While Loop

Tengo un problema usando la función Do While. Es la primera vez que la uso y como no soy especialmente experto en access y visual basic me está dando un problema que no soy capaz de resolver.

Exactamente lo que tengo es:

Private Sub Comando56_Click()
DoCmd.GoToRecord , , acFirst
Dim Reg As DAO.Recordset
Set Reg = Me.Recordset
Do While Not Reg.EOF
Me.DocumentoGasto.Value = (Nz(DMax("[DocumentoGasto]", "TblGastos", "[AñoFG]=" & Me.AñoFG) + 1, 0))
DoCmd.GoToRecord , , acNext
Reg.MoveNext
Loop
End Sub

Y en principio hace lo que se le supone, que es recorrer un formulario completando el campo Número de documento. El único problema es que lo hace una línea sí, y otra no. Es decir en la primera pone el campo por ejemplo 1, en la siguiente deja el cero, en la tercera pone 2, y en la cuarta cero, y así sucesivamente

Rogaría cualquier sugerencia que me sirva para salir del atoro

1 Respuesta

Respuesta
2

Eso te pasa porque le dices dos veces que pase al registro siguiente.

DoCmd. GoToRecord,, acNext
Reg. MoveNext

Las dos órdenes le dicen que pase al registro siguiente.

Elimina una de las dos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas