Buscar si existe valor en table y poner SI o NO en una columna nueva (desde consluta Access)

Estoy hacienda una consulta a la table "Auditoria" pero necesito crear una columna en la misma consulta, donde vaya y busque si existe mi campo "SO_Audit" en la table "Deliveries" y me coloque "SI o NO" dependiendo sea el caso.

Estoy hacienda pruebas con la function Dbusq pero no se si es la correcta:

Respuesta
2

La respuesta de Icue es correcta si tienes que buscar el valor en la misma tabla, pero como tú quieres hacer una consulta sobre la tabla "Auditoría" y mirar si un valor existe o no en otra tabla (Deliveries), tienes que combinar las funciones SiInm y DLookup (o DCont), algo así:

Bitacora: SiInm(DBúsq([SO_Audit],"Deliveries","SO_Audit=" & [SO_Audit]) Es Nulo,"No","Si")

o también:

Bitacora: SiInm(EsNulo(DBúsq([SO_Audit],"Deliveries","SO_Audit=" & [SO_Audit])),"No","Si")

o Usando DCont:

Bitacora: SiInm(DCont([SO_Audit],"Deliveries","SO_Audit=" & [SO_Audit])=0,"No","Si")

En cualquier caso he supuesto que en la tabla Deliveries existe también el campo SO_Audit, si no se llamara así, tendrás que cambiarlo en la parte izquierda de la igualdad: "SO_Audit=" & [SO_Audit].

¡Gracias! Sveinbjorn, me funciono a la perfección, he aplicado las dos soluciones y anda todo bien.

Recomiendas algún sitio, curso online, etc sobre access.

Saludos

¡Gracias!

1 respuesta más de otro experto

Respuesta
2

No sé si te refieres a que si el campo SO_audit es nulo te ponga No.

Si fuera eso bastaría con

Bitacora:siinm([so_audit] es nulo;"NO";"Si")

Gracias Icue

Si la idea es saber si existe el valor SO_Audit en la tabla Deliveries.

Trate de implementar lo que me mandaste pero dice que me hace falta un operador, mira aquí como trate :

Donde marco con la fleche debería de decir que no, ya que no existe esa SO_Audit en la table Deliveries

Gracias

Yo no te he puesto la instrucción así. La has puesto tú.

Si tengo la tabla

Y construyo la consulta(mira la instrucción, que es la que puse)

Al abrirla

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas