Se i campi sono in relazione c'è poco da fare, se non cancellare la relazione, aggiornare l'indice e ricrearla. Come vedi diventa sempre più "complicato" e poco agevole. Se è una cosa che vuoi comunque fare (e magari con frequenza) ti può essere utile automatizzare la creazione delle relazioni. Il codice da usare (supponendo di avere due campi in relazione tra loro con lo stesso nome ID_campo) è di questo tipo:
codice:
function crea_relazione()
Dim rel_nuova As relation
Set rel_nuova = CurrentDb.CreateRelation("0", "tabella_primaria", "tabella_secondaria", attributes)
relnuovo.Fields.Append relnuovo.CreateField("ID_campo")
relnuovo.Fields![ID_campo].ForeignName = "ID_campo"
CurrentDb.Relations.Append rel_nuova
end function
Per i valori della costante "attributes" guarda sulla guida di Access. E' una costante che definisce il tipo di relazione:
codice:
dbRelationUnique La relazione è uno-a-uno
dbRelationUpdateCascade Gli aggiornamenti vengono eseguiti in successione.
dbRelationDeleteCascade Le eliminazioni vengono eseguite in successione.
Comunque, come ti hanno detto, il campo contatore di solito non deve avere significato per l'utente del Dbase. Se ne vuoi uno da modificare liberamente ti conviene creare un campo numerico che puoi incrementare a tuo piacere (con una procedura) ed usare per tutti gli scopi che vuoi.