Access - editar un registro de una relación

 
Vista:

editar un registro de una relación

Publicado por Gubert (28 intervenciones) el 12/10/2006 00:00:46
Hola a todos. Tengo una relación con los datos de una tabla (un formulario en vista hoja de datos), en la que se puede hojear y modificar los datos. Pero es un problema porque es muy facil variar los datos por error (caída del boli por ejemplo) y que no nos demos cuenta. ¿Hay alguna forma de que no se puedan variar los datos (ej. obligar a doble click sobre el registro para editarlo), o bien que el programa pida confirmación cada vez que se modifica un registro?

Muchas gracias.
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:editar un registro de una relación

Publicado por The Emulator (146 intervenciones) el 12/10/2006 03:07:28
Hola

Bueno eso se puede hacer de la segunda forma, que el programa pregunte si quieres guardar los cambios o no.

No se si sabias que un formulario tiene algunos eventos que tienen que ver con los registros.

Hay eventos que se producen cuando quieres eliminar, agregar o modificar un registro (Antes de que se produsca ese cambio)

El evento que nos interesaria en este caso es el BeforeUpdate (Antes de actualizar) este evento tiene un parametro Cancel que si le asignamos true cancela la actualizacion osea no guarda el cambio hecho al registro activo.
a continuacion te coloco el codigo que necesitarias para que elprograma te pregunte si quieres guardar o no.

Private Sub Form_BeforeUpdate(Cancel As Integer)
If MsgBox("Realmente desea modificar el registro.", vbQuestion + vbYesNo, "Pregunta") = vbNo Then
Cancel = True
SendKeys "{esc}"
End If
End Sub

Como podemos ver preguntamos al usuario si quiere guardar si este llegara a responder "Si" la condicion no se cumple y el registro es actualizado, si el usuario responde "No" la condicion se cumple y entraria a cancelar la actualizacion.

Agrege otra instruccion mas la del SendKeys, solo con el Cancel=True hubiera basta pero eso tendria un inconveniente y es que se quedaria preguntandole al usuario cada rato si quiere guardar ese cambio asi que con el SendKeys simulamos que se preciono la tecla Escape (Esc) como sabras al precionar esta tecla se cancela cualquier accion que se este aciendo con un registro.

Bueno espero haberte ayudado.

Saludos
http://www.theemulator.tk
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 Gubert (28 intervenciones) el 12/10/2006 06:59:24
Muchas gracias Emulator. Conocía el evento, pero no sabía cómo usarlo.
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