 <p>Dates in SQL are represented as #year/month/day#, eg. today's date would be #2012/11/19#, and to make DLookup work you have to use this syntax:</p> <pre><code>DLookup("HolidayDate", "Holidays", "HolidayDate=" &amp; Format([EncDateTime],"\#yyyy/mm/dd\#")) </code></pre> <p>to check if today is holiday, you could use this:</p> <pre><code>DLookup("HolidayDate", "Holidays", "HolidayDate=" &amp; Format(Date(),"\#yyyy/mm/dd\#")) </code></pre> <p>Yes, DLookup is slow, you should not use it in a query. To check if <code>EncDateTime</code> is a holiday, you should join <code>EncData</code> and <code>Holidays</code> togheter, with this SQL Code:</p> <pre><code>SELECT EncData.* FROM EncData INNER JOIN Holidays ON EncData.EncDateTime = Holidays.HolidayDate </code></pre> <p>This should return all EncData rows that are hoildays. It should, but it probably doesn't. Notice that EncDateTime contains not only the date, but also the time, so it doesn't match with HolidayDate that contains just the date. This works instead:</p> <pre><code>SELECT EncData.* FROM EncData INNER JOIN Holidays ON DateValue(EncData.EncDateTime) = Holidays.HolidayDate </code></pre> <p>And to extract all the rows in EncData, not just the holidays?</p> <pre><code>SELECT EncData.*, Holidays.HolidayDate FROM EncData LEFT JOIN Holidays ON DateValue(EncData.EncDateTime) = Holidays.HolidayDate </code></pre> <p>Notice that when HolidayDate contains a date only when that day is holiday, otherwise it will be NULL.</p> <p>These are just some basic ideas to start. But don't forget that you cans use wizards to make your query, then you can always see how your SQL code looks like.</p>