PARAMETERS [Reservation Start] DateTime, [Reservation End] DateTime;
SELECT tblRoom.Room, tblRoom.[Room Type]
FROM tblRoom
WHERE (((tblRoom.Room) Not In (SELECT DISTINCT Room FROM
(
SELECT tblRoom.Room, tblBooking.[Date of Arrival], tblBooking.[Date of Departure], tblBooking.Unusuable
FROM tblBooking, tblRoom
WHERE
tblBooking.Room = tblRoom.Room
And
(
((([tblBooking].[Date of Arrival]) Between [Reservation Start] AND [Reservation End]))
Or
((([tblBooking].[Date of Departure]) Between [Reservation Start] And [Reservation End]))
Or
((([tblBooking].[Date of Arrival])< [Reservation Start]) And (([tblBooking].[Date of Departure])>[Reservation End]))
Or
((([tblBooking].[Unusuable]) = True))
Or
((([tblBooking].[Date of Departure]) = [Reservation Start]))
Or
((([tblBooking].[Date of Arrival]) = [Reservation End]))
)
)
)));