RE:Evitar duplicación de registro
Puedes definir ese campo como único en la base de datos, con lo te dará un error si hay un duplicado y se maneja con un tratamiento de errores.
Sub Grabar(Conforme)
On Error GoTo Errores
.....
.....
Errores:
Conforme = False
Beep
If Err.Number = 3022 Then
MsgBox ("El Número del Monte duplicado, cambialo o Cancela")
Else
MsgBox ("Se ha producido un error " & Err.Number & ", " & Err.Description)
End If
End Sub
También podrias buscarlo antes de intentar guardarlo, el Dni seguramente será indice, en ese caso puedes usar Seek, en caso contrario Find.
Mireg.Seek "=", Texto(1)
If Mireg.NoMatch = False Then
Beep
MsgBox ("Expediente duplicado, modifícalo o cancela")
Texto(1).SetFocus