Here's another idea . . . . SELECT * FROM table
WHERE (lname = '::lname::' OR '::lname::'='') AND (ID = '::id::' OR '::id::'='')
So if a field is blank it matches the '::field::'='' part of the statment, which would yield TRUE . . . well, I'm sure you get it anyway ;)
You can just extend it by adding for instance . . .
SELECT * FROM table
WHERE (lname = '::lname::' OR '::lname::'='') AND (ID = '::id::' OR '::id::'='') AND (otherfield='::otherinput::' OR '::otherinput::'='')
All the best
Vince
------------------
Internet Business Solutions S.L.(Spain)