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