No repetir USUARIOS en el sistema de expedientes

Estoy realizando un sistema de expedientes en ACCESS, tengo un formulario que se llama USUARIOS, en el cual tengo los siguientes campos: NOMBRE, DEPARTAMENTO PUESTO y EXTENSIÓN; lo que necesito es que me apoyen con el código si ya tengo un usuario que se llama "Juan Ocon Silva" que ya no me deje Agregar otro usuario con el mismo Nombre y me mande un mensaje que diga el usuario ya existe

1 respuesta

Respuesta
1

Creo que le falta un campo Id a tu tabla.

Yo lo hago de la siguiente manera

Private Sub UsuarioRegis_LostFocus()
If DCount("[CampoTabla]", "NombreTabla", "[CampoTabla] = '" & Me.Nombre & "'") = 1 Then
     MsgBox "Usuario Ocupado", vbInformation, "Aviso"
     Me.NOMBRE = NULL
End If
End Sub
Private Sub Nombre_LostFocus()
If DCount("[CampoTabla]", "NombreTabla", "[CampoTabla] = '" & Me.Nombre & "'") = 1 Then
     MsgBox "Usuario Ocupado", vbInformation, "Aviso"
     Me.NOMBRE = NULL
End If
End Sub

Corrigo el codigo.

En el evento al perder el enfoque de tu campo Nombre

Utilizas un Dcount para revisar si ese nombre ya esta en tu base.

En este caso no los llene por que no se como se llama tu tabla ni tu campo.

HOLA Gracias por el apoyo puse tu código pero no me manda nada así quedo el código:

Private Sub NOMBRE_LostFocus()
If DCount("[NOMBRE]", "USUARIOS", "[NOMBRE] = '" & Me.NOMBRE & "'") = 1 Then
     MsgBox "Usuario Ocupado", vbInformation, "Aviso"
     Me.NOMBRE = NULL
End If
End Sub

Y al Perder el enfoque no me manda nada y si lo puedo guardar, 
La tabla se llama USUARIOS, el campo de la tabla se llama NOMBRE y tengo un campo id que se llama Id_USUARIO

Pásame tu base si quieres la reviso

[email protected]

Antonio sabes que una disculpa no me percate que tenia muchos usuarios con el mismo nombre por ese motivo no me mandaba ningún mensaje.
me puse a borrarlos todos y comencé a llenar la base y de esa manera ya me mando el mensaje, gracias y estamos en contacto que tengas un excelente día.

Suele pasar, pero ya quedo.

Si no es mucho pedir apoyarme con una suscripción a mi canal es de practicas VBA Access, regalo Código de la practica en descripción de cada video . Tal ves te sirva uno alguna vez.  https://www.youtube.com/channel/UCjS6fHbImLyqtrcdHvJLRgg  

listo gracias

Gracias 

Saludos

Antonio buen día ayer quise aplicar el mismo código con otro formulario que se llama expedientes en 2 campos diferentes y en cada nombre (nombre_del_socio) o código (codigo_de_barras) que quiero agregar me dice que ya existe.
te explico: mi tabla se llama EXPEDIENTES, y contiene estos campos id_EXPEDIENTE, NOMBRE DEL SOCIO, CODIGO DE BARRAS y DESCRIPCION.
 

Private Sub NOMBRE_DEL_SOCIO_LostFocus()
If DCount("[NOMBRE_DEL_SOCIO]", "EXPEDIENTES", "[NOMBRE_DEL_SOCIO] = '" & Me.NOMBRE_DEL_SOCIO & "'") = 1 Then
     MsgBox "El nombre ya existe", vbInformation, "Aviso"
     Me.NOMBRE_DEL_SOCIO = NULL
End If
End Sub
Private Sub CODIGO_DE_BARRAS_LostFocus()
If DCount("[CODIGO_DE_BARRAS]", "EXPEDIENTES", "[CODIGO_DE_BARRAS] = '" & Me.CODIGO_DE_BARRAS & "'") = 1 Then
     MsgBox "El codigo ya existe", vbInformation, "Aviso"
     Me.CODIGO_DE_BARRAS = NULL
End If
End Sub

Revisemos lo siguiente:

1. Que tu tabla expedientes este vacía y o que no este ese nombre o código .

2. ¿Qué tipo de campo es tu código de barras? ¿Texto o numero?

respuesta 1.
Primero verifique que no estuviera un nombre para darlo de alta y me decía que si existe, en toces borre todos los datos y al ingresar el primer registro de todos modos me decía que ya existía.

Respuesta 2.
El campo código de barras es de tipo numero

El código de barras es de la siguiente manera

Private Sub CODIGO_DE_BARRAS_LostFocus()
If DCount("[CODIGO_DE_BARRAS]", "EXPEDIENTES", "[CODIGO_DE_BARRAS] = " & Me.CODIGO_DE_BARRAS & "") = 1 Then
     MsgBox "El codigo ya existe", vbInformation, "Aviso"
     Me.CODIGO_DE_BARRAS = NULL
End If
End Sub

Cuando tu campo es numero solo lleva " " comillas 

El nombre del socio revisa bien tu campo y tus tabla tal vez estés ecribiendo otro nombre. Al parecer esta bien si quieres que lo revise mándame tu base a mi correo [email protected]

ok muy bien gracias

Ya esta en tu correo gracias

No me ha llegado.

[email protected]

Ya lo reenvíe

Ya esta. Listo te mande correo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas