Access - URGENTE!!!!

   
Vista:

URGENTE!!!!

Publicado por Claudia (56 intervenciones) el 14/09/2007 21:29:49
Hola a tod@s:

tengo un problemilla que espero me puedan ayudar a resolver:

tengo un formulario con el siguiente código:

Private Sub cmdRegSiguiente_Click()
On Error GoTo Err_cmdRegSiguiente_Click

If ([Marco22]) = 0 Or ([Marco31]) = 0 Then
MsgBox "Debe evaluar el ítem"
Else
DoCmd.Save
DoCmd.GoToRecord , , acNext
End If

Exit_cmdRegSiguiente_Click:
Exit Sub

Err_cmdRegSiguiente_Click:
MsgBox "No hay más registros"
Resume Exit_cmdRegSiguiente_Click
End Sub

éste formulario evalúa los registro uno a uno y según cumpla condiciones, guarda los datos o de lo contrario muestra un mensaje: "Debe evaluar el ítem"...todo ésto al evento clic del comando "cmdRegSiguiente".

mi problema es que cuando llega al último registro... muestra un mensaje del portapapeles, y no guarda los cambios....y sólo ocurre éste problema con el último registro!!!

no sé que más hacer...¿existe alguna posibilidad de que se guarden TODOS los registro...INCLUSIVE el ÚLTIMO???

espero me puedan ayudar

de antemano muchas gracias!!!

Saludos,

Claudia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE!!!!

Publicado por alguien (16 intervenciones) el 14/09/2007 21:45:36
Primero, al moverte de un registro a otro, siempre te va a guardar los cambios, por lo tanto la instrucción de guardar esta de más. Lo que tienes que hacer es si no quieres guardar algo, antes de moverte a otro registro calcelar el grabado.
En la línea que tienes:
MsgBox "No hay más registros"
Cambiala por:
MsgBox Err.Description, vbCritical
Cuando te suceda el error te va decir que es, escribe aqui el mensaje completo, para saber bien de que se trata
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE!!!!

Publicado por Claudia (56 intervenciones) el 14/09/2007 21:59:07
dice que no se puede ir al registro especificado..

dicho formulario no permite agregar información...por lo tanto como no encuentra más registros, se sale pero no guarda el último.

si le permito al formulario agregar información, cuando llegue al último registro me agregará uno inmediatamente después de éste, el cual no contiene información predeterminada (en comparación a los demás)... que hago??...

estaba pensando en agregar al código, que si no existe información ( si los campos son nulos) que arroje el mensaje : "No hay más registro " y cierre el formulario...

mientras voy a ver que pasa.

en todo caso, gracias por tu ayuda!!!

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE!!!!

Publicado por alguien (16 intervenciones) el 14/09/2007 22:11:52
Te tengo la solución, escríbele estas líneas;

Dim r as Long

'Aqui estas contanto cuantos registros en total tiene tu formulario
'y se los estas asignando a la variabla r
r = me.recordset.recordcount
'Si el registro actual es igual al último entonces no hace nada
'Si no es el último registro, entonces se va al siguiente
if Me.CurrentRecord = r then
else
Docmd.GotoRecord,,acNext
End if

saludos, espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias!!!

Publicado por Claudia (56 intervenciones) el 14/09/2007 22:38:04
Muchas Gracias!!!..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar