Hi all,
I have a "search as you type query" that I have created based on the sample database here:
http://www.access-programmers.co.uk/forums/showthread.php?t=188663
In addition to the search code I have included filters on the form.
When viewing the query it goes down 20 rows and I've been told this is poor programing therefore I would like to see if anyone can identify some repetition in the code that is un-necessary.
the code below:
SELECT tblData.ID, tblData.[Release date], tblData.Title, tblData.Status, tblData.[Staff Name], tblData.[Team notes], tblData.[Progress notes], tblData.[Costing notes], tblData.[Costing contact], tblData.[Transfer details], tblData.[Costing Request Number], tblData.[Contact name], tblData.[Reference Number], tblData.Group
FROM tblData
WHERE (((tblData.ID) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.ID) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Title) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Title) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Team notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Team notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Progress notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Progress notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing contact]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing contact]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Transfer details]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Transfer details]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing Request Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing Request Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Contact name]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Contact name]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Reference Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Reference Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null));
I look forward to your recommendations.
I have a "search as you type query" that I have created based on the sample database here:
http://www.access-programmers.co.uk/forums/showthread.php?t=188663
In addition to the search code I have included filters on the form.
When viewing the query it goes down 20 rows and I've been told this is poor programing therefore I would like to see if anyone can identify some repetition in the code that is un-necessary.
the code below:
SELECT tblData.ID, tblData.[Release date], tblData.Title, tblData.Status, tblData.[Staff Name], tblData.[Team notes], tblData.[Progress notes], tblData.[Costing notes], tblData.[Costing contact], tblData.[Transfer details], tblData.[Costing Request Number], tblData.[Contact name], tblData.[Reference Number], tblData.Group
FROM tblData
WHERE (((tblData.ID) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.ID) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Title) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Title) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Team notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Team notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Progress notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Progress notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing notes]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing contact]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing contact]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Transfer details]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Transfer details]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing Request Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Costing Request Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Contact name]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Contact name]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null)) OR (((tblData.[Release date]) Between [forms]![frmSearch]![txtdatefrom] And [forms]![frmSearch]![txtdateto]) AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Reference Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%")) OR (((tblData.[Release date]) ALike "%") AND ((tblData.Status) ALike "%" & [Forms]![frmSearch]![StatusFilter] & "%") AND ((tblData.[Staff Name]) ALike "%" & [Forms]![frmSearch]![AuthorFilter] & "%") AND ((tblData.[Reference Number]) ALike "%" & [forms]![frmSearch]![SrchText] & "%") AND ((tblData.Group) ALike "%" & [Forms]![frmSearch]![ThemeFilter] & "%") AND (([forms]![frmSearch]![txtdatefrom]) Is Null) AND (([forms]![frmSearch]![txtdateto]) Is Null));
I look forward to your recommendations.