Undtagelse ved SQL sammen med brug af OR
Jeg skal have hentet alle data ud af en tabel som passer på en given dato.Jeg har felterne dato_start og dato_slut. For at den pågældende record i databasen skal tages med skal den valgte dato enten være lig med dato_start eller dato_slut eller et sted mellem de to datoer - så langt så godt den del virker fint.
Jeg skal så have lavet et tjek i en anden tabel for at se om den pågældende dato fremgår på den liste - og gør den det skal den springes over på den endelige liste.
Jeg har forsøgt mig med dette:
strSQL = "SELECT * FROM kalender WHERE id NOT IN (SELECT refid FROM kalender_udeluk WHERE CDate(dato) = #" & dato2 & "# ) and accepteret = TRUE and CDate(dato_start) = #" & dato2 & "# OR (CDate(dato_start) <= #" & dato2 & "# AND dato_slut is not null and CDate(dato_slut) >= #" & dato2 & "#) and accepteret = TRUE "
Problemet ved det er at "id NOT IN (SELECT refid FROM kalender_udeluk WHERE CDate(dato) = #" & dato2 & "# )" kun gør så gældende på den del af kriteriet der står inden "OR" - jeg tænker at jeg skal have sat kriteriet ind efter "OR" også - men jeg kan ikke gennemskue hvordan jeg skal gøre det?