Non scarico il tuo Demo perchè non lo trovo necessario, ti si forniscono delle indicazioni e poi tu puoi adattarle con tranquillità al tuo caso specifico.
La Modifica/Aggiunta di un Record hanno un metodo secondo me molto standard da seguire, SEMPRE.
Si predispone una Maschera basata sull'origine Record uguale alla Maschera o Sottomaschera con la Visualizzazione dei dati, ovviamente deve essere scrivibile.
Per EDITARE
DoCmd.OpenForm "NomeForm", , , "IdPK=" & Me.IdPk, acFormAdd, acDialog
DoCmd.OpenForm "NomeForm", , , "IdPK=" & Me.IdPk, acFormEdit, acDialog
In questo modo la Maschera di ADDNEW viene aperta in modalità SINCRONA, quindi al rientro, basta mettere l'aggiornamento dei Dati della Maschera/Sottomaschera origine...
Quì poi si possono fare delle cose più fini... come ritornare al Record Ediatto dopo il Requery o Andare al Nuovo...
Dim vPK As Variant
vPK=Me.IdPK
DoCmd.OpenForm "NomeForm", , , "IdPK=" & Me.IdPk, acFormEdit, acDialog
Me.Requery
Me.RecordsetClone.FindFirst "IdPK=" & Me.IdPk
Me.Bookmark=Me.RecordsetClone.Bookmark
In caso di ADDNEW, se l'ordinamento è per idPk basta andare all'ultimo, altrimenti è un poco più complicato... ma fattibile.
Per il DELETE basta che crei il Button con il DELETE RECORD, converti la Macro in codice e dovresti avere il necessario...