What filter in which form? I'm just puzzled about what you mean.
In the context of VFP the first thing coming to mind is SET FILTER. Well, if you talk about the command window replacements by EdLeafe or FoxBox Mike Lewis mentioned, then they allow (almost) any command you can also run in the original command window. This includes a SET FILTER command.
Indeed, also many commands that can be much more harmful than that. For users a command window is a tool I'd not recommend. It's giving too much powe. Pair that with half knowledge and you have the perfect recipe for desasters you don't want to recover.
It's your choice, obviously, but well, this little example already shows how complicated FoxPro is, if you know nothing about it, as I assume of users of an application. If they need a feature to change the data filtering, then it's best to program that into your application so it is something the user can do interactively without needing FoxPro language knowledge.
It's even worse, if you give them a command window and you can't actually tell them what commands are necessary to get what they need. Hint: To set a filter you have to have the correct workarea selected, and in case the form which has data to be filtered is in a private datasession, that needs to be switched to. And even knowing all that, SET FILTER might not suffice to filter data at all, if the filtering needs to affect multiple workareas or does something more complex than simple boolean expressions can do.
Do you know The Sorcerer's Apprentice?
Chriss
By the way: If you offer a separate EXE with FoxBox or vRunFox you run this command windows in a totally separate process, so it won't be able to affect workareas from your own application EXE at all. Ed Leafe expressively tells (and allows royalty free) to compile his command window replacement into your own application by including the sources into your own project and starting it from a menu item or command button, however you like, but a separate EXE will only be able to effect DBFs itself opens, not what another process has open.