Leelo de nuevo, campo repetido

Tengo un formulario de clientes, donde tengo el campo de NIT, y otros campos con la información básica del mismo, necesito saber cómo hago para que al ingresar el NIT, si ya está en la base de datos no me lo acepte, en este caso saldría un aviso donde dice: "El cliente ya está creado", o por el contrario que lo ingrese sin problema. La idea es que la base de datos no se me sature con información repetida, ya que son bastantes los clientes por ingresar. Aclaro que ya le puse a ese campo NIT, INDEXADO: Sí(Sin duplicados), pero la idea es que me salga un aviso de información.
Ya intente con el código que me enviaste pero resulta que el nombre del campo Id es el mismo NIT, no estoy segura si por eso es que no funciona.
Espero tu respuesta, gracias.

1 respuesta

Respuesta
1
Bien.. vamos a hacerlo de otro modo...
En el evento AntesDeActualizar del campo Nit escribe el siguiente código...
Dim dbs as database
Dim rst as recordset
set dbs=currentdb
set rst=dbs.OpenRecordset("SELECT * FROM NombreTabla WHERE Nit=" & me.nit)
if rst.Recordcount then
msgbox "El código indicado ya existe",vbCritical
cancel=true
me.undo
exit sub
end if
Lo que si tendrías que hacer es lo siguiente... en el evento AlActivarRegistro del formulario incluir el siguiente código..
If currentRecord>Recordsetclone.Recordcount then
Nit.Locked=false
Else
Nit.Locked=True
End if
De este modo únicamente podrán indicar el Nit cuando se trate de un nuevo registro...
Anda.. dime si te ha funcionado o no..
Saludos.
Jordi Pérez i Madern
Mataró (Barcelona)
Gracias, ya me funcionó.
Pero le cambié esta línea:
set rst=dbs.OpenRecordset("SELECT * FROM NombreTabla WHERE Nit=" & me.nit)
Por esta otra:
Set rst = dbs.OpenRecordset("SELECT * FROM clientes WHERE NIT = '" & Me.NIT & "'")
Y así queda como lo quería.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas