# Error en la Función Do While Loop

[Inicio](https://www.todoexpertos.com/) › [Microsoft Access](https://www.todoexpertos.com/temas/microsoft-access)

- Fecha de publicación: 2015-03-16
- Enlace canónico (HTML): https://www.todoexpertos.com/preguntas/5tljlnshkohcxcji/error-en-la-funcion-do-while-loop

## Pregunta

*Por Paco* · 2015-03-16

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 , , acFirstDim Reg As DAO.RecordsetSet Reg = Me.RecordsetDo While Not Reg.EOFMe.DocumentoGasto.Value = (Nz(DMax("[DocumentoGasto]", "TblGastos", "[AñoFG]=" & Me.AñoFG) + 1, 0))DoCmd.GoToRecord , , acNextReg.MoveNextLoopEnd SubY 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í sucesivamenteRogaría cualquier sugerencia que me sirva para salir del atoro

## Respuestas (1)

### 1. Respuesta aceptada de Tomas Eroles
*Fecha: 2015-03-16 · Votos: 2 (+2/-0)*

Eso te pasa porque le dices dos veces que pase al registro siguiente.DoCmd. GoToRecord,, acNextReg. MoveNextLas dos órdenes le dicen que pase al registro siguiente.Elimina una de las dos.

---
*Fuente: [https://www.todoexpertos.com/preguntas/5tljlnshkohcxcji/error-en-la-funcion-do-while-loop](https://www.todoexpertos.com/preguntas/5tljlnshkohcxcji/error-en-la-funcion-do-while-loop) — consultado el 2026-10-21. Al citar, enlaza la URL canónica e indica la fecha de consulta.*
