The best way is to put code under the field. Using the After update have the code run. the Code would be similar to
Field_After_UPdate()
Dim Dbs as database
Dim RstNew, RstArchieve As Recordset
Dim sSQL, Criteria as string
Dim CRecord as string(or Integer based on Id for record)
Crecord=Me(CurrentForm).FieldName
Set Dbs=currentdb
Set RstArchieve =Dbs.OpenRecordset("Table name of Archieve"
RstArchieve.Addnew
RstArchieve!field1=Me.FieldOnForm1
RstArchieve!field2=Me.FieldOnForm2
RstArchieve!field3=Me.FieldOnForm3
RstArchieve!field4=Me.FieldOnForm4
RstArchieve!field5=Me.FieldOnForm5
RstArchieve!field6=Me.FieldOnForm6
RstArchieve!field7=Me.FieldOnForm7
RstArchieve!field8=Me.FieldOnForm8
RstArchieve.Update
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
DoCmd.close