Techniques For Using Brian
Lookup Fields
The idea behind lookup fields is to allow users to save keystrokes and take advantage of the relational nature of the database. Often times, a data field on a window is not new data. It is data that has been already entered in another window. For instance, the song field on the Add/View Performances window will only accept songs titles already data entered in the Songs window. When the user types a song title in that field, Brian will use what is typed in the field to "lookup" the song already entered on the database and get that information.
Lookup Fields are identified in windows as the ones that have their identifying label underlined. There are some fields in windows that are lookup fields only when the window is in read mode and some that are lookup fields only when the window is in edit mode. Look for the underline in the lable to know when a field is behaving as a lookup field.
There are two kinds of lookup fields: simple and advanced. They work the same way, but the advanced version uses corresponding select lists. Examples below will demonstrate further.
Entering data with a lookup field
The following example demonstrates the use of the artist name lookup field on the Issues window. This is an advanced lookup field. For the sake of space, we are only showing the top portion of the Issues window.
The first illustration shows an in progress entry of the album Dear Mr. Cole by John Pizzarelli. The user is entering the artist name for the issue and has typed the first 4 characters of the last name.
Notice that "John Pizzarelli" is not typed. Brian would accept that as an entry for a person whose last name is "John." After entering "pizz," notice that the select list on the right side of the window lists all personnel names in the database that begin with "pizz." The user could then tab out of the artist name field to the next field. This action causes Brian to look for the first artist whose last name begins with "pizz" and in this case would return "Bucky Pizzarelli" to the artist name field and the arrow nav buttons on the right of the field could be used to advance the lookup to "John Pizzarelli."
But the easier way to handle the selection is to select "John Pizzarelli" from the select list on the right. This will automatically fill in that name into the artist name field as shown above.
back to top
Edit Modes
Windows are used for viewing data (read mode) or for adding and changing data (edit mode.) There are two edit modes and each window uses one or the other.3 Step Edit Mode
The 3 steps for this mode are:
- Activate the edit mode.
- This is done by pressing the NEW or EDIT button on the window.
- Enter the data.
- Fill in the fields and/or select from popups as appropriate.
- Save or cancel the changes.
- This is done by pressing the SAVE or CANCEL button on the window.
2 Step Edit Mode
The 2 steps for this mode are:
- Enter and/or change the data.
- Fill in the fields and/or select from popups as appropriate. In most cases, the entry will be done over existing data in the fields.
- Save the changes.
- This is done by pressing the appropriate button on the window to save, change or remove the data showing in the window.
back to top
Name Sorting
Here is Brian's dirty little secret. The names don't sort correctly when displayed in most windows. There are two reasons: data entry convenience and my lack of understanding of indices when Brian was first created.
Here's the problem demonstrated using the View Performers window. Let's say you are trying to add Mile Davis to a performance. If you notice, when you enter "davis" in the Person field, you get the first Davis that appears. (Art Davis on my DB.) But is you enter "davis m" you will get Mel Davis. From there, it's only 1 click on the right arrow to get to Miles instead of the dozen or so clicks to get to Miles from Art Davis. You only need to enter the one space between Davis and M. I construct the index like this: last name + " " + first name. The first and last name are stripped of trailing spaces. A sample list of the index would be like this:
- Davis Art
- Davis Jesse
- Davis, Jr. Sammy
- Davis Mel
- Davis Miles
Of course,this sort order is incorrect but it facilitates less keystrokes in name lookup fields. To make the names sort correctly, I would need to have the first and last name fields as fixed length and leave in the trailing spaces. Then users wound need to type those trailing spaces to get directly to the name they want.
This may not make complete sense to those that are not interested in the details of database indexing (and my explanation may not be helping) but the condensed version is that I traded off accuracy in the sort for convenience in the data entry. Since implementing this scheme, I learned more about indexing myself and realized that I could have worked around this better. But it's too late to change without a major rewrite. That is something I will do one day but not soon.
The sort order is done correctly for reporting.