Consulta JOIN en Access

Cyttorak
30 de Agosto del 2004
Hola

Tengo la siguiente consulta que se desencadena en un boton de un formulario en Access 2000:

consulta = "(SELECT distinct [EMPLEADOS].[NOMBRE_Y_APELLIDOS], [EMPLEADOS].[DNI], [EMPLEADOS].[COD_EMPRESA], [EMPLEADOS].[TLF_FIJO], [EMPLEADOS].[TLF_MOVIL], [EMPLEADOS].[CORREO_ELECTRONICO] FROM EMPLEADOS) " & _
"MINUS " & _
"(SELECT distinct [EMPLEADOS].[NOMBRE_Y_APELLIDOS], [EMPLEADOS].[DNI], [EMPLEADOS].[COD_EMPRESA], [EMPLEADOS].[TLF_FIJO], [EMPLEADOS].[TLF_MOVIL], [EMPLEADOS].[CORREO_ELECTRONICO] FROM EMPLEADOS INNER JOIN PARTICIPA_EN ON (EMPLEADOS.DNI=PARTICIPA_EN.DNI) WHERE (EMPLEADOS.PUESTO_DE_TRABAJO='" & Me!PUESTO_DE_TRABAJO & "' AND ((PARTICIPA_EN.FECHA_DE_FIN > " & Me!Fecha_de_inicio & ") OR (PARTICIPA.FECHA_DE_INICIO < " & Me!Fecha_de_fin & ") OR (EMPLEADOS.ACTIVO = -1))));"

Y al ejecutarla me dice:

Se ha producido el error "3319" en tiempo de ejecución: Error de sintaxis en la consulta unión.

yo no le veo nada mal a la consulta

¿podeis echarme una mano?

Cyttorak
30 de Agosto del 2004
Ya he encontrado el error
parece que access no admiti MINUS (vaya mierda...)

Por si alguien le interesa lo he solucionado utilizando esta sentencia equivalente (si a alguien se le ocurre algo mas facil o eficiente contarmelo)

Select distinct [EMPLEADOS].[NOMBRE_Y_APELLIDOS], [EMPLEADOS].[DNI], [EMPLEADOS].[COD_EMPRESA], [EMPLEADOS].[TLF_FIJO], [EMPLEADOS].[TLF_MOVIL], [EMPLEADOS].[CORREO_ELECTRONICO]
FROM EMPLEADOS Left JOIN
(
Select distinct [EMPLEADOS].[DNI]
FROM EMPLEADOS INNER JOIN PARTICIPA_EN ON (EMPLEADOS.DNI=PARTICIPA_EN.DNI)
WHERE (
(PARTICIPA_EN.FECHA_DE_FIN BETWEEN #" & Me!Fecha_de_inicio & "# AND #" & Me!Fecha_de_fin & "#)
OR
(PARTICIPA_EN.FECHA_DE_INICIO BETWEEN #" & Me!Fecha_de_inicio & "# AND #" & Me!Fecha_de_fin & "#)
)
) As T2 On (EMPLEADOS.DNI=T2.DNI)
WHERE (EMPLEADOS.PUESTO_DE_TRABAJO='" & Me!PUESTO_DE_TRABAJO & "' AND T2.DNI Is Null AND EMPLEADOS.ACTIVO = 0)