CREATE CURSOR dDate ( dDate D ) FOR i = 1 TO 180 INSERT INTO dDate VALUES( {^2005/01/01} - 1 + m.i ) ENDFOR CREATE CURSOR Etats (dDebut D, dFin D , iresidentid i , iid i ) *-- je veux touver toutes les dates NON comprises entre le {^2005/01/08} *-- et le {^2005/06/25} pour chaque resident. INSERT INTO Etats VALUES ({^2005/01/08}, {^2005/03/30} , 1753 , 1 ) INSERT INTO Etats VALUES ({^2005/04/10}, {^2005/06/25} , 1753 , 2 ) INSERT INTO Etats VALUES ({^2005/01/10}, {^2005/06/25} , 1754 , 2 ) * Tamar's workaround for VFP between bug SELECT dDate ; FROM dDate ; WHERE NOT EXISTS ( ; SELECT * FROM Etats ; WHERE dDebut <=dDate AND dDate =< dFIN ); * Another solution SELECT dDate ; FROM dDate LEFT JOIN Etats ON dDate BETWEEN dDebut AND dFIN; WHERE Etats.dDebut IS NULL