The arrayselectedbuild( function builds an array by scanning a database and creating an array element for every visible (selected) record in the database (see Text Arrays).


This function has four parameters:

separator – is the separator character or characters for the output array.

database – is the database that will be scanned. This database must be currently open. If this parameter is "" then the current database will be scanned. Note: The arrayselectedbuild( function will scan only selected records in the database, invisible records are skipped. If you want to build an array from all records, use the arraybuild( function.

formula – is the formula that will be used to extract data from the database and build each array element. The entire formula must be enclosed in quotes (see Quotes). If the formula results in empty text (“”) for a record then no element is added to the array for that record. The formula usually references fields in the database being scanned. It may also use the seq() function to include the number of each record (within the scan).

query – is an optional formula that determines whether a record should be included in the output array. The entire formula must be enclosed in quotes. For example, the query formula Price > 100 could be used if you only wanted to include items with a price greater than 100 in the array. The query parameter can be omitted, in which case all selected records will be included.


This function creates a Text Array by scanning contents of a database. This function scans only the selected (visible) records in the database. If you want to scan the entire database, including records that are currently deselected (invisible), use the arraybuild( function.

Note: To learn more about the theory and technical details about working with links between databases, see Linking with Another Database. The arrayselectedbuild( function can also be constructed automatically for you with the Relational Workshop wizard.

The first parameter is the separator between array items. In this example, the separator is two characters, a comma followed by a space. The second parameter is the database name. If the database name is left blank, the current database will be scanned. This example builds a list of all the currently selected first names in the database. (Note: If a name appears in the database twice, it will appear in the array twice.)

arrayselectedbuild(", ","",{First}) ☞ Bob, Sue, Mark, Stan, Ralph

The formula parameter allows you to customize the construction of the array.

arrayselectedbuild(", ","",{upper(First)}) ☞ BOB, SUE, MARK, STAN, RALPH

You can use any formula you want, but don’t forget that the formula must be quoted. In the examples above the { and } characters are used for quoting, but Panorama has several different quoting options (see Quotes). Here are some other examples using different quoting characters.


It is necessary to pick a quote character that isn’t actually used in the formula itself.

You can add a second, optional formula to limit the records that will be included in the output. In this example, only fish that are less than $1.50 will be included in the array.

arrayselectedbuild(", ","Fish Tank",{Fish},{Price < 1.50}) ☞ Goldfish, Guppy, Neon

This example generates a list of fish that cost more than $30.

arrayselectedbuild(", ","Fish Tank",{Fish},{Price>30})
    ☞ Boeseman's Rainbowfish, Black Ghost Knifefish, Harlequin Rasbora

See Also


10.0UpdatedCarried over from Panorama 6.0, but now includes an optional query formula that can be used to limit the records included in the output. In addition, this function is now a native function instead of being implemented with a procedure for greatly improved performance. More than one character is now allowed for use as the separator parameter.