In this post, I will demonstrate how to programmatically select multiple values in a field.
We know that manually, we can select multiple field values by pressing down on the Ctrl button and selecting the values in the field one at a time.
Screenshot of two values selected in the Year field:
There may be times when you have a requirement to pre-select multiple values programmatically, for example the current and previous months need to be selected when the document is opened.
Selecting multiple field values can be done through Actions.
The following steps illustrate how to add an Action to select 2013 and 2014 values in the Year field for a button (Actions can be added to other objects, such as the Sheet, Document, etc.):
- Go to the Properties of the button object
- Navigate to the Actions tab and add a new Action
- Choose the Selection for Action Type and choose Select in Field for Action
- In the Field textbox, enter the field name, in this example Year
- In the Search String textbox, enter the values to be selected, separated by the vertical bar | and enclosed in parentheses (), in this example (2013|2014)
The following screenshot illustrates the values 2013 and 2014 for the Year field:
When you press on the button, both 2013 and 2014 values should be selected together in the Year field.
Using Expressions:
The search string can also take expressions using the following syntax:
='(‘ & Expression1 & ‘|’ & Expression2 & ‘)’
An example of using an expression to determine last and next month from today’s month:
='(‘ & Month(AddMonths(Date(Today()), -1)) & ‘|’ & Month(AddMonths(Date(Today()), +1)) & ‘)’
An example of using variables for current and previous months:
='(‘ & $(vCurrentMonth) & ‘|’ & $(vPreviousMonth) & ‘)’
Sample Application:
This post includes a sample application that illustrates a few options for selecting multiple values in a field.
Hope this post was helpful to you.
it didn’t work for me when i tried, because i have a field CURRENCY with values like this:
EUR
EUR (GPS)
I had to make this to make it works (in the fifth step)
5. in the Search String textbox, enter the values to be selected, separated by the vertical bar | and enclosed in parentheses (), in this example (*EUR*|EUR (GPS))
THANK YOU