Control de evaluación de registros duplicados

Actualmente estoy creando un control para evitar la duplicidad de registros en una base de datos. Tengo un código que necesito mejorar pero no se como. Lo que necesito es que al encontrar (el registro que se duplicaría arroje un error que detenga la ejecución. No inserte el registro y le de un aviso al usuario de cual registro se duplicaría. Os dejo el código desarrollado hasta el momento.

DoCmd.SetWarnings False
DoCmd.GoToRecord , , acFirst
Dim i As Integer
For i = 1 To Form.Recordset.RecordCount
If Nz(Me.Calificacion, "") <> "" Then
DoCmd. RunSQL "insert into aux(curso, alumno, no, calificacion, conducta, periodo, materia, profesor, evaluacion, tipo, fecham)values " _
& "('" & Me.Parent.cbo_curso & "','" & Me.Alumno & "'," & Me.No & ",'" & Me.Calificacion & "', '" & Me.Conducta & "','" & Me.Parent!cbo_periodo & "','" & Me.Parent!cbo_materia & "','" & Me.Parent!cboprofesor & "','" & Me.Parent!cbo_evaluacion & "','" & Me.Parent!cboteval & "','" & Date & "')"
Else
If MsgBox("Error Para este estudiante ya se evaluo esta materia para este periodo, favor verificar", 43, "Error") = vbCancel Then
Me.Parent.cbo_materia.SetFocus
End If
End If
DoCmd.GoToRecord , , acNext
Next
DoCmd. GoToRecord,, acFirst

Añade tu respuesta

Haz clic para o