>This appears to suggest I should somehow construct the query on the fly based on what criteria were filled in. If so, whats a good way to proceed?
That makes sense. I tend to write this kind of code like this:
cWhere = ""
IF NOT EMPTY(m.cCriterion)
cWhere = m.cWhere + "SomeField = " + m.cCriterion
ENDIF
...
SELECT ... ;
FROM ... ;
WHERE ... AND &cWhere ;
INTO CURSOR Result
Tamar