Puedes comprobar si se ha producido alguna modificacion en el form, y en caso afirmativo, crear un nuevo registro con todos los datos presentes en ese momento en cada uno de los controles del form, y una vez guardado, cancelar la modificacion (me.undo).
Mira este ejemplo:
ControlModificaciones
En la opcion 3, en el evnto before_update del formulario tienes esto:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Respuesta As Integer
'If Me.Dirty Then
Respuesta = MsgBox("El registro ha sido modificado" & vbCrLf & vbCrLf & _
"¿Deseas guardar los cambios?", vbQuestion + vbYesNo, "DATOS MODIFICADOS")
If Respuesta = vbNo Then
Me.Undo 'No relizo los cambios
Else
'Realizo los cambios
If Nz(NomTecnicoModificacion, "") = "" Then
NomTecnicoModificacion = CurrentUser
End If
Me!SubFormUltimaModificacion.Form!NomTecnico = NomTecnicoModificacion
Me!SubFormUltimaModificacion.Form!FechaModificacio n = Date
Me!SubFormUltimaModificacion.Form!HoraModificacion = Time
currentdb.execute "Insert into ......."
me.undo
End If
'End If
End Sub
Seria cuestion de añadir lo que te he puesto en rojo, adaptado a tusa campos y controles.
Un saludo