Hi Sandi,
I think your best bet here is to let the user enter the value and they have finished with the query. So basically right after your call to the Show(). Call another method that can go and fix that fields expression.
with Thisform
lcFilter = .oQuery.cFilter
.oQuery.Show()
** Your call to a custom method.
.CheckCustomerValue()
set filter to &lcFilter
.Refresh()
endwith
In your custom method you can check aQuery: an array of information about the current query.
So you can check and see if that field was even used in the query.
If so take the existing value, manipulate and replace it with the value you need. The following are the elements that you will need to work with.
oQuery.aQuery[lnI, 3] = is the cFieldName
oQuery.aQuery[lnI, 3] = is the Value
You can see what is in this array by looking at the SFGetFilter.CreateArrayFromQuery().
Thanks for you patience.
Yuanitta Morhart
Senior Developer
Stonefield Systems Group Inc.