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