Nel passato, per il salvataggio del record corrente, si poteva utilizzare il metodo di accesso ai menu,
https://msdn.microsoft.com/en-us/library/office/ff822447.aspx
ove con un pulsante di comando, attraverso l'autocomposizione, veniva implementato un codice come quello sottoriportato:
Private Sub ComandoSalva_Click()
On Error GoTo Err_ComandoSalva_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_ComandoSalva_Click:
Exit Sub
Err_ComandoSalva_Click:
MsgBox Err.Description
Resume Exit_ComandoSalva_Click
End Sub
Con le nuove versioni è disponibile il comando:
DoCmd.RunCommand acCmdSaveRecord
https://msdn.microsoft.com/en-us/library/office/ff194612.aspx
Ne consegue che il pulsante di comando effettua il salvataggio, del record corrente, qualora non vi siano vincoli nei dati ad esempio per avere prima il record relativo alla maschera principale (in modo da assicurare la chiave primaria) e poi quella della sotto-maschera a questa collegata; quindi il pulsante di comando deve far riferimento al salvataggio della maschera principale.
Da tenere ben presente che la proprietà di Default Value (di un controllo nella maschera) non varia la proprietà Dirty della maschera stessa, per cui se si vuole che risulti a True (in modo da procedere nel salvataggio) si deve popolare attraverso codice.
Vedi il post #10 di questa discussione:
http://www.utteraccess.com/forum/Theoretical-Question-D-t1983107.html