Access y "NOT EXISTS"

Liam
27 de Febrero del 2004
Hola!
Tengo un problema con una consulta algo compleja...
La he probado en SQLServer y funciona, pero el problema es para
una base de datos en MS-Access (2003). Las dos BD tienen los mismo datos, pero en SQLServer devuelve lo que espero, y en Access no devuelve nada. Ningun dato.

La consulta es:

SELECT DISTINCT A.subcuenta, 0 as Debe, 0 as Haber
FROM A, B
WHERE NOT EXISTS
(SELECT Subcuenta FROM
(SELECT DISTINCT A.subcuenta
FROM A, B
WHERE ( A.asiento = B.asiento AND A.ejercicio = B.ejercicio)
AND (A.subcuenta BETWEEN 100000000 AND 700000000)
AND (A.ejercicio = 1) AND (A.Fecha < #01/02/2000#))
AS T3
WHERE A.subcuenta = T3.subcuenta
)
AND
(A.asiento = B.asiento AND A.ejercicio = B.ejercicio)
AND (A.subcuenta BETWEEN 100000000 AND 700000000)
AND (A.Fecha BETWEEN #01/02/2000#)

El problema debe ser por usar NOT EXIST.
Lo he hecho asi, porque antes tenia la consulta usando IN
pero era muy lenta, debido al gran volumen de datos de la BD.

Aparte del problema que os comento, veis alguna forma de
SIMPLIFICAR la consulta??? No hago JOIN entre las tablas
porque para cada asiento/ejercicio de la tabla A, tengo varios
asiento/ejercicio/fila en la tabla B.

UN SALUDO y GRACIAS!