Ciao,
il metodo più facile è questo.
Crea la tabella in cui hai ID come chiave e campo contatore, Nome come Testo, Codice Contratto come Numero/Intero.
Quindi crei la maschera di inserimento dati con gli oggetti, txtID, txtNome, txtCodiceContratto.
Associ al campo txtNome un evento AfterUpdate così strutturato:
Private Sub txtNome_AfterUpdate()
Dim intCount As Integer
intCount = DCount("[Nome]", "table1", "[Nome]='" & Me.txtNome & "'")
Me.txtCodiceContratto = intCount + 1
End Sub
intCount è definito come Integer, ossia numero intero. il Dcount conta quanti record sono stati inseriti con quel nome; nel caso non sia insrito restituisce 0, quindi devi aggiungere 1 per avere il numero corretto.
Spero di essere stato chiaro.
Corrado