Ciao Jazz,
premesso che l'impostazione del db presenta problemi di normalizzazione, ma passando da un database piatto come Excel ad un db relazionale, non la situazione non potrebbe essere differente.
ti ho sviluppato una routine e provandola mi sembra faccia il suo lavoro...(l'ho provata e funziona).
dove trovi tuaTabella scrivi il nome della tabella, imposta un id contatore numerico a numerazione automatica.
dove trovi tuaQuery imposta una query di selezione ordinata per cognome con ordinanamento crescente su tuaTabella.
un saluto e facci sapere!
ps. manca in toto la gestione errori....magari sviluppala in autonomia-
Sub jazz2()
Dim rst As DAO.Recordset
Dim rst1 As DAO.Recordset
Dim strNome As String
Dim strCognome As String
Dim strField As String
Dim i As Integer
Set rst = DBEngine(0)(0).OpenRecordset("tuaTabella", dbOpenDynaset)
Set rst1 = DBEngine(0)(0).OpenRecordset("TuaQuery", dbOpenDynaset)
With rst1
.MoveLast
.MoveFirst
Do While Not .EOF
strField = "cod"
strNome = .Fields("nome")
strCognome = .Fields("cognome")
For i = 0 To 6
rst.FindFirst "nome='" & strNome & "' and cognome='" & strCognome & "'"
If i > 0 Then strField = "cod" & i
If Not rst.NoMatch Then
rst.Edit
rst.Fields(strField) = .Fields("id")
rst.Update
.MoveNext
End If
Next
rst.MoveNext
Loop
End With
Set rst1 = Nothing
Set rst = Nothing
End Sub