Saber si un registro ya esta en una base de datos en access

Anteriormente he pedido ayuda en este tema pero creo no me se explicar

Tengo una tabla con nombre grado y grupo

Lo que quiero es que me valide al momento de escribir el nombre y grado en un formulario si ya existe un registro igual

X ejemplo juan del 2do año ya existe

Y que me mande mensaje de que ya existe el registro

Me han recomendado usar el if exists pero no se por que siempre me da error

¿Hay alguna otra forma de hacer esta validación?

1 respuesta

Respuesta
3

Puedes usar funciones de dominio cono Dlookup o DCount, la primera te devolverá un valor si ya existe o un nulo si no, mientras que la segunda devolverá el número de registros que coinciden o 0 si no hay coincidencias.

Solo has de configurar el tercer argumento de la función para indicar los criterios que quieres validar.

Por ejemplo :

If IsNull(Dlookup ("Id","tdatos","nombre='juan' and curso=2")) Then MsgBox "ya existe"

O

If Dcount ("Id","tdatos","nombre='juan' and curso=2")>0 Then MsgBox "ya existe"

Lo hice así

If DCount("id", "Libreta", "grupo='" & Me.g1 & "'" And "NOMBRE=" & Me.PN1 & "") > 0 Then

Mensaje

Y me da error

No inciden los tipos de datos

Pues probablemente porque no escribas bien las condiciones... Si los dos campos son de tipo texto, sería así:

If DCount("id", "Libreta", "grupo='" & Me.g1 & "' And NOMBRE='" & Me.PN1 & "'") > 0 Then

Ya lo intente así y no realiza la función

If DCount("id", "Libreta", "grupo='" & Me.g1 & "' And NOMBRE='" & Me.PN1 & "'") > 0 Then

y lo intento asi

If DCount("id", "Libreta", "grupo='" & Me.g1 & "' And "NOMBRE='" & Me.PN1 & "'") > 0 Then

Y me da error

La primera forma es la correcta de escribirlo, siempre cuando, repito, que los dos campos sean de texto. Si alguno es numérico, la cosa cambia y tendrás que quitar las comillas simples que encierran el valor. Pero eso es algo que tienes que ver tú, porque yo lo desconozco.

Comprueba también que los nombres sean realmente esos que pones.

Échale un ojo a este ejemplo de Neckkito: http://neckkito.xyz/nck/index.php/ejemplos/13-formularios/62-este-valor-ya-existe 

Es lo mismo que te propongo yo, pero en más pasos para hacerlo más sencillo de explicar

Muchísimas gracias

Estaban mal los campos era texto y estaba numérico

¿Hay alguna forma de evitar acentos en la validación?

Hace unas semanas respondí en esta misma web una pregunta similar: búscala por quitar acentos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas