Set up a group of fields with global storage that they can use to enter their criteria. Then use a script that refers to the data in the global fields to build the needed find request(s) to pull up the report.
You can place these fields on their own layout and use New Window to pop them up in a small floating window that simulates a modal dialog if you want. (Modal dialogs are dialogs such as Print or Open File that require the user to close them before they can interact with other visible windows.)
Thanks. This is what I was starting to think but it helps to get confirmation. Does it matter whether I create the global fields on an existing table or a table just for parameters? I'm thinking a separate table gives me more flexibility.
I put all global fields in a table reserved for globals as that makes it a little bit easier to keep track of them and to know when a field I am using in an expression has global storage enabled. Global fields can be accessed from any layout in your file so you do not need to define relationships to this table in order to access the data stored in these fields.
The only exception are global fields used in relationships as they must be defined in the correct table in order for the relationship to work.
I've just been asked to work on additional features that will require a lot of these filtered reports and I was not looking forward to putting in all the work just to find out I was using a bad technique. I'm feeling a bit more confident now.
I use multiple tables of Globals because
I use some as Portal Display keys
Some as Work Records to do validations and multiple table populations
Some as Report input parameters just as you are suggesting
I tend to group these fields into their own seperate tables to assist in using the right field for the right function.
Global fields are extremely useful :)
I haven't had much need for global fields till now but that sounds like a good approach. A table for each subset of fields based on their function. Thanks!
I'm teaching myself to be a database designer and it is sometimes hard to tell if I'm using "good design strategies". As I get more end users involved and need to add more automated functionality, I get more and more nervous about the limits of my skills...