Access: Problema con la "Auto numeración" (no autonumérico) tras "Compactar y Reparar"
Tras realizar un "Compactar y reparar" en Access 2016 me ha surgido el problema de que, al agregar un nuevo registro se genera un error:
"Los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicados en el índice, clave principal o relación. Cambie los datos en el campo o los campos que contienen datos duplicados, quite el índice o vuelva a definirlo para permitir entradas duplicadas e inténtelo de nuevo"Obviamente la idea no es tener campos duplicados... Así que no sé por qué se genera dicho error.
Les comento que para generar la Autocuración de registros, utilice este código (No el Autonómico de Access)
Private Sub Form_Current()
If Nz(Me.Numeroregistro) = 0 Then 'si no tiene nº de factura es nuevo
Me.Numeroregistro= rs.RecordCount + 1 'le ponemos uno mas que el nº de registros de la tabla
Modificado = True ' lo señalamos como modificado
End If
End Sub
Private Sub Form_Dirty(Cancel As Integer)
Modificado = True 'si se modifica un registro existente se señala como Modificado
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Modificado Then 'Antes de actualizar el registro comprobamos si cumple los requisitos
If MsgBox("REGISTRO ACTUAL MODIFICADO" & vbCr & vbCr & "¿Querés Guardar Cambios?", vbCritical + vbDefaultButton2 + vbYesNo) = vbNo Then
Cancel = True
Modificado = Not Modificado
Me.Undo
DoCmd.GoToRecord , , acLast
Else
If Nz(Me.N°_Nota) = 0 Then
MsgBox "El Número de Nota es un Campo Obligatorio"
Cancel = True
End If
End If
End If
End Sub