Tengo problemas con mi código de programación para avanzar y retroceder

Estimado amigo. La verdad que tu ayuda es muy buena. Lo apreciaré por siempre!
Vuelvo con otra consulta.
Resulta que me anduvo el código tanto para avanzar como para retroceder.
He aquí el código:
Private Sub cmdSiguiente_Click()
    rstVoluntarios.MoveNext
    txtModVoluntario(0).Text = rstVoluntarios!ApeVol
    txtModVoluntario(1).Text = rstVoluntarios!NomVol
    'DTPFNac.Value = rstVoluntarios.Fields("")
    txtModVoluntario(2).Text = rstVoluntarios!FNacVol
    cmbTipoDoc.Text = rstVoluntarios!TipoDocumento
    txtModVoluntario(3).Text = rstVoluntarios!NumDocumento
    txtModVoluntario(4).Text = rstVoluntarios!DomicilioParticular
    txtModVoluntario(5).Text = rstVoluntarios!TelefonoParticular
    txtModVoluntario(6).Text = rstVoluntarios!Celular
    txtModVoluntario(7).Text = rstVoluntarios!EMail
    txtModVoluntario(8).Text = rstVoluntarios!Profesion
    txtModVoluntario(9).Text = rstVoluntarios!Tipo_Contribucion   
End Sub
Sencillo, sencillo. Ahoraaaa... Lo que quiero hacer es verificar que cuando llegue al último registro no siga avanzando.
LO PROBÉ DE ESTA FORMA Y NO ME RECONOCE NADA. ME TIRA EL ERROR:
Private Sub cmdSiguiente_Click()
    If Not rstVoluntarios.EOF Then
    rstVoluntarios.MoveNext
    txtModVoluntario(0).Text = rstVoluntarios!ApeVol
    txtModVoluntario(1).Text = rstVoluntarios!NomVol
    'DTPFNac.Value = rstVoluntarios.Fields("")
    txtModVoluntario(2).Text = rstVoluntarios!FNacVol
    cmbTipoDoc.Text = rstVoluntarios!TipoDocumento
    txtModVoluntario(3).Text = rstVoluntarios!NumDocumento
    txtModVoluntario(4).Text = rstVoluntarios!DomicilioParticular
    txtModVoluntario(5).Text = rstVoluntarios!TelefonoParticular
    txtModVoluntario(6).Text = rstVoluntarios!Celular
    txtModVoluntario(7).Text = rstVoluntarios!EMail
    txtModVoluntario(8).Text = rstVoluntarios!Profesion
    txtModVoluntario(9).Text = rstVoluntarios!Tipo_Contribucion
    Else
         MsgBox " es el último registro", vbExclamation, "Sistema"
     End If
End Sub
Error '3021' en tiempo de ejecución. El valor de BOF o EOF es true, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
¿A qué se debe? ¿De qué forma debo proceder?
¿No se da EOF cuando llega al último registro?
¿No estoy preguntando que cuando llegue al último registro me diga que así fue?
También lo probé con Do while not .EOF pero no me doy cuenta donde decirle que es el último registro.
¿Debo pasar al primer registro cuando llego al último?
Bueno, basta de consultas por ahora. Espero haberme explicado bien y espero también me puedas ayudar.
Mil gracias como siempre!
Respuesta
1
Veo que has avanzado bastante... ahora lo que te queda es refinar solo este tema que me dices. prueba a hacer esto.. y me cuentas:
If rstVoluntarios.EOF Then
        rstVoluntarios.Movelast
        MsgBox " es el último registro", vbExclamation, "Sistema"
        Else
¿Y lo de retroceder como lo haces?... te lo digo porque tendría que ser algo así como rstVoluntarios. MovePrevious

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas