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.