Problemas resueltos
Búsqueda de registros duplicados
Para generar este tipo de consultas lo más sencillo es utilizar el
asistente de consultas de Access, editar la sentencia SQL de la consulta y
pegarla en nuestro código. No obstante este tipo de consulta se consigue de la
siguiente forma:
SELECT DISTINCTROW Lista de Campos a Visualizar FROM Tabla
WHERE CampoDeBusqueda In (SELECT CampoDeBusqueda FROM Tabla As psudónimo
GROUP BY CampoDeBusqueda HAVING Count(*)>1 ) ORDER BY CampoDeBusqueda;
Un caso práctico, si deseamos localizar aquellos empleados con igual
nombre y visualizar su código correspondiente, la consulta sería la siguiente:
SELECT DISTINCTROW Empleados.Nombre, Empleados.IdEmpleado
FROM Empleados WHERE Empleados.Nombre In (SELECT Nombre FROM
Empleados As Tmp GROUP BY Nombre HAVING Count(*)>1)
ORDER BY Empleados.Nombre;
Búsqueda de registros no relacionados
Este tipo de consulta se emplea en situaciones tales como saber qué
productos no se han vendido en un determinado periodo de tiempo.
SELECT DISTINCTROW Productos.IdProducto, Productos.Nombre FROM Productos
LEFT JOIN Pedidos ON Productos.IdProducto = Pedidos.IdProduct WHERE
(Pedidos.IdProducto Is Null) AND (Pedidos.Fecha Between #01-01-98# And
#01-30-98#);
La sintaxis es sencilla, se trata de realizar una unión interna entre dos
tablas seleccionadas mediante un LEFT JOIN,
estableciendo como condición que el campo relacionado de la segunda sea Null.