=====================================================================
R:BASE 4.5 Plus! offers enhanced form pop-ups
=====================================================================
Product: R:BASE Version: 4.5 Plus! or Higher
=====================================================================
Area: Forms Catalog: Forms, Reports, Labels
=====================================================================
Just about everything you had to do in an EEP to create pop-up menus
beyond the field settings capabilities is now incorporated in the
field settings. No programming is needed to create multi column pop-
ups that come up automatically, prompt for a qualifying value, return
the value from any column in the table back to the form and
automatically skip to the next field.
Quickly and easily create a menu like figure 1. No more code to strip
out the customer id number. In fact the customer id number doesn't
even need to appear on the menu but can still be the value returned to
the form and used in lookup expressions. The menu in figure 1 was
constructed in a form that uses the customer table in the Concomp
sample database.
Figure 1
--------
Date: 05/05/94
ÚÄ Transaction Information ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Enter Transaction Date: 05/05/94 ³
³ Enter Transaction Number: 5533 Salesperson: 133 Coffin ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄ Customer NÛßßßßßßßßßßßßßßßßßßßß Company name ßßßßßßßßßßßßßßßßßßßßÛ¿
³ Enter CustoÛ Computer Distributors Inc. Boston, MA Û³
³ Û Computer Mountain Inc. Denver, CO Û³
³ Û Computer Warehouse Bloomington, IN Û³
³ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄ Order Information ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Detail# Model & Product Name Qty Price Extended Price ³
³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij
³ ³
³ ³
³ ³
³ ³
³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Form: tranform Table: transmaster Field: custid Page: 1
R:BASE 4.5 Plus provides users with new pop up menu options directly
on the Field settings screen. These options make it easy to define
complex expressions, specify which column value should be returned,
and include a truly dynamic where clause that restricts the rows
displayed in the menu.
Figure 2 illustrates the new pop up menu options. These options are
available on the second page of the Field settings screen.
Figure 2
--------
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Can the user access a pop-up menu for this field? .......... [No ] ³
³ Do you want a custom pop-up menu for this field? .......... [N/A] ³
³ Do you want this menu to pop-up automatically?............ [N/A] ³
³ Do you want to skip to the next field after this menu? ... [N/A] ³
³ Table name:__________________ Pop-up type:______________________ ³
³ Menu values:____________________________________________________ ³
³ Column returned:__________________ ³
³ Upper left corner: Row __ Column __ ³
³ Do you want a dynamic where clause? ...................... [N/A] ³
³ Prompting message:_____________________________________________ ³
³ ORDER BY and WHERE clauses or template (optional): ³
³ _______________________________________________________________ ³
³ Menubox title (optional):_______________________________________ ³
³ Entry/Exit procedures for the field: ³
³ Run ___________________ IN __________________ On entry into field³
³ Run ___________________ IN __________________ On exit from field ³
³ Press PgUp to return to the previous screen ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
The options explained:
Can the user access a pop-up menu for this field?
-------------------------------------------------
Answering No turns off even the default pop-up menus. Now you can
specify which fields in your forms can access data through pop-up
menus. This provides more control and security to your data. On new
forms created in 4.5 Plus, the default is No. On existing forms
created in prior versions of R:BASE, the default is Yes. You must
answer Yes here in order to access the other pop-up specifications.
Do you want a custom pop-up menu for this field?
------------------------------------------------
If this is No, then users can access the field through the default pop-
up menus only. Most often, when you are using pop-ups, you define a
custom pop-up, even to lookup data from the same table the form is
accessing.
Do you want this menu to pop-up automatically?
----------------------------------------------
Now you no longer need to try and remember the "trick" to getting a
pop-up menu to come up automatically (a 9 as the first character in
the row position). Answer Yes and the menu comes up as the field is
entered. Answer No, and the menu does not come up until the pop-up
hotkey is pressed.
Prior to 4.5 Plus, the Shift-F3 key was the only key that could be
used to display pop-up menus when using a form unless you redefined it
using a keymap, or used an EEP to display the menu. In 4.5 Plus you
define a custom hotkey (on the Form settings screen) for pop-up menus.
This is defined for each form. You can define [F2] to be the pop-up
hotkey, or [Alt]M, for example. The same key is used throughout the
form on all pop-up menus. Different keys can be defined for different
forms, or the same key can be defined for all forms. It must be
defined in each form. You do not need to define a separate keymap,
just set it through the Form settings screen.
Do you want to skip to the next field after this menu?
------------------------------------------------------
Many developers did pop-up menus in EEPs so after the user selected an
item they could use SKIP or a script file to automatically move to the
next field. This capability is now directly available in the Field
settings through this simple Yes/No question. Answering Yes
automatically moves the cursor to the next editable field on the form.
Table name: _________________ Pop-up type: ______________________
Menu values: ____________________________________________________
Column returned: _________________
The Table name, of course, is the table that provides the data to
display in the pop-up menu. The Pop-up type field now has four
options:
Single column -- display a menu of values from a single column only.
The value displayed on and selected from the menu is returned to the
form.
Multi-column -- display from one to however many columns you can fit
into a display width of 72 characters. This option requires that you
select the column to return. The selected column does not need to be
displayed on the menu. Each column selected for display is separated
on the menu with a single space. The value returned to the field is
from the specified column.
Expression -- define an expression to display data on the menu. The
expression length is limited to 80 characters. Use this option to
space and justify columns on the menu. You can easily make a columnar
menu using the LJS and RJS functions. The value returned to the form
is the located length if the field is a variable. For example, locate
a variable with a length of 6 and the first 6 characters of the
expression are returned to the field. If the field is a column, the
entire value displayed on and selected from the menu is returned to
the field up to the maximum defined column width. To return only the
first n characters of the value (the located width) to a column, use
the new [<] format mask.
Expression with column -- like the expression option, you write the
expression that identifies the columns to display on the menu, but
with this option you select an alternative column to return to the
form rather than the first n characters of the value.
The choices from the Pop-up type selection -- the column list or the
expression -- are stored in the Menu values field.
The Column returned field stores the column name that supplies the
value to the field on the form. No longer are you limited to returning
the first column displayed on the menu back to the form. Any column in
the table can be returned, even if it is not displayed on the menu.
This option is only enabled on the multi-column and expression with
column options.
Upper left corner: Row __ Column __
As before, you can specify a specific location for the pop-up menu to
display on the form. If you leave these blank, R:BASE places the menu
close to the field. The default placement of the pop-up menu is
positioned much better than in prior versions.
Do you want a dynamic where clause?
Prompting message: _______________________________________
ORDER BY and WHERE clauses or template (optional):
___________________________________________________________
The dynamic WHERE clause allows the form developer to prompt users for
a comparison value when using the form. A dialog box displays for
entry of the requested value. The prompting message field displays in
the dialog box. The menu then only includes values that meet the WHERE
clause. You can have multiple conditions in your WHERE clause, but
only one condition can be prompted for; the others must be explicitly
defined.
The ORDER BY and WHERE clause or template field allows the form
developer to specify an explicit WHERE clause or a template for the
dynamic WHERE clause. When specifying a template, an & indicates where
to place the prompted for value in the WHERE clause. For example,
WHERE custstate = '&'. If the column being compared to is TEXT, the &
must be enclosed in quotes.
You no longer need to specify a dummy WHERE clause in order to sort
your pop-up menu. Now you can enter just an ORDER BY clause directly
into the ORDER BY and WHERE clause or template field.
Menubox title (optional): _________________________________
If you display a number of columns on the menu, you may want a title
to identify them. For example, is the date displayed the birthdate,
the hiredate, the callback date etc. Specify a title for the menu and
use that to identify the items displayed. The title is centered
automatically.
Let's look at a specific example using the Concomp sample database and
see how the menu displayed in figure 1 was created. Users know company
names not the ID number for the company. In a form, the pop-up menu
displays the company name, city and state. If company name is first on
the menu, users can use the walkmenu feature to quickly find a
specific company. Prior to 4.5 Plus, the ID number, custid, had to be
first on the menu so you could return that value back to the form.
Now, the user makes a menu selection by company name, but custid is
returned to the form. Custid is then used in lookups and other
expressions.
We use an expression with column pop-up to define the menu display.
This lets us justify the city and state fields and separate them with
a comma. The expression looks like this:
(LJS(company,40) & (custcity +',' & custstate))
We choose custid as the column to return to the form. It doesn't need
to appear on the menu.
If you have a large customer list, you obviously do not want to
display a menu of thousands of names. Using the dynamic where clause
option, prompt the user to enter either a complete company name or the
first letter or first few letters of the name. Our where clause is,
WHERE Company LIKE '&%'. The ampersand in the expression '&%' is
replaced with the value the user entered in the dialog box. The
percent sign is the many wild card character and is automatically
appended to the end of the value.
When the user enters the form, they are prompted with a dialog box
asking for a partial company name. They enter the letter "C", for
example. The menu comes up with all the companies that begin with "C".
The ampersand in the expression "&%" is replaced with the value the
user entered in the dialog box, i.e. "C", and the WHERE clause
executed is WHERE Company LIKE 'C%'.
We'll also put a title on the menu. We want our title to sit over the
specific items on the menu to identify them so we space the text as we
enter it: " Company name Location ".
Figure 3 shows what the Field settings look like for this popup menu
definition:
Figure 3
--------
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Can the user access a pop-up menu for this field? .......... [Yes] ³
³ Do you want a custom pop-up menu for this field? .......... [Yes] ³
³ Do you want this menu to pop-up automatically?............ [Yes] ³
³ Do you want to skip to the next field after this menu? ... [Yes] ³
³ Table name:customer Pop-up type:Expression with column ³
³ Menu values:(ljs(company,40) & (custcity + ',' & custstate) ) ³
³ Column returned:custid ³
³ Upper left corner: Row __ Column __ ³
³ Do you want a dynamic where clause? ...................... [Yes] ³
³ Prompting message:Enter company name of first few letters: ³
³ ORDER BY and WHERE clauses or template (optional): ³
³ company LIKE '&%' ³
³ Menubox title (optional):Company name ³
³ Entry/Exit procedures for the field: ³
³ Run ___________________ IN __________________ On entry into field³
³ Run ___________________ IN __________________ On exit from field ³
³ Press PgUp to return to the previous screen ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Press F2 when done
Column custid INTEGER Table: customer