Jacinto o quien sea :): Tu propuesta me parece muy interesante... y mucho más completa que la primera. Le "pego" el código tal cual en el evento del cuadro móvil donde se debe introducir el teléfono móvil "antes de actualizar" -Este es mi código:
Private Sub Movil_BeforeUpdate(Cancel As Integer)
Dim CriterioUno As String
Dim CantNum As Byte
'Compruebo que ese Movil realmente existe
CriterioUno = "Movil = " & Me.Movil
CantNum = Nz(DCount("[Movil]", "Clientes", CriterioUno), 0)
If CantNum > 0 Then
MsgBox "Este Número ya existe en la Tabla Clientes........" & vbCrLf & "Repasa la entrada e intenta de nuevo", vbCritical, "NUMERO DE MOVIL YA EXISTE"
DoCmd.CancelEvent
Me!Movil.Undo
End If
Movil_BeforeUpdate_Salir:
On Error GoTo 0
Exit Sub
Movil_BeforeUpdate_TratamientoErrores:
MsgBox "Error " & Err & " en Procedimiento.: Movil_BeforeUpdate de Documento VBA: Form_FNEntrgados (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
Resume Movil_BeforeUpdate_Salir
End Sub
-Ya en el formulario, cuando lleno el campo "Movil" con cualquier valor, me muestra el error:
"Se ha producido el error 3078
Y si le digo depurar, me marca en amarillo la linia de codigo:
CantNum = Nz(DCount("[Movil]", "Clientes", CriterioUno), 0)
¿Dónde esta el fallo?
Buenos días, solo un apunte: si necesitas que no se dupliquen los registros, la forma más sencilla es casi la que apunta Jacinto en su primera respuesta, es decir, pones "indexado: Sí (Sin duplicados)" pero sin poner "Requerido: Sí". Saludos - Sveinbjorn El Rojo