Home » Archimedes archive » Archimedes World » AW-1994-04-Disc2.adf » Disk2Apr94 » !AWApr94/Goodies/PowerBase/PBaseDoc/Validation

!AWApr94/Goodies/PowerBase/PBaseDoc/Validation

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1994-04-Disc2.adf » Disk2Apr94
Filename: !AWApr94/Goodies/PowerBase/PBaseDoc/Validation
Read OK:
File size: 3476 bytes
Load address: 0000
Exec address: 0000
File contents
                             Data Input Validation
                             =====================
Type validation
===============
By this term we mean the exercising of control over what characters a field
will accept. RISC OS provides the means to allow writable icons to accept
only certain characters, or ranges of characters, and reject others. The
disallowed characters are simply ignored so that attempts to type them have
no effect.

If you open Powerbase's own application directory (SHIFT/double-click) you
will find a file called 'ValStrings'. You are recommended not to alter this
file unless you understand exactly what you are doing and, if you do so, to
keep a copy of the original. Examining it, however, can give you an insight
into the validation process. Look, for example, at the entry "03 Number".
This refers to field type 3 (numeric). The line below is the validation
string of the writable icon which makes up a numeric field. It looks like
this:-
                        Pptr_write,4,4;A0-9.+\-

The intial 'P' is a command and signifies "pointer". 'ptr_write' is the name
of the sprite used to represent the mouse pointer when it is over this type
(and many other types) of field. You will have noticed that the usual RISC
OS arrow changes to a blue vertical bar, somewhat resembling the caret, when
over a writable field. '4,4' specifies the "active point" of the pointer.
The next character is a semicolon which indicates that a new command
follows.

The 'A' which comes next is the command "allow" and is the part of the
validation string which especially concerns us. It determines what
characters the field will allow you to type. In this case they are the
numerals 0-9, the decimal point and the plus and minus signs. Why the back-
slash before the latter? Because '-' is a special character in an icon
validation string (used, as in this case, to specify a range of characters)
and so are the semicolon, tilde (~) and the backslash itself. To include any
of these four characters in the validation string you must precede it with a
backslash.

A couple of further examples should be sufficient. "01 Alphanumeric" uses
the same pointer type but the characters accepted are <space> (immediately
after the 'A' for "allow"), the upper-case letters A-Z, the lower-case
letters a-z, the numerals 0-9, some common punctuation and the "half"
character. You might want to add to this list.  "06 Calculated" uses a
different pointer sprite (ptr_calc, which resembles a pocket calculator) and
has no "allow" command at all: it doesn't need one because you can't type
into this type of field, whose value is calculated from other fields.

Table validation
================
This level of validation only comes into effect after entering data in a
field which is linked to a validation table. Such fields are recognizable by
having their text dark green instead of black. When you click the mouse over
a new field or type RETURN, the linked validation table is scanned to see
whether what you entered in the field occurs in the table. If it doesn't
then Powerbase will restore the previous contents of the field and print an
error message.

Validation tables should be used whenever the contents of a field have to
conform to certain "values". A manufacturing company will have a product
code for every item which it makes and a database of customers which the
firm supplies will make use of such codes to identify the items. It is
essential that whoever enters the data is prevented from accidentally typing
a spurious code. By linking the appropriate field to a validation table
containing all the valid codes such mistakes can be prevented. Moreover, the
validation table can also contain other data about the products, such as a
name and a brief description, and lists can be printed in which this more
understandable data appears instead of the cryptic codes. Up to nine items
of data could be associated with each product code.

The F.E. college database referred to in 'BrowseEdit' ("Using more than one
subfile") makes extensive use of validation tables for subjects, courses,
tutors and schools of origin. Not only does this trap typing errors but the
data entry is greatly speeded up when one can type 'ELL' instead of 'English
Language and Literature', yet have the latter printed out in full on a list
or a timetable if one wishes.

A further option with validation tables is to have Powerbase replace the
typed-in code with a longer, more readable, form immediately on entry.
Provided the substitute data will fit in the field the replacement occurs
when you type RETURN or click the mouse in another field. If the replacement
is too long then the typed-in data will be unchanged.

The maximum number of validation tables is 20 and is determined by the text
file 'Config' within the 'Resources' subdirectory in the Powerbase directory.

Creating a validation table
===========================
Choose 'Create table' from the 'Validation' submenu. Give the table a
suitable name and enter the number of rows required. This will be the
maximum number of values the table can contain. Always be generous in your
estimates; tables can't be extended later. The next item required is the
highest column number in the table. A maximum of 10 columns, with numbering
from 0-9, is allowed. 

The most common situation is to have two columns. The first holds the short
code which specifies what may be typed into the linked record field. The
second is an expansion or explanation of the former. Define the maximum
length of each field in the table and give each one a heading. Don't forget
that the heading has to fit within whatever column width the field length
will allow. There will only be single spaces between the columns.

When you are satisfied with the data click 'OK' and the table will be
created in memory. It is not saved on disc at this stage.  You may enter
data into it now or later. Entries may be freely altered and overwritten but
do not forget to save the table whenever changes have been made.

Linking tables to fields
========================
To link a validation table to a field the table must be in memory . Click
MENU over the required data field and follow the 'Field' submenu, choosing 
the 'Link to table' option.

A pair of "bump icons" permits you to cycle through the tables in memory. A 
menu, displayed by clicking SELECT or MENU over the right-pointing arrow to
the right of the table name, provides an alternative way of choosing a
table. When you have the name of the required one displayed choose the
column of the table to which the field is to be linked. It is recommended
that column 0 should normally provide the link (and therefore contain the
data items which may be actually entered on the records) and this is set by
default. You may, however, link to any column in the table and a second pair
of "bump icons" allows you to cycle throught the column numbers.

If you want the "replace on entry" option described previously then select
the option switch for this. A third set of "bump icons" then becomes active,
allowing you to choose which column of the table will replace the data which
you type in. In such cases both the entries in the validation list proper
and those in the replacement list are considered equally valid and either
may be typed. e.g. in the case quoted above for the F.E. college database
you could actually type in 'English Language and Literature' if you wished,
instead of just 'ELL'. Powerbase would accept either, but the former will
obviously take much longer to enter and you are far more likely to make a
mistake (in which case Powerbase would object). 

Select the switch 'Link to table' and click on 'OK'. You will now see that
the foreground colour of the linked field has changed from black to green.
Place the caret in the field and click on 'List values' on the keypad. The
validation table should be displayed.

Displaying linked data
======================
The final entry on the 'Validation' submenu is 'Show relations'. Powerbase
makes no claim to be anything but a flat-file database, but effective use of
validation tables does give it some of the advantages normally to be found
only in a relational database. If you choose the 'Show relations' entry
(so that it becomes ticked) you will find that clicking the over a data
field which is linked to a validation table causes a small window to appear
to the right of the keypad. This window lists all the data which is on the
same row of the validation table as the linked item. As you edit the record,
moving from field to field, this window is constantly updated. It disappears
when the caret is in a non-linked field.

You can also bring up this window (whether 'Show relations' is ticked or
not) by double-clicking with SELECT on a linked field - very handy if coded
data is being used and you encounter a code you've never met before.

Displaying validation tables
============================
When a table is linked to a field in the database record it may be displayed
by placing the caret in the linked field and clicking on the keypad
button 'List values' (keystroke equivalent f8). Alternatively, any table
present in memory, whether linked to a data field or not, may be displayed
by selecting it from the 'Display table' sub-menu (off the 'Validation'
sub-menu). Clicking MENU over the table then offers a menu with entries
enabling you to clear, save, print or sort the table.

The validation table menu
=========================
Clear
-----
Removes all data from the table, leaving it blank. Since wiping out a table
in this way is pretty drastic (and irrevocable) you will need 'Manager'
level rights to do it, otherwise 'Clear' is shaded. Even so you are asked to
confirm the operation before it actually takes place. When you close a
database all the validation tables in memory are written to the disc so you
will over-write your disc copy with the blank table. 

Save
----
This leads to a 'Save' box in which the default pathname points to a
directory called 'ValTables' inside the database application directory.
Since that's where Powerbase expects to find the tables for a database you
should normally accept this pathname by clicking on 'OK' or typing RETURN.
Only if you are transferring tables from one database to another should you
need to drag the icon to a filer window. All validation tables in memory
are, in any case, saved to the 'ValTables' directory when you close the
database or quit Powerbase and you can also make this happen at any time by
clicking on 'Force update' on the keypad.

Print
-----
Printing out the contents of a validation table (as opposed to printing a
report containing data from a validation table) is done via this menu
choice. The output appears in a window from which it may be saved as a text
file (see 'Printing' - Output destination). 

Sort
----
This will sort the table on the first column.

Loading validation tables
=========================
Once a table is linked to a data field it will be automatically loaded when
the database is opened. If not yet linked, however, the table won't be in
memory unless you have just created it. To load the table choose 'Show table
files' from the 'Validation' submenu. The contents of the 'ValTables'
directory will be displayed and the required tables can dragged onto the
record window (or simply double-clicked). As each table is dropped it will
be displayed. N.B. Only one table at a time may be actually displayed.

There may be times when the user wishes to use a validation table to hold
some data, but doesn't wish to use it to validate input into a field or to
link it to a field at all. How does one make sure the required table gets
loaded? It is always possible to load a validation table once the database
is open by using the procedure described in the previous paragraph, but
there's a more elegant solution. By adding a "!" character to the end of the
table's name you will cause Powerbase to load it whether any field is linked
to it or not.

Including validation table data in printouts
============================================
Validation tables are commonly used to allow short codes to be entered in
records but with a link to a more descriptive entry in another column of the
table.  If this is all you require then always put the data which makes up
the actual validation list, i.e. the items which are allowed in the fields
of the main record, into the first column of the table and set the link 
from the record field to this column (column 0). The more detailed
"expanded" entry should then go in column 1. Printing with the 'Expand'
switch in the 'Print options' window selected  will then print the column 1
instead of the column 0 entry.

You can, however, include data from other columns of a table by displaying
the table  and clicking in the required columns with ADJUST, exactly like
selecting main record fields for printing (see 'Printing'). It is immaterial
which row you click on: only the column matters and the highlighting to show
which columns are selected always appears in the first row. The columns
selected in all tables are saved as part of a print selection and may
therefore be retrieved for future use. As well as highlighting the required
columns you will also need to select the 'Expand' switch as described above.
Printed reports will then include all the data from the highlighted columns.



             
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000010  20 20 20 20 20 20 20 20  20 20 20 20 20 44 61 74  |             Dat|
00000020  61 20 49 6e 70 75 74 20  56 61 6c 69 64 61 74 69  |a Input Validati|
00000030  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
00000040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000050  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000060  3d 3d 3d 3d 3d 0a 54 79  70 65 20 76 61 6c 69 64  |=====.Type valid|
00000070  61 74 69 6f 6e 0a 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ation.==========|
00000080  3d 3d 3d 3d 3d 0a 42 79  20 74 68 69 73 20 74 65  |=====.By this te|
00000090  72 6d 20 77 65 20 6d 65  61 6e 20 74 68 65 20 65  |rm we mean the e|
000000a0  78 65 72 63 69 73 69 6e  67 20 6f 66 20 63 6f 6e  |xercising of con|
000000b0  74 72 6f 6c 20 6f 76 65  72 20 77 68 61 74 20 63  |trol over what c|
000000c0  68 61 72 61 63 74 65 72  73 20 61 20 66 69 65 6c  |haracters a fiel|
000000d0  64 0a 77 69 6c 6c 20 61  63 63 65 70 74 2e 20 52  |d.will accept. R|
000000e0  49 53 43 20 4f 53 20 70  72 6f 76 69 64 65 73 20  |ISC OS provides |
000000f0  74 68 65 20 6d 65 61 6e  73 20 74 6f 20 61 6c 6c  |the means to all|
00000100  6f 77 20 77 72 69 74 61  62 6c 65 20 69 63 6f 6e  |ow writable icon|
00000110  73 20 74 6f 20 61 63 63  65 70 74 0a 6f 6e 6c 79  |s to accept.only|
00000120  20 63 65 72 74 61 69 6e  20 63 68 61 72 61 63 74  | certain charact|
00000130  65 72 73 2c 20 6f 72 20  72 61 6e 67 65 73 20 6f  |ers, or ranges o|
00000140  66 20 63 68 61 72 61 63  74 65 72 73 2c 20 61 6e  |f characters, an|
00000150  64 20 72 65 6a 65 63 74  20 6f 74 68 65 72 73 2e  |d reject others.|
00000160  20 54 68 65 0a 64 69 73  61 6c 6c 6f 77 65 64 20  | The.disallowed |
00000170  63 68 61 72 61 63 74 65  72 73 20 61 72 65 20 73  |characters are s|
00000180  69 6d 70 6c 79 20 69 67  6e 6f 72 65 64 20 73 6f  |imply ignored so|
00000190  20 74 68 61 74 20 61 74  74 65 6d 70 74 73 20 74  | that attempts t|
000001a0  6f 20 74 79 70 65 20 74  68 65 6d 20 68 61 76 65  |o type them have|
000001b0  0a 6e 6f 20 65 66 66 65  63 74 2e 0a 0a 49 66 20  |.no effect...If |
000001c0  79 6f 75 20 6f 70 65 6e  20 50 6f 77 65 72 62 61  |you open Powerba|
000001d0  73 65 27 73 20 6f 77 6e  20 61 70 70 6c 69 63 61  |se's own applica|
000001e0  74 69 6f 6e 20 64 69 72  65 63 74 6f 72 79 20 28  |tion directory (|
000001f0  53 48 49 46 54 2f 64 6f  75 62 6c 65 2d 63 6c 69  |SHIFT/double-cli|
00000200  63 6b 29 20 79 6f 75 0a  77 69 6c 6c 20 66 69 6e  |ck) you.will fin|
00000210  64 20 61 20 66 69 6c 65  20 63 61 6c 6c 65 64 20  |d a file called |
00000220  27 56 61 6c 53 74 72 69  6e 67 73 27 2e 20 59 6f  |'ValStrings'. Yo|
00000230  75 20 61 72 65 20 72 65  63 6f 6d 6d 65 6e 64 65  |u are recommende|
00000240  64 20 6e 6f 74 20 74 6f  20 61 6c 74 65 72 20 74  |d not to alter t|
00000250  68 69 73 0a 66 69 6c 65  20 75 6e 6c 65 73 73 20  |his.file unless |
00000260  79 6f 75 20 75 6e 64 65  72 73 74 61 6e 64 20 65  |you understand e|
00000270  78 61 63 74 6c 79 20 77  68 61 74 20 79 6f 75 20  |xactly what you |
00000280  61 72 65 20 64 6f 69 6e  67 20 61 6e 64 2c 20 69  |are doing and, i|
00000290  66 20 79 6f 75 20 64 6f  20 73 6f 2c 20 74 6f 0a  |f you do so, to.|
000002a0  6b 65 65 70 20 61 20 63  6f 70 79 20 6f 66 20 74  |keep a copy of t|
000002b0  68 65 20 6f 72 69 67 69  6e 61 6c 2e 20 45 78 61  |he original. Exa|
000002c0  6d 69 6e 69 6e 67 20 69  74 2c 20 68 6f 77 65 76  |mining it, howev|
000002d0  65 72 2c 20 63 61 6e 20  67 69 76 65 20 79 6f 75  |er, can give you|
000002e0  20 61 6e 20 69 6e 73 69  67 68 74 0a 69 6e 74 6f  | an insight.into|
000002f0  20 74 68 65 20 76 61 6c  69 64 61 74 69 6f 6e 20  | the validation |
00000300  70 72 6f 63 65 73 73 2e  20 4c 6f 6f 6b 2c 20 66  |process. Look, f|
00000310  6f 72 20 65 78 61 6d 70  6c 65 2c 20 61 74 20 74  |or example, at t|
00000320  68 65 20 65 6e 74 72 79  20 22 30 33 20 4e 75 6d  |he entry "03 Num|
00000330  62 65 72 22 2e 0a 54 68  69 73 20 72 65 66 65 72  |ber"..This refer|
00000340  73 20 74 6f 20 66 69 65  6c 64 20 74 79 70 65 20  |s to field type |
00000350  33 20 28 6e 75 6d 65 72  69 63 29 2e 20 54 68 65  |3 (numeric). The|
00000360  20 6c 69 6e 65 20 62 65  6c 6f 77 20 69 73 20 74  | line below is t|
00000370  68 65 20 76 61 6c 69 64  61 74 69 6f 6e 0a 73 74  |he validation.st|
00000380  72 69 6e 67 20 6f 66 20  74 68 65 20 77 72 69 74  |ring of the writ|
00000390  61 62 6c 65 20 69 63 6f  6e 20 77 68 69 63 68 20  |able icon which |
000003a0  6d 61 6b 65 73 20 75 70  20 61 20 6e 75 6d 65 72  |makes up a numer|
000003b0  69 63 20 66 69 65 6c 64  2e 20 49 74 20 6c 6f 6f  |ic field. It loo|
000003c0  6b 73 20 6c 69 6b 65 0a  74 68 69 73 3a 2d 0a 20  |ks like.this:-. |
000003d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000003e0  20 20 20 20 20 20 20 50  70 74 72 5f 77 72 69 74  |       Pptr_writ|
000003f0  65 2c 34 2c 34 3b 41 30  2d 39 2e 2b 5c 2d 0a 0a  |e,4,4;A0-9.+\-..|
00000400  54 68 65 20 69 6e 74 69  61 6c 20 27 50 27 20 69  |The intial 'P' i|
00000410  73 20 61 20 63 6f 6d 6d  61 6e 64 20 61 6e 64 20  |s a command and |
00000420  73 69 67 6e 69 66 69 65  73 20 22 70 6f 69 6e 74  |signifies "point|
00000430  65 72 22 2e 20 27 70 74  72 5f 77 72 69 74 65 27  |er". 'ptr_write'|
00000440  20 69 73 20 74 68 65 20  6e 61 6d 65 0a 6f 66 20  | is the name.of |
00000450  74 68 65 20 73 70 72 69  74 65 20 75 73 65 64 20  |the sprite used |
00000460  74 6f 20 72 65 70 72 65  73 65 6e 74 20 74 68 65  |to represent the|
00000470  20 6d 6f 75 73 65 20 70  6f 69 6e 74 65 72 20 77  | mouse pointer w|
00000480  68 65 6e 20 69 74 20 69  73 20 6f 76 65 72 20 74  |hen it is over t|
00000490  68 69 73 20 74 79 70 65  0a 28 61 6e 64 20 6d 61  |his type.(and ma|
000004a0  6e 79 20 6f 74 68 65 72  20 74 79 70 65 73 29 20  |ny other types) |
000004b0  6f 66 20 66 69 65 6c 64  2e 20 59 6f 75 20 77 69  |of field. You wi|
000004c0  6c 6c 20 68 61 76 65 20  6e 6f 74 69 63 65 64 20  |ll have noticed |
000004d0  74 68 61 74 20 74 68 65  20 75 73 75 61 6c 20 52  |that the usual R|
000004e0  49 53 43 0a 4f 53 20 61  72 72 6f 77 20 63 68 61  |ISC.OS arrow cha|
000004f0  6e 67 65 73 20 74 6f 20  61 20 62 6c 75 65 20 76  |nges to a blue v|
00000500  65 72 74 69 63 61 6c 20  62 61 72 2c 20 73 6f 6d  |ertical bar, som|
00000510  65 77 68 61 74 20 72 65  73 65 6d 62 6c 69 6e 67  |ewhat resembling|
00000520  20 74 68 65 20 63 61 72  65 74 2c 20 77 68 65 6e  | the caret, when|
00000530  0a 6f 76 65 72 20 61 20  77 72 69 74 61 62 6c 65  |.over a writable|
00000540  20 66 69 65 6c 64 2e 20  27 34 2c 34 27 20 73 70  | field. '4,4' sp|
00000550  65 63 69 66 69 65 73 20  74 68 65 20 22 61 63 74  |ecifies the "act|
00000560  69 76 65 20 70 6f 69 6e  74 22 20 6f 66 20 74 68  |ive point" of th|
00000570  65 20 70 6f 69 6e 74 65  72 2e 0a 54 68 65 20 6e  |e pointer..The n|
00000580  65 78 74 20 63 68 61 72  61 63 74 65 72 20 69 73  |ext character is|
00000590  20 61 20 73 65 6d 69 63  6f 6c 6f 6e 20 77 68 69  | a semicolon whi|
000005a0  63 68 20 69 6e 64 69 63  61 74 65 73 20 74 68 61  |ch indicates tha|
000005b0  74 20 61 20 6e 65 77 20  63 6f 6d 6d 61 6e 64 0a  |t a new command.|
000005c0  66 6f 6c 6c 6f 77 73 2e  0a 0a 54 68 65 20 27 41  |follows...The 'A|
000005d0  27 20 77 68 69 63 68 20  63 6f 6d 65 73 20 6e 65  |' which comes ne|
000005e0  78 74 20 69 73 20 74 68  65 20 63 6f 6d 6d 61 6e  |xt is the comman|
000005f0  64 20 22 61 6c 6c 6f 77  22 20 61 6e 64 20 69 73  |d "allow" and is|
00000600  20 74 68 65 20 70 61 72  74 20 6f 66 20 74 68 65  | the part of the|
00000610  0a 76 61 6c 69 64 61 74  69 6f 6e 20 73 74 72 69  |.validation stri|
00000620  6e 67 20 77 68 69 63 68  20 65 73 70 65 63 69 61  |ng which especia|
00000630  6c 6c 79 20 63 6f 6e 63  65 72 6e 73 20 75 73 2e  |lly concerns us.|
00000640  20 49 74 20 64 65 74 65  72 6d 69 6e 65 73 20 77  | It determines w|
00000650  68 61 74 0a 63 68 61 72  61 63 74 65 72 73 20 74  |hat.characters t|
00000660  68 65 20 66 69 65 6c 64  20 77 69 6c 6c 20 61 6c  |he field will al|
00000670  6c 6f 77 20 79 6f 75 20  74 6f 20 74 79 70 65 2e  |low you to type.|
00000680  20 49 6e 20 74 68 69 73  20 63 61 73 65 20 74 68  | In this case th|
00000690  65 79 20 61 72 65 20 74  68 65 0a 6e 75 6d 65 72  |ey are the.numer|
000006a0  61 6c 73 20 30 2d 39 2c  20 74 68 65 20 64 65 63  |als 0-9, the dec|
000006b0  69 6d 61 6c 20 70 6f 69  6e 74 20 61 6e 64 20 74  |imal point and t|
000006c0  68 65 20 70 6c 75 73 20  61 6e 64 20 6d 69 6e 75  |he plus and minu|
000006d0  73 20 73 69 67 6e 73 2e  20 57 68 79 20 74 68 65  |s signs. Why the|
000006e0  20 62 61 63 6b 2d 0a 73  6c 61 73 68 20 62 65 66  | back-.slash bef|
000006f0  6f 72 65 20 74 68 65 20  6c 61 74 74 65 72 3f 20  |ore the latter? |
00000700  42 65 63 61 75 73 65 20  27 2d 27 20 69 73 20 61  |Because '-' is a|
00000710  20 73 70 65 63 69 61 6c  20 63 68 61 72 61 63 74  | special charact|
00000720  65 72 20 69 6e 20 61 6e  20 69 63 6f 6e 0a 76 61  |er in an icon.va|
00000730  6c 69 64 61 74 69 6f 6e  20 73 74 72 69 6e 67 20  |lidation string |
00000740  28 75 73 65 64 2c 20 61  73 20 69 6e 20 74 68 69  |(used, as in thi|
00000750  73 20 63 61 73 65 2c 20  74 6f 20 73 70 65 63 69  |s case, to speci|
00000760  66 79 20 61 20 72 61 6e  67 65 20 6f 66 20 63 68  |fy a range of ch|
00000770  61 72 61 63 74 65 72 73  29 0a 61 6e 64 20 73 6f  |aracters).and so|
00000780  20 61 72 65 20 74 68 65  20 73 65 6d 69 63 6f 6c  | are the semicol|
00000790  6f 6e 2c 20 74 69 6c 64  65 20 28 7e 29 20 61 6e  |on, tilde (~) an|
000007a0  64 20 74 68 65 20 62 61  63 6b 73 6c 61 73 68 20  |d the backslash |
000007b0  69 74 73 65 6c 66 2e 20  54 6f 20 69 6e 63 6c 75  |itself. To inclu|
000007c0  64 65 20 61 6e 79 0a 6f  66 20 74 68 65 73 65 20  |de any.of these |
000007d0  66 6f 75 72 20 63 68 61  72 61 63 74 65 72 73 20  |four characters |
000007e0  69 6e 20 74 68 65 20 76  61 6c 69 64 61 74 69 6f  |in the validatio|
000007f0  6e 20 73 74 72 69 6e 67  20 79 6f 75 20 6d 75 73  |n string you mus|
00000800  74 20 70 72 65 63 65 64  65 20 69 74 20 77 69 74  |t precede it wit|
00000810  68 20 61 0a 62 61 63 6b  73 6c 61 73 68 2e 0a 0a  |h a.backslash...|
00000820  41 20 63 6f 75 70 6c 65  20 6f 66 20 66 75 72 74  |A couple of furt|
00000830  68 65 72 20 65 78 61 6d  70 6c 65 73 20 73 68 6f  |her examples sho|
00000840  75 6c 64 20 62 65 20 73  75 66 66 69 63 69 65 6e  |uld be sufficien|
00000850  74 2e 20 22 30 31 20 41  6c 70 68 61 6e 75 6d 65  |t. "01 Alphanume|
00000860  72 69 63 22 20 75 73 65  73 0a 74 68 65 20 73 61  |ric" uses.the sa|
00000870  6d 65 20 70 6f 69 6e 74  65 72 20 74 79 70 65 20  |me pointer type |
00000880  62 75 74 20 74 68 65 20  63 68 61 72 61 63 74 65  |but the characte|
00000890  72 73 20 61 63 63 65 70  74 65 64 20 61 72 65 20  |rs accepted are |
000008a0  3c 73 70 61 63 65 3e 20  28 69 6d 6d 65 64 69 61  |<space> (immedia|
000008b0  74 65 6c 79 0a 61 66 74  65 72 20 74 68 65 20 27  |tely.after the '|
000008c0  41 27 20 66 6f 72 20 22  61 6c 6c 6f 77 22 29 2c  |A' for "allow"),|
000008d0  20 74 68 65 20 75 70 70  65 72 2d 63 61 73 65 20  | the upper-case |
000008e0  6c 65 74 74 65 72 73 20  41 2d 5a 2c 20 74 68 65  |letters A-Z, the|
000008f0  20 6c 6f 77 65 72 2d 63  61 73 65 0a 6c 65 74 74  | lower-case.lett|
00000900  65 72 73 20 61 2d 7a 2c  20 74 68 65 20 6e 75 6d  |ers a-z, the num|
00000910  65 72 61 6c 73 20 30 2d  39 2c 20 73 6f 6d 65 20  |erals 0-9, some |
00000920  63 6f 6d 6d 6f 6e 20 70  75 6e 63 74 75 61 74 69  |common punctuati|
00000930  6f 6e 20 61 6e 64 20 74  68 65 20 22 68 61 6c 66  |on and the "half|
00000940  22 0a 63 68 61 72 61 63  74 65 72 2e 20 59 6f 75  |".character. You|
00000950  20 6d 69 67 68 74 20 77  61 6e 74 20 74 6f 20 61  | might want to a|
00000960  64 64 20 74 6f 20 74 68  69 73 20 6c 69 73 74 2e  |dd to this list.|
00000970  20 20 22 30 36 20 43 61  6c 63 75 6c 61 74 65 64  |  "06 Calculated|
00000980  22 20 75 73 65 73 20 61  0a 64 69 66 66 65 72 65  |" uses a.differe|
00000990  6e 74 20 70 6f 69 6e 74  65 72 20 73 70 72 69 74  |nt pointer sprit|
000009a0  65 20 28 70 74 72 5f 63  61 6c 63 2c 20 77 68 69  |e (ptr_calc, whi|
000009b0  63 68 20 72 65 73 65 6d  62 6c 65 73 20 61 20 70  |ch resembles a p|
000009c0  6f 63 6b 65 74 20 63 61  6c 63 75 6c 61 74 6f 72  |ocket calculator|
000009d0  29 20 61 6e 64 0a 68 61  73 20 6e 6f 20 22 61 6c  |) and.has no "al|
000009e0  6c 6f 77 22 20 63 6f 6d  6d 61 6e 64 20 61 74 20  |low" command at |
000009f0  61 6c 6c 3a 20 69 74 20  64 6f 65 73 6e 27 74 20  |all: it doesn't |
00000a00  6e 65 65 64 20 6f 6e 65  20 62 65 63 61 75 73 65  |need one because|
00000a10  20 79 6f 75 20 63 61 6e  27 74 20 74 79 70 65 0a  | you can't type.|
00000a20  69 6e 74 6f 20 74 68 69  73 20 74 79 70 65 20 6f  |into this type o|
00000a30  66 20 66 69 65 6c 64 2c  20 77 68 6f 73 65 20 76  |f field, whose v|
00000a40  61 6c 75 65 20 69 73 20  63 61 6c 63 75 6c 61 74  |alue is calculat|
00000a50  65 64 20 66 72 6f 6d 20  6f 74 68 65 72 20 66 69  |ed from other fi|
00000a60  65 6c 64 73 2e 0a 0a 54  61 62 6c 65 20 76 61 6c  |elds...Table val|
00000a70  69 64 61 74 69 6f 6e 0a  3d 3d 3d 3d 3d 3d 3d 3d  |idation.========|
00000a80  3d 3d 3d 3d 3d 3d 3d 3d  0a 54 68 69 73 20 6c 65  |========.This le|
00000a90  76 65 6c 20 6f 66 20 76  61 6c 69 64 61 74 69 6f  |vel of validatio|
00000aa0  6e 20 6f 6e 6c 79 20 63  6f 6d 65 73 20 69 6e 74  |n only comes int|
00000ab0  6f 20 65 66 66 65 63 74  20 61 66 74 65 72 20 65  |o effect after e|
00000ac0  6e 74 65 72 69 6e 67 20  64 61 74 61 20 69 6e 20  |ntering data in |
00000ad0  61 0a 66 69 65 6c 64 20  77 68 69 63 68 20 69 73  |a.field which is|
00000ae0  20 6c 69 6e 6b 65 64 20  74 6f 20 61 20 76 61 6c  | linked to a val|
00000af0  69 64 61 74 69 6f 6e 20  74 61 62 6c 65 2e 20 53  |idation table. S|
00000b00  75 63 68 20 66 69 65 6c  64 73 20 61 72 65 20 72  |uch fields are r|
00000b10  65 63 6f 67 6e 69 7a 61  62 6c 65 20 62 79 0a 68  |ecognizable by.h|
00000b20  61 76 69 6e 67 20 74 68  65 69 72 20 74 65 78 74  |aving their text|
00000b30  20 64 61 72 6b 20 67 72  65 65 6e 20 69 6e 73 74  | dark green inst|
00000b40  65 61 64 20 6f 66 20 62  6c 61 63 6b 2e 20 57 68  |ead of black. Wh|
00000b50  65 6e 20 79 6f 75 20 63  6c 69 63 6b 20 74 68 65  |en you click the|
00000b60  20 6d 6f 75 73 65 20 6f  76 65 72 0a 61 20 6e 65  | mouse over.a ne|
00000b70  77 20 66 69 65 6c 64 20  6f 72 20 74 79 70 65 20  |w field or type |
00000b80  52 45 54 55 52 4e 2c 20  74 68 65 20 6c 69 6e 6b  |RETURN, the link|
00000b90  65 64 20 76 61 6c 69 64  61 74 69 6f 6e 20 74 61  |ed validation ta|
00000ba0  62 6c 65 20 69 73 20 73  63 61 6e 6e 65 64 20 74  |ble is scanned t|
00000bb0  6f 20 73 65 65 0a 77 68  65 74 68 65 72 20 77 68  |o see.whether wh|
00000bc0  61 74 20 79 6f 75 20 65  6e 74 65 72 65 64 20 69  |at you entered i|
00000bd0  6e 20 74 68 65 20 66 69  65 6c 64 20 6f 63 63 75  |n the field occu|
00000be0  72 73 20 69 6e 20 74 68  65 20 74 61 62 6c 65 2e  |rs in the table.|
00000bf0  20 49 66 20 69 74 20 64  6f 65 73 6e 27 74 0a 74  | If it doesn't.t|
00000c00  68 65 6e 20 50 6f 77 65  72 62 61 73 65 20 77 69  |hen Powerbase wi|
00000c10  6c 6c 20 72 65 73 74 6f  72 65 20 74 68 65 20 70  |ll restore the p|
00000c20  72 65 76 69 6f 75 73 20  63 6f 6e 74 65 6e 74 73  |revious contents|
00000c30  20 6f 66 20 74 68 65 20  66 69 65 6c 64 20 61 6e  | of the field an|
00000c40  64 20 70 72 69 6e 74 20  61 6e 0a 65 72 72 6f 72  |d print an.error|
00000c50  20 6d 65 73 73 61 67 65  2e 0a 0a 56 61 6c 69 64  | message...Valid|
00000c60  61 74 69 6f 6e 20 74 61  62 6c 65 73 20 73 68 6f  |ation tables sho|
00000c70  75 6c 64 20 62 65 20 75  73 65 64 20 77 68 65 6e  |uld be used when|
00000c80  65 76 65 72 20 74 68 65  20 63 6f 6e 74 65 6e 74  |ever the content|
00000c90  73 20 6f 66 20 61 20 66  69 65 6c 64 20 68 61 76  |s of a field hav|
00000ca0  65 20 74 6f 0a 63 6f 6e  66 6f 72 6d 20 74 6f 20  |e to.conform to |
00000cb0  63 65 72 74 61 69 6e 20  22 76 61 6c 75 65 73 22  |certain "values"|
00000cc0  2e 20 41 20 6d 61 6e 75  66 61 63 74 75 72 69 6e  |. A manufacturin|
00000cd0  67 20 63 6f 6d 70 61 6e  79 20 77 69 6c 6c 20 68  |g company will h|
00000ce0  61 76 65 20 61 20 70 72  6f 64 75 63 74 0a 63 6f  |ave a product.co|
00000cf0  64 65 20 66 6f 72 20 65  76 65 72 79 20 69 74 65  |de for every ite|
00000d00  6d 20 77 68 69 63 68 20  69 74 20 6d 61 6b 65 73  |m which it makes|
00000d10  20 61 6e 64 20 61 20 64  61 74 61 62 61 73 65 20  | and a database |
00000d20  6f 66 20 63 75 73 74 6f  6d 65 72 73 20 77 68 69  |of customers whi|
00000d30  63 68 20 74 68 65 0a 66  69 72 6d 20 73 75 70 70  |ch the.firm supp|
00000d40  6c 69 65 73 20 77 69 6c  6c 20 6d 61 6b 65 20 75  |lies will make u|
00000d50  73 65 20 6f 66 20 73 75  63 68 20 63 6f 64 65 73  |se of such codes|
00000d60  20 74 6f 20 69 64 65 6e  74 69 66 79 20 74 68 65  | to identify the|
00000d70  20 69 74 65 6d 73 2e 20  49 74 20 69 73 0a 65 73  | items. It is.es|
00000d80  73 65 6e 74 69 61 6c 20  74 68 61 74 20 77 68 6f  |sential that who|
00000d90  65 76 65 72 20 65 6e 74  65 72 73 20 74 68 65 20  |ever enters the |
00000da0  64 61 74 61 20 69 73 20  70 72 65 76 65 6e 74 65  |data is prevente|
00000db0  64 20 66 72 6f 6d 20 61  63 63 69 64 65 6e 74 61  |d from accidenta|
00000dc0  6c 6c 79 20 74 79 70 69  6e 67 0a 61 20 73 70 75  |lly typing.a spu|
00000dd0  72 69 6f 75 73 20 63 6f  64 65 2e 20 42 79 20 6c  |rious code. By l|
00000de0  69 6e 6b 69 6e 67 20 74  68 65 20 61 70 70 72 6f  |inking the appro|
00000df0  70 72 69 61 74 65 20 66  69 65 6c 64 20 74 6f 20  |priate field to |
00000e00  61 20 76 61 6c 69 64 61  74 69 6f 6e 20 74 61 62  |a validation tab|
00000e10  6c 65 0a 63 6f 6e 74 61  69 6e 69 6e 67 20 61 6c  |le.containing al|
00000e20  6c 20 74 68 65 20 76 61  6c 69 64 20 63 6f 64 65  |l the valid code|
00000e30  73 20 73 75 63 68 20 6d  69 73 74 61 6b 65 73 20  |s such mistakes |
00000e40  63 61 6e 20 62 65 20 70  72 65 76 65 6e 74 65 64  |can be prevented|
00000e50  2e 20 4d 6f 72 65 6f 76  65 72 2c 20 74 68 65 0a  |. Moreover, the.|
00000e60  76 61 6c 69 64 61 74 69  6f 6e 20 74 61 62 6c 65  |validation table|
00000e70  20 63 61 6e 20 61 6c 73  6f 20 63 6f 6e 74 61 69  | can also contai|
00000e80  6e 20 6f 74 68 65 72 20  64 61 74 61 20 61 62 6f  |n other data abo|
00000e90  75 74 20 74 68 65 20 70  72 6f 64 75 63 74 73 2c  |ut the products,|
00000ea0  20 73 75 63 68 20 61 73  20 61 0a 6e 61 6d 65 20  | such as a.name |
00000eb0  61 6e 64 20 61 20 62 72  69 65 66 20 64 65 73 63  |and a brief desc|
00000ec0  72 69 70 74 69 6f 6e 2c  20 61 6e 64 20 6c 69 73  |ription, and lis|
00000ed0  74 73 20 63 61 6e 20 62  65 20 70 72 69 6e 74 65  |ts can be printe|
00000ee0  64 20 69 6e 20 77 68 69  63 68 20 74 68 69 73 20  |d in which this |
00000ef0  6d 6f 72 65 0a 75 6e 64  65 72 73 74 61 6e 64 61  |more.understanda|
00000f00  62 6c 65 20 64 61 74 61  20 61 70 70 65 61 72 73  |ble data appears|
00000f10  20 69 6e 73 74 65 61 64  20 6f 66 20 74 68 65 20  | instead of the |
00000f20  63 72 79 70 74 69 63 20  63 6f 64 65 73 2e 20 55  |cryptic codes. U|
00000f30  70 20 74 6f 20 6e 69 6e  65 20 69 74 65 6d 73 0a  |p to nine items.|
00000f40  6f 66 20 64 61 74 61 20  63 6f 75 6c 64 20 62 65  |of data could be|
00000f50  20 61 73 73 6f 63 69 61  74 65 64 20 77 69 74 68  | associated with|
00000f60  20 65 61 63 68 20 70 72  6f 64 75 63 74 20 63 6f  | each product co|
00000f70  64 65 2e 0a 0a 54 68 65  20 46 2e 45 2e 20 63 6f  |de...The F.E. co|
00000f80  6c 6c 65 67 65 20 64 61  74 61 62 61 73 65 20 72  |llege database r|
00000f90  65 66 65 72 72 65 64 20  74 6f 20 69 6e 20 27 42  |eferred to in 'B|
00000fa0  72 6f 77 73 65 45 64 69  74 27 20 28 22 55 73 69  |rowseEdit' ("Usi|
00000fb0  6e 67 20 6d 6f 72 65 20  74 68 61 6e 20 6f 6e 65  |ng more than one|
00000fc0  0a 73 75 62 66 69 6c 65  22 29 20 6d 61 6b 65 73  |.subfile") makes|
00000fd0  20 65 78 74 65 6e 73 69  76 65 20 75 73 65 20 6f  | extensive use o|
00000fe0  66 20 76 61 6c 69 64 61  74 69 6f 6e 20 74 61 62  |f validation tab|
00000ff0  6c 65 73 20 66 6f 72 20  73 75 62 6a 65 63 74 73  |les for subjects|
00001000  2c 20 63 6f 75 72 73 65  73 2c 0a 74 75 74 6f 72  |, courses,.tutor|
00001010  73 20 61 6e 64 20 73 63  68 6f 6f 6c 73 20 6f 66  |s and schools of|
00001020  20 6f 72 69 67 69 6e 2e  20 4e 6f 74 20 6f 6e 6c  | origin. Not onl|
00001030  79 20 64 6f 65 73 20 74  68 69 73 20 74 72 61 70  |y does this trap|
00001040  20 74 79 70 69 6e 67 20  65 72 72 6f 72 73 20 62  | typing errors b|
00001050  75 74 20 74 68 65 0a 64  61 74 61 20 65 6e 74 72  |ut the.data entr|
00001060  79 20 69 73 20 67 72 65  61 74 6c 79 20 73 70 65  |y is greatly spe|
00001070  65 64 65 64 20 75 70 20  77 68 65 6e 20 6f 6e 65  |eded up when one|
00001080  20 63 61 6e 20 74 79 70  65 20 27 45 4c 4c 27 20  | can type 'ELL' |
00001090  69 6e 73 74 65 61 64 20  6f 66 20 27 45 6e 67 6c  |instead of 'Engl|
000010a0  69 73 68 0a 4c 61 6e 67  75 61 67 65 20 61 6e 64  |ish.Language and|
000010b0  20 4c 69 74 65 72 61 74  75 72 65 27 2c 20 79 65  | Literature', ye|
000010c0  74 20 68 61 76 65 20 74  68 65 20 6c 61 74 74 65  |t have the latte|
000010d0  72 20 70 72 69 6e 74 65  64 20 6f 75 74 20 69 6e  |r printed out in|
000010e0  20 66 75 6c 6c 20 6f 6e  20 61 20 6c 69 73 74 0a  | full on a list.|
000010f0  6f 72 20 61 20 74 69 6d  65 74 61 62 6c 65 20 69  |or a timetable i|
00001100  66 20 6f 6e 65 20 77 69  73 68 65 73 2e 0a 0a 41  |f one wishes...A|
00001110  20 66 75 72 74 68 65 72  20 6f 70 74 69 6f 6e 20  | further option |
00001120  77 69 74 68 20 76 61 6c  69 64 61 74 69 6f 6e 20  |with validation |
00001130  74 61 62 6c 65 73 20 69  73 20 74 6f 20 68 61 76  |tables is to hav|
00001140  65 20 50 6f 77 65 72 62  61 73 65 20 72 65 70 6c  |e Powerbase repl|
00001150  61 63 65 20 74 68 65 0a  74 79 70 65 64 2d 69 6e  |ace the.typed-in|
00001160  20 63 6f 64 65 20 77 69  74 68 20 61 20 6c 6f 6e  | code with a lon|
00001170  67 65 72 2c 20 6d 6f 72  65 20 72 65 61 64 61 62  |ger, more readab|
00001180  6c 65 2c 20 66 6f 72 6d  20 69 6d 6d 65 64 69 61  |le, form immedia|
00001190  74 65 6c 79 20 6f 6e 20  65 6e 74 72 79 2e 0a 50  |tely on entry..P|
000011a0  72 6f 76 69 64 65 64 20  74 68 65 20 73 75 62 73  |rovided the subs|
000011b0  74 69 74 75 74 65 20 64  61 74 61 20 77 69 6c 6c  |titute data will|
000011c0  20 66 69 74 20 69 6e 20  74 68 65 20 66 69 65 6c  | fit in the fiel|
000011d0  64 20 74 68 65 20 72 65  70 6c 61 63 65 6d 65 6e  |d the replacemen|
000011e0  74 20 6f 63 63 75 72 73  0a 77 68 65 6e 20 79 6f  |t occurs.when yo|
000011f0  75 20 74 79 70 65 20 52  45 54 55 52 4e 20 6f 72  |u type RETURN or|
00001200  20 63 6c 69 63 6b 20 74  68 65 20 6d 6f 75 73 65  | click the mouse|
00001210  20 69 6e 20 61 6e 6f 74  68 65 72 20 66 69 65 6c  | in another fiel|
00001220  64 2e 20 49 66 20 74 68  65 20 72 65 70 6c 61 63  |d. If the replac|
00001230  65 6d 65 6e 74 0a 69 73  20 74 6f 6f 20 6c 6f 6e  |ement.is too lon|
00001240  67 20 74 68 65 6e 20 74  68 65 20 74 79 70 65 64  |g then the typed|
00001250  2d 69 6e 20 64 61 74 61  20 77 69 6c 6c 20 62 65  |-in data will be|
00001260  20 75 6e 63 68 61 6e 67  65 64 2e 0a 0a 54 68 65  | unchanged...The|
00001270  20 6d 61 78 69 6d 75 6d  20 6e 75 6d 62 65 72 20  | maximum number |
00001280  6f 66 20 76 61 6c 69 64  61 74 69 6f 6e 20 74 61  |of validation ta|
00001290  62 6c 65 73 20 69 73 20  32 30 20 61 6e 64 20 69  |bles is 20 and i|
000012a0  73 20 64 65 74 65 72 6d  69 6e 65 64 20 62 79 20  |s determined by |
000012b0  74 68 65 20 74 65 78 74  0a 66 69 6c 65 20 27 43  |the text.file 'C|
000012c0  6f 6e 66 69 67 27 20 77  69 74 68 69 6e 20 74 68  |onfig' within th|
000012d0  65 20 27 52 65 73 6f 75  72 63 65 73 27 20 73 75  |e 'Resources' su|
000012e0  62 64 69 72 65 63 74 6f  72 79 20 69 6e 20 74 68  |bdirectory in th|
000012f0  65 20 50 6f 77 65 72 62  61 73 65 20 64 69 72 65  |e Powerbase dire|
00001300  63 74 6f 72 79 2e 0a 0a  43 72 65 61 74 69 6e 67  |ctory...Creating|
00001310  20 61 20 76 61 6c 69 64  61 74 69 6f 6e 20 74 61  | a validation ta|
00001320  62 6c 65 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ble.============|
00001330  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |===============.|
00001340  43 68 6f 6f 73 65 20 27  43 72 65 61 74 65 20 74  |Choose 'Create t|
00001350  61 62 6c 65 27 20 66 72  6f 6d 20 74 68 65 20 27  |able' from the '|
00001360  56 61 6c 69 64 61 74 69  6f 6e 27 20 73 75 62 6d  |Validation' subm|
00001370  65 6e 75 2e 20 47 69 76  65 20 74 68 65 20 74 61  |enu. Give the ta|
00001380  62 6c 65 20 61 0a 73 75  69 74 61 62 6c 65 20 6e  |ble a.suitable n|
00001390  61 6d 65 20 61 6e 64 20  65 6e 74 65 72 20 74 68  |ame and enter th|
000013a0  65 20 6e 75 6d 62 65 72  20 6f 66 20 72 6f 77 73  |e number of rows|
000013b0  20 72 65 71 75 69 72 65  64 2e 20 54 68 69 73 20  | required. This |
000013c0  77 69 6c 6c 20 62 65 20  74 68 65 0a 6d 61 78 69  |will be the.maxi|
000013d0  6d 75 6d 20 6e 75 6d 62  65 72 20 6f 66 20 76 61  |mum number of va|
000013e0  6c 75 65 73 20 74 68 65  20 74 61 62 6c 65 20 63  |lues the table c|
000013f0  61 6e 20 63 6f 6e 74 61  69 6e 2e 20 41 6c 77 61  |an contain. Alwa|
00001400  79 73 20 62 65 20 67 65  6e 65 72 6f 75 73 20 69  |ys be generous i|
00001410  6e 20 79 6f 75 72 0a 65  73 74 69 6d 61 74 65 73  |n your.estimates|
00001420  3b 20 74 61 62 6c 65 73  20 63 61 6e 27 74 20 62  |; tables can't b|
00001430  65 20 65 78 74 65 6e 64  65 64 20 6c 61 74 65 72  |e extended later|
00001440  2e 20 54 68 65 20 6e 65  78 74 20 69 74 65 6d 20  |. The next item |
00001450  72 65 71 75 69 72 65 64  20 69 73 20 74 68 65 0a  |required is the.|
00001460  68 69 67 68 65 73 74 20  63 6f 6c 75 6d 6e 20 6e  |highest column n|
00001470  75 6d 62 65 72 20 69 6e  20 74 68 65 20 74 61 62  |umber in the tab|
00001480  6c 65 2e 20 41 20 6d 61  78 69 6d 75 6d 20 6f 66  |le. A maximum of|
00001490  20 31 30 20 63 6f 6c 75  6d 6e 73 2c 20 77 69 74  | 10 columns, wit|
000014a0  68 20 6e 75 6d 62 65 72  69 6e 67 0a 66 72 6f 6d  |h numbering.from|
000014b0  20 30 2d 39 2c 20 69 73  20 61 6c 6c 6f 77 65 64  | 0-9, is allowed|
000014c0  2e 20 0a 0a 54 68 65 20  6d 6f 73 74 20 63 6f 6d  |. ..The most com|
000014d0  6d 6f 6e 20 73 69 74 75  61 74 69 6f 6e 20 69 73  |mon situation is|
000014e0  20 74 6f 20 68 61 76 65  20 74 77 6f 20 63 6f 6c  | to have two col|
000014f0  75 6d 6e 73 2e 20 54 68  65 20 66 69 72 73 74 20  |umns. The first |
00001500  68 6f 6c 64 73 20 74 68  65 20 73 68 6f 72 74 0a  |holds the short.|
00001510  63 6f 64 65 20 77 68 69  63 68 20 73 70 65 63 69  |code which speci|
00001520  66 69 65 73 20 77 68 61  74 20 6d 61 79 20 62 65  |fies what may be|
00001530  20 74 79 70 65 64 20 69  6e 74 6f 20 74 68 65 20  | typed into the |
00001540  6c 69 6e 6b 65 64 20 72  65 63 6f 72 64 20 66 69  |linked record fi|
00001550  65 6c 64 2e 20 54 68 65  0a 73 65 63 6f 6e 64 20  |eld. The.second |
00001560  69 73 20 61 6e 20 65 78  70 61 6e 73 69 6f 6e 20  |is an expansion |
00001570  6f 72 20 65 78 70 6c 61  6e 61 74 69 6f 6e 20 6f  |or explanation o|
00001580  66 20 74 68 65 20 66 6f  72 6d 65 72 2e 20 44 65  |f the former. De|
00001590  66 69 6e 65 20 74 68 65  20 6d 61 78 69 6d 75 6d  |fine the maximum|
000015a0  0a 6c 65 6e 67 74 68 20  6f 66 20 65 61 63 68 20  |.length of each |
000015b0  66 69 65 6c 64 20 69 6e  20 74 68 65 20 74 61 62  |field in the tab|
000015c0  6c 65 20 61 6e 64 20 67  69 76 65 20 65 61 63 68  |le and give each|
000015d0  20 6f 6e 65 20 61 20 68  65 61 64 69 6e 67 2e 20  | one a heading. |
000015e0  44 6f 6e 27 74 20 66 6f  72 67 65 74 0a 74 68 61  |Don't forget.tha|
000015f0  74 20 74 68 65 20 68 65  61 64 69 6e 67 20 68 61  |t the heading ha|
00001600  73 20 74 6f 20 66 69 74  20 77 69 74 68 69 6e 20  |s to fit within |
00001610  77 68 61 74 65 76 65 72  20 63 6f 6c 75 6d 6e 20  |whatever column |
00001620  77 69 64 74 68 20 74 68  65 20 66 69 65 6c 64 20  |width the field |
00001630  6c 65 6e 67 74 68 0a 77  69 6c 6c 20 61 6c 6c 6f  |length.will allo|
00001640  77 2e 20 54 68 65 72 65  20 77 69 6c 6c 20 6f 6e  |w. There will on|
00001650  6c 79 20 62 65 20 73 69  6e 67 6c 65 20 73 70 61  |ly be single spa|
00001660  63 65 73 20 62 65 74 77  65 65 6e 20 74 68 65 20  |ces between the |
00001670  63 6f 6c 75 6d 6e 73 2e  0a 0a 57 68 65 6e 20 79  |columns...When y|
00001680  6f 75 20 61 72 65 20 73  61 74 69 73 66 69 65 64  |ou are satisfied|
00001690  20 77 69 74 68 20 74 68  65 20 64 61 74 61 20 63  | with the data c|
000016a0  6c 69 63 6b 20 27 4f 4b  27 20 61 6e 64 20 74 68  |lick 'OK' and th|
000016b0  65 20 74 61 62 6c 65 20  77 69 6c 6c 20 62 65 0a  |e table will be.|
000016c0  63 72 65 61 74 65 64 20  69 6e 20 6d 65 6d 6f 72  |created in memor|
000016d0  79 2e 20 49 74 20 69 73  20 6e 6f 74 20 73 61 76  |y. It is not sav|
000016e0  65 64 20 6f 6e 20 64 69  73 63 20 61 74 20 74 68  |ed on disc at th|
000016f0  69 73 20 73 74 61 67 65  2e 20 20 59 6f 75 20 6d  |is stage.  You m|
00001700  61 79 20 65 6e 74 65 72  0a 64 61 74 61 20 69 6e  |ay enter.data in|
00001710  74 6f 20 69 74 20 6e 6f  77 20 6f 72 20 6c 61 74  |to it now or lat|
00001720  65 72 2e 20 45 6e 74 72  69 65 73 20 6d 61 79 20  |er. Entries may |
00001730  62 65 20 66 72 65 65 6c  79 20 61 6c 74 65 72 65  |be freely altere|
00001740  64 20 61 6e 64 20 6f 76  65 72 77 72 69 74 74 65  |d and overwritte|
00001750  6e 20 62 75 74 0a 64 6f  20 6e 6f 74 20 66 6f 72  |n but.do not for|
00001760  67 65 74 20 74 6f 20 73  61 76 65 20 74 68 65 20  |get to save the |
00001770  74 61 62 6c 65 20 77 68  65 6e 65 76 65 72 20 63  |table whenever c|
00001780  68 61 6e 67 65 73 20 68  61 76 65 20 62 65 65 6e  |hanges have been|
00001790  20 6d 61 64 65 2e 0a 0a  4c 69 6e 6b 69 6e 67 20  | made...Linking |
000017a0  74 61 62 6c 65 73 20 74  6f 20 66 69 65 6c 64 73  |tables to fields|
000017b0  0a 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.===============|
000017c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 54 6f 20 6c 69 6e  |=========.To lin|
000017d0  6b 20 61 20 76 61 6c 69  64 61 74 69 6f 6e 20 74  |k a validation t|
000017e0  61 62 6c 65 20 74 6f 20  61 20 66 69 65 6c 64 20  |able to a field |
000017f0  74 68 65 20 74 61 62 6c  65 20 6d 75 73 74 20 62  |the table must b|
00001800  65 20 69 6e 20 6d 65 6d  6f 72 79 20 2e 20 43 6c  |e in memory . Cl|
00001810  69 63 6b 0a 4d 45 4e 55  20 6f 76 65 72 20 74 68  |ick.MENU over th|
00001820  65 20 72 65 71 75 69 72  65 64 20 64 61 74 61 20  |e required data |
00001830  66 69 65 6c 64 20 61 6e  64 20 66 6f 6c 6c 6f 77  |field and follow|
00001840  20 74 68 65 20 27 46 69  65 6c 64 27 20 73 75 62  | the 'Field' sub|
00001850  6d 65 6e 75 2c 20 63 68  6f 6f 73 69 6e 67 20 0a  |menu, choosing .|
00001860  74 68 65 20 27 4c 69 6e  6b 20 74 6f 20 74 61 62  |the 'Link to tab|
00001870  6c 65 27 20 6f 70 74 69  6f 6e 2e 0a 0a 41 20 70  |le' option...A p|
00001880  61 69 72 20 6f 66 20 22  62 75 6d 70 20 69 63 6f  |air of "bump ico|
00001890  6e 73 22 20 70 65 72 6d  69 74 73 20 79 6f 75 20  |ns" permits you |
000018a0  74 6f 20 63 79 63 6c 65  20 74 68 72 6f 75 67 68  |to cycle through|
000018b0  20 74 68 65 20 74 61 62  6c 65 73 20 69 6e 20 6d  | the tables in m|
000018c0  65 6d 6f 72 79 2e 20 41  20 0a 6d 65 6e 75 2c 20  |emory. A .menu, |
000018d0  64 69 73 70 6c 61 79 65  64 20 62 79 20 63 6c 69  |displayed by cli|
000018e0  63 6b 69 6e 67 20 53 45  4c 45 43 54 20 6f 72 20  |cking SELECT or |
000018f0  4d 45 4e 55 20 6f 76 65  72 20 74 68 65 20 72 69  |MENU over the ri|
00001900  67 68 74 2d 70 6f 69 6e  74 69 6e 67 20 61 72 72  |ght-pointing arr|
00001910  6f 77 20 74 6f 0a 74 68  65 20 72 69 67 68 74 20  |ow to.the right |
00001920  6f 66 20 74 68 65 20 74  61 62 6c 65 20 6e 61 6d  |of the table nam|
00001930  65 2c 20 70 72 6f 76 69  64 65 73 20 61 6e 20 61  |e, provides an a|
00001940  6c 74 65 72 6e 61 74 69  76 65 20 77 61 79 20 6f  |lternative way o|
00001950  66 20 63 68 6f 6f 73 69  6e 67 20 61 0a 74 61 62  |f choosing a.tab|
00001960  6c 65 2e 20 57 68 65 6e  20 79 6f 75 20 68 61 76  |le. When you hav|
00001970  65 20 74 68 65 20 6e 61  6d 65 20 6f 66 20 74 68  |e the name of th|
00001980  65 20 72 65 71 75 69 72  65 64 20 6f 6e 65 20 64  |e required one d|
00001990  69 73 70 6c 61 79 65 64  20 63 68 6f 6f 73 65 20  |isplayed choose |
000019a0  74 68 65 0a 63 6f 6c 75  6d 6e 20 6f 66 20 74 68  |the.column of th|
000019b0  65 20 74 61 62 6c 65 20  74 6f 20 77 68 69 63 68  |e table to which|
000019c0  20 74 68 65 20 66 69 65  6c 64 20 69 73 20 74 6f  | the field is to|
000019d0  20 62 65 20 6c 69 6e 6b  65 64 2e 20 49 74 20 69  | be linked. It i|
000019e0  73 20 72 65 63 6f 6d 6d  65 6e 64 65 64 0a 74 68  |s recommended.th|
000019f0  61 74 20 63 6f 6c 75 6d  6e 20 30 20 73 68 6f 75  |at column 0 shou|
00001a00  6c 64 20 6e 6f 72 6d 61  6c 6c 79 20 70 72 6f 76  |ld normally prov|
00001a10  69 64 65 20 74 68 65 20  6c 69 6e 6b 20 28 61 6e  |ide the link (an|
00001a20  64 20 74 68 65 72 65 66  6f 72 65 20 63 6f 6e 74  |d therefore cont|
00001a30  61 69 6e 20 74 68 65 0a  64 61 74 61 20 69 74 65  |ain the.data ite|
00001a40  6d 73 20 77 68 69 63 68  20 6d 61 79 20 62 65 20  |ms which may be |
00001a50  61 63 74 75 61 6c 6c 79  20 65 6e 74 65 72 65 64  |actually entered|
00001a60  20 6f 6e 20 74 68 65 20  72 65 63 6f 72 64 73 29  | on the records)|
00001a70  20 61 6e 64 20 74 68 69  73 20 69 73 20 73 65 74  | and this is set|
00001a80  20 62 79 0a 64 65 66 61  75 6c 74 2e 20 59 6f 75  | by.default. You|
00001a90  20 6d 61 79 2c 20 68 6f  77 65 76 65 72 2c 20 6c  | may, however, l|
00001aa0  69 6e 6b 20 74 6f 20 61  6e 79 20 63 6f 6c 75 6d  |ink to any colum|
00001ab0  6e 20 69 6e 20 74 68 65  20 74 61 62 6c 65 20 61  |n in the table a|
00001ac0  6e 64 20 61 20 73 65 63  6f 6e 64 20 70 61 69 72  |nd a second pair|
00001ad0  0a 6f 66 20 22 62 75 6d  70 20 69 63 6f 6e 73 22  |.of "bump icons"|
00001ae0  20 61 6c 6c 6f 77 73 20  79 6f 75 20 74 6f 20 63  | allows you to c|
00001af0  79 63 6c 65 20 74 68 72  6f 75 67 68 74 20 74 68  |ycle throught th|
00001b00  65 20 63 6f 6c 75 6d 6e  20 6e 75 6d 62 65 72 73  |e column numbers|
00001b10  2e 0a 0a 49 66 20 79 6f  75 20 77 61 6e 74 20 74  |...If you want t|
00001b20  68 65 20 22 72 65 70 6c  61 63 65 20 6f 6e 20 65  |he "replace on e|
00001b30  6e 74 72 79 22 20 6f 70  74 69 6f 6e 20 64 65 73  |ntry" option des|
00001b40  63 72 69 62 65 64 20 70  72 65 76 69 6f 75 73 6c  |cribed previousl|
00001b50  79 20 74 68 65 6e 20 73  65 6c 65 63 74 0a 74 68  |y then select.th|
00001b60  65 20 6f 70 74 69 6f 6e  20 73 77 69 74 63 68 20  |e option switch |
00001b70  66 6f 72 20 74 68 69 73  2e 20 41 20 74 68 69 72  |for this. A thir|
00001b80  64 20 73 65 74 20 6f 66  20 22 62 75 6d 70 20 69  |d set of "bump i|
00001b90  63 6f 6e 73 22 20 74 68  65 6e 20 62 65 63 6f 6d  |cons" then becom|
00001ba0  65 73 20 61 63 74 69 76  65 2c 0a 61 6c 6c 6f 77  |es active,.allow|
00001bb0  69 6e 67 20 79 6f 75 20  74 6f 20 63 68 6f 6f 73  |ing you to choos|
00001bc0  65 20 77 68 69 63 68 20  63 6f 6c 75 6d 6e 20 6f  |e which column o|
00001bd0  66 20 74 68 65 20 74 61  62 6c 65 20 77 69 6c 6c  |f the table will|
00001be0  20 72 65 70 6c 61 63 65  20 74 68 65 20 64 61 74  | replace the dat|
00001bf0  61 20 77 68 69 63 68 0a  79 6f 75 20 74 79 70 65  |a which.you type|
00001c00  20 69 6e 2e 20 49 6e 20  73 75 63 68 20 63 61 73  | in. In such cas|
00001c10  65 73 20 62 6f 74 68 20  74 68 65 20 65 6e 74 72  |es both the entr|
00001c20  69 65 73 20 69 6e 20 74  68 65 20 76 61 6c 69 64  |ies in the valid|
00001c30  61 74 69 6f 6e 20 6c 69  73 74 20 70 72 6f 70 65  |ation list prope|
00001c40  72 0a 61 6e 64 20 74 68  6f 73 65 20 69 6e 20 74  |r.and those in t|
00001c50  68 65 20 72 65 70 6c 61  63 65 6d 65 6e 74 20 6c  |he replacement l|
00001c60  69 73 74 20 61 72 65 20  63 6f 6e 73 69 64 65 72  |ist are consider|
00001c70  65 64 20 65 71 75 61 6c  6c 79 20 76 61 6c 69 64  |ed equally valid|
00001c80  20 61 6e 64 20 65 69 74  68 65 72 0a 6d 61 79 20  | and either.may |
00001c90  62 65 20 74 79 70 65 64  2e 20 65 2e 67 2e 20 69  |be typed. e.g. i|
00001ca0  6e 20 74 68 65 20 63 61  73 65 20 71 75 6f 74 65  |n the case quote|
00001cb0  64 20 61 62 6f 76 65 20  66 6f 72 20 74 68 65 20  |d above for the |
00001cc0  46 2e 45 2e 20 63 6f 6c  6c 65 67 65 20 64 61 74  |F.E. college dat|
00001cd0  61 62 61 73 65 0a 79 6f  75 20 63 6f 75 6c 64 20  |abase.you could |
00001ce0  61 63 74 75 61 6c 6c 79  20 74 79 70 65 20 69 6e  |actually type in|
00001cf0  20 27 45 6e 67 6c 69 73  68 20 4c 61 6e 67 75 61  | 'English Langua|
00001d00  67 65 20 61 6e 64 20 4c  69 74 65 72 61 74 75 72  |ge and Literatur|
00001d10  65 27 20 69 66 20 79 6f  75 20 77 69 73 68 65 64  |e' if you wished|
00001d20  2c 0a 69 6e 73 74 65 61  64 20 6f 66 20 6a 75 73  |,.instead of jus|
00001d30  74 20 27 45 4c 4c 27 2e  20 50 6f 77 65 72 62 61  |t 'ELL'. Powerba|
00001d40  73 65 20 77 6f 75 6c 64  20 61 63 63 65 70 74 20  |se would accept |
00001d50  65 69 74 68 65 72 2c 20  62 75 74 20 74 68 65 20  |either, but the |
00001d60  66 6f 72 6d 65 72 20 77  69 6c 6c 0a 6f 62 76 69  |former will.obvi|
00001d70  6f 75 73 6c 79 20 74 61  6b 65 20 6d 75 63 68 20  |ously take much |
00001d80  6c 6f 6e 67 65 72 20 74  6f 20 65 6e 74 65 72 20  |longer to enter |
00001d90  61 6e 64 20 79 6f 75 20  61 72 65 20 66 61 72 20  |and you are far |
00001da0  6d 6f 72 65 20 6c 69 6b  65 6c 79 20 74 6f 20 6d  |more likely to m|
00001db0  61 6b 65 20 61 0a 6d 69  73 74 61 6b 65 20 28 69  |ake a.mistake (i|
00001dc0  6e 20 77 68 69 63 68 20  63 61 73 65 20 50 6f 77  |n which case Pow|
00001dd0  65 72 62 61 73 65 20 77  6f 75 6c 64 20 6f 62 6a  |erbase would obj|
00001de0  65 63 74 29 2e 20 0a 0a  53 65 6c 65 63 74 20 74  |ect). ..Select t|
00001df0  68 65 20 73 77 69 74 63  68 20 27 4c 69 6e 6b 20  |he switch 'Link |
00001e00  74 6f 20 74 61 62 6c 65  27 20 61 6e 64 20 63 6c  |to table' and cl|
00001e10  69 63 6b 20 6f 6e 20 27  4f 4b 27 2e 20 59 6f 75  |ick on 'OK'. You|
00001e20  20 77 69 6c 6c 20 6e 6f  77 20 73 65 65 20 74 68  | will now see th|
00001e30  61 74 0a 74 68 65 20 66  6f 72 65 67 72 6f 75 6e  |at.the foregroun|
00001e40  64 20 63 6f 6c 6f 75 72  20 6f 66 20 74 68 65 20  |d colour of the |
00001e50  6c 69 6e 6b 65 64 20 66  69 65 6c 64 20 68 61 73  |linked field has|
00001e60  20 63 68 61 6e 67 65 64  20 66 72 6f 6d 20 62 6c  | changed from bl|
00001e70  61 63 6b 20 74 6f 20 67  72 65 65 6e 2e 0a 50 6c  |ack to green..Pl|
00001e80  61 63 65 20 74 68 65 20  63 61 72 65 74 20 69 6e  |ace the caret in|
00001e90  20 74 68 65 20 66 69 65  6c 64 20 61 6e 64 20 63  | the field and c|
00001ea0  6c 69 63 6b 20 6f 6e 20  27 4c 69 73 74 20 76 61  |lick on 'List va|
00001eb0  6c 75 65 73 27 20 6f 6e  20 74 68 65 20 6b 65 79  |lues' on the key|
00001ec0  70 61 64 2e 20 54 68 65  0a 76 61 6c 69 64 61 74  |pad. The.validat|
00001ed0  69 6f 6e 20 74 61 62 6c  65 20 73 68 6f 75 6c 64  |ion table should|
00001ee0  20 62 65 20 64 69 73 70  6c 61 79 65 64 2e 0a 0a  | be displayed...|
00001ef0  44 69 73 70 6c 61 79 69  6e 67 20 6c 69 6e 6b 65  |Displaying linke|
00001f00  64 20 64 61 74 61 0a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |d data.=========|
00001f10  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0a 54 68  |=============.Th|
00001f20  65 20 66 69 6e 61 6c 20  65 6e 74 72 79 20 6f 6e  |e final entry on|
00001f30  20 74 68 65 20 27 56 61  6c 69 64 61 74 69 6f 6e  | the 'Validation|
00001f40  27 20 73 75 62 6d 65 6e  75 20 69 73 20 27 53 68  |' submenu is 'Sh|
00001f50  6f 77 20 72 65 6c 61 74  69 6f 6e 73 27 2e 20 50  |ow relations'. P|
00001f60  6f 77 65 72 62 61 73 65  0a 6d 61 6b 65 73 20 6e  |owerbase.makes n|
00001f70  6f 20 63 6c 61 69 6d 20  74 6f 20 62 65 20 61 6e  |o claim to be an|
00001f80  79 74 68 69 6e 67 20 62  75 74 20 61 20 66 6c 61  |ything but a fla|
00001f90  74 2d 66 69 6c 65 20 64  61 74 61 62 61 73 65 2c  |t-file database,|
00001fa0  20 62 75 74 20 65 66 66  65 63 74 69 76 65 20 75  | but effective u|
00001fb0  73 65 20 6f 66 0a 76 61  6c 69 64 61 74 69 6f 6e  |se of.validation|
00001fc0  20 74 61 62 6c 65 73 20  64 6f 65 73 20 67 69 76  | tables does giv|
00001fd0  65 20 69 74 20 73 6f 6d  65 20 6f 66 20 74 68 65  |e it some of the|
00001fe0  20 61 64 76 61 6e 74 61  67 65 73 20 6e 6f 72 6d  | advantages norm|
00001ff0  61 6c 6c 79 20 74 6f 20  62 65 20 66 6f 75 6e 64  |ally to be found|
00002000  0a 6f 6e 6c 79 20 69 6e  20 61 20 72 65 6c 61 74  |.only in a relat|
00002010  69 6f 6e 61 6c 20 64 61  74 61 62 61 73 65 2e 20  |ional database. |
00002020  49 66 20 79 6f 75 20 63  68 6f 6f 73 65 20 74 68  |If you choose th|
00002030  65 20 27 53 68 6f 77 20  72 65 6c 61 74 69 6f 6e  |e 'Show relation|
00002040  73 27 20 65 6e 74 72 79  0a 28 73 6f 20 74 68 61  |s' entry.(so tha|
00002050  74 20 69 74 20 62 65 63  6f 6d 65 73 20 74 69 63  |t it becomes tic|
00002060  6b 65 64 29 20 79 6f 75  20 77 69 6c 6c 20 66 69  |ked) you will fi|
00002070  6e 64 20 74 68 61 74 20  63 6c 69 63 6b 69 6e 67  |nd that clicking|
00002080  20 74 68 65 20 6f 76 65  72 20 61 20 64 61 74 61  | the over a data|
00002090  0a 66 69 65 6c 64 20 77  68 69 63 68 20 69 73 20  |.field which is |
000020a0  6c 69 6e 6b 65 64 20 74  6f 20 61 20 76 61 6c 69  |linked to a vali|
000020b0  64 61 74 69 6f 6e 20 74  61 62 6c 65 20 63 61 75  |dation table cau|
000020c0  73 65 73 20 61 20 73 6d  61 6c 6c 20 77 69 6e 64  |ses a small wind|
000020d0  6f 77 20 74 6f 20 61 70  70 65 61 72 0a 74 6f 20  |ow to appear.to |
000020e0  74 68 65 20 72 69 67 68  74 20 6f 66 20 74 68 65  |the right of the|
000020f0  20 6b 65 79 70 61 64 2e  20 54 68 69 73 20 77 69  | keypad. This wi|
00002100  6e 64 6f 77 20 6c 69 73  74 73 20 61 6c 6c 20 74  |ndow lists all t|
00002110  68 65 20 64 61 74 61 20  77 68 69 63 68 20 69 73  |he data which is|
00002120  20 6f 6e 20 74 68 65 0a  73 61 6d 65 20 72 6f 77  | on the.same row|
00002130  20 6f 66 20 74 68 65 20  76 61 6c 69 64 61 74 69  | of the validati|
00002140  6f 6e 20 74 61 62 6c 65  20 61 73 20 74 68 65 20  |on table as the |
00002150  6c 69 6e 6b 65 64 20 69  74 65 6d 2e 20 41 73 20  |linked item. As |
00002160  79 6f 75 20 65 64 69 74  20 74 68 65 20 72 65 63  |you edit the rec|
00002170  6f 72 64 2c 0a 6d 6f 76  69 6e 67 20 66 72 6f 6d  |ord,.moving from|
00002180  20 66 69 65 6c 64 20 74  6f 20 66 69 65 6c 64 2c  | field to field,|
00002190  20 74 68 69 73 20 77 69  6e 64 6f 77 20 69 73 20  | this window is |
000021a0  63 6f 6e 73 74 61 6e 74  6c 79 20 75 70 64 61 74  |constantly updat|
000021b0  65 64 2e 20 49 74 20 64  69 73 61 70 70 65 61 72  |ed. It disappear|
000021c0  73 0a 77 68 65 6e 20 74  68 65 20 63 61 72 65 74  |s.when the caret|
000021d0  20 69 73 20 69 6e 20 61  20 6e 6f 6e 2d 6c 69 6e  | is in a non-lin|
000021e0  6b 65 64 20 66 69 65 6c  64 2e 0a 0a 59 6f 75 20  |ked field...You |
000021f0  63 61 6e 20 61 6c 73 6f  20 62 72 69 6e 67 20 75  |can also bring u|
00002200  70 20 74 68 69 73 20 77  69 6e 64 6f 77 20 28 77  |p this window (w|
00002210  68 65 74 68 65 72 20 27  53 68 6f 77 20 72 65 6c  |hether 'Show rel|
00002220  61 74 69 6f 6e 73 27 20  69 73 20 74 69 63 6b 65  |ations' is ticke|
00002230  64 20 6f 72 0a 6e 6f 74  29 20 62 79 20 64 6f 75  |d or.not) by dou|
00002240  62 6c 65 2d 63 6c 69 63  6b 69 6e 67 20 77 69 74  |ble-clicking wit|
00002250  68 20 53 45 4c 45 43 54  20 6f 6e 20 61 20 6c 69  |h SELECT on a li|
00002260  6e 6b 65 64 20 66 69 65  6c 64 20 2d 20 76 65 72  |nked field - ver|
00002270  79 20 68 61 6e 64 79 20  69 66 20 63 6f 64 65 64  |y handy if coded|
00002280  0a 64 61 74 61 20 69 73  20 62 65 69 6e 67 20 75  |.data is being u|
00002290  73 65 64 20 61 6e 64 20  79 6f 75 20 65 6e 63 6f  |sed and you enco|
000022a0  75 6e 74 65 72 20 61 20  63 6f 64 65 20 79 6f 75  |unter a code you|
000022b0  27 76 65 20 6e 65 76 65  72 20 6d 65 74 20 62 65  |'ve never met be|
000022c0  66 6f 72 65 2e 0a 0a 44  69 73 70 6c 61 79 69 6e  |fore...Displayin|
000022d0  67 20 76 61 6c 69 64 61  74 69 6f 6e 20 74 61 62  |g validation tab|
000022e0  6c 65 73 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |les.============|
000022f0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00002300  0a 57 68 65 6e 20 61 20  74 61 62 6c 65 20 69 73  |.When a table is|
00002310  20 6c 69 6e 6b 65 64 20  74 6f 20 61 20 66 69 65  | linked to a fie|
00002320  6c 64 20 69 6e 20 74 68  65 20 64 61 74 61 62 61  |ld in the databa|
00002330  73 65 20 72 65 63 6f 72  64 20 69 74 20 6d 61 79  |se record it may|
00002340  20 62 65 20 64 69 73 70  6c 61 79 65 64 0a 62 79  | be displayed.by|
00002350  20 70 6c 61 63 69 6e 67  20 74 68 65 20 63 61 72  | placing the car|
00002360  65 74 20 69 6e 20 74 68  65 20 6c 69 6e 6b 65 64  |et in the linked|
00002370  20 66 69 65 6c 64 20 61  6e 64 20 63 6c 69 63 6b  | field and click|
00002380  69 6e 67 20 6f 6e 20 74  68 65 20 6b 65 79 70 61  |ing on the keypa|
00002390  64 0a 62 75 74 74 6f 6e  20 27 4c 69 73 74 20 76  |d.button 'List v|
000023a0  61 6c 75 65 73 27 20 28  6b 65 79 73 74 72 6f 6b  |alues' (keystrok|
000023b0  65 20 65 71 75 69 76 61  6c 65 6e 74 20 66 38 29  |e equivalent f8)|
000023c0  2e 20 41 6c 74 65 72 6e  61 74 69 76 65 6c 79 2c  |. Alternatively,|
000023d0  20 61 6e 79 20 74 61 62  6c 65 0a 70 72 65 73 65  | any table.prese|
000023e0  6e 74 20 69 6e 20 6d 65  6d 6f 72 79 2c 20 77 68  |nt in memory, wh|
000023f0  65 74 68 65 72 20 6c 69  6e 6b 65 64 20 74 6f 20  |ether linked to |
00002400  61 20 64 61 74 61 20 66  69 65 6c 64 20 6f 72 20  |a data field or |
00002410  6e 6f 74 2c 20 6d 61 79  20 62 65 20 64 69 73 70  |not, may be disp|
00002420  6c 61 79 65 64 0a 62 79  20 73 65 6c 65 63 74 69  |layed.by selecti|
00002430  6e 67 20 69 74 20 66 72  6f 6d 20 74 68 65 20 27  |ng it from the '|
00002440  44 69 73 70 6c 61 79 20  74 61 62 6c 65 27 20 73  |Display table' s|
00002450  75 62 2d 6d 65 6e 75 20  28 6f 66 66 20 74 68 65  |ub-menu (off the|
00002460  20 27 56 61 6c 69 64 61  74 69 6f 6e 27 0a 73 75  | 'Validation'.su|
00002470  62 2d 6d 65 6e 75 29 2e  20 43 6c 69 63 6b 69 6e  |b-menu). Clickin|
00002480  67 20 4d 45 4e 55 20 6f  76 65 72 20 74 68 65 20  |g MENU over the |
00002490  74 61 62 6c 65 20 74 68  65 6e 20 6f 66 66 65 72  |table then offer|
000024a0  73 20 61 20 6d 65 6e 75  20 77 69 74 68 20 65 6e  |s a menu with en|
000024b0  74 72 69 65 73 0a 65 6e  61 62 6c 69 6e 67 20 79  |tries.enabling y|
000024c0  6f 75 20 74 6f 20 63 6c  65 61 72 2c 20 73 61 76  |ou to clear, sav|
000024d0  65 2c 20 70 72 69 6e 74  20 6f 72 20 73 6f 72 74  |e, print or sort|
000024e0  20 74 68 65 20 74 61 62  6c 65 2e 0a 0a 54 68 65  | the table...The|
000024f0  20 76 61 6c 69 64 61 74  69 6f 6e 20 74 61 62 6c  | validation tabl|
00002500  65 20 6d 65 6e 75 0a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |e menu.=========|
00002510  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00002520  0a 43 6c 65 61 72 0a 2d  2d 2d 2d 2d 0a 52 65 6d  |.Clear.-----.Rem|
00002530  6f 76 65 73 20 61 6c 6c  20 64 61 74 61 20 66 72  |oves all data fr|
00002540  6f 6d 20 74 68 65 20 74  61 62 6c 65 2c 20 6c 65  |om the table, le|
00002550  61 76 69 6e 67 20 69 74  20 62 6c 61 6e 6b 2e 20  |aving it blank. |
00002560  53 69 6e 63 65 20 77 69  70 69 6e 67 20 6f 75 74  |Since wiping out|
00002570  20 61 20 74 61 62 6c 65  0a 69 6e 20 74 68 69 73  | a table.in this|
00002580  20 77 61 79 20 69 73 20  70 72 65 74 74 79 20 64  | way is pretty d|
00002590  72 61 73 74 69 63 20 28  61 6e 64 20 69 72 72 65  |rastic (and irre|
000025a0  76 6f 63 61 62 6c 65 29  20 79 6f 75 20 77 69 6c  |vocable) you wil|
000025b0  6c 20 6e 65 65 64 20 27  4d 61 6e 61 67 65 72 27  |l need 'Manager'|
000025c0  0a 6c 65 76 65 6c 20 72  69 67 68 74 73 20 74 6f  |.level rights to|
000025d0  20 64 6f 20 69 74 2c 20  6f 74 68 65 72 77 69 73  | do it, otherwis|
000025e0  65 20 27 43 6c 65 61 72  27 20 69 73 20 73 68 61  |e 'Clear' is sha|
000025f0  64 65 64 2e 20 45 76 65  6e 20 73 6f 20 79 6f 75  |ded. Even so you|
00002600  20 61 72 65 20 61 73 6b  65 64 20 74 6f 0a 63 6f  | are asked to.co|
00002610  6e 66 69 72 6d 20 74 68  65 20 6f 70 65 72 61 74  |nfirm the operat|
00002620  69 6f 6e 20 62 65 66 6f  72 65 20 69 74 20 61 63  |ion before it ac|
00002630  74 75 61 6c 6c 79 20 74  61 6b 65 73 20 70 6c 61  |tually takes pla|
00002640  63 65 2e 20 57 68 65 6e  20 79 6f 75 20 63 6c 6f  |ce. When you clo|
00002650  73 65 20 61 0a 64 61 74  61 62 61 73 65 20 61 6c  |se a.database al|
00002660  6c 20 74 68 65 20 76 61  6c 69 64 61 74 69 6f 6e  |l the validation|
00002670  20 74 61 62 6c 65 73 20  69 6e 20 6d 65 6d 6f 72  | tables in memor|
00002680  79 20 61 72 65 20 77 72  69 74 74 65 6e 20 74 6f  |y are written to|
00002690  20 74 68 65 20 64 69 73  63 20 73 6f 20 79 6f 75  | the disc so you|
000026a0  0a 77 69 6c 6c 20 6f 76  65 72 2d 77 72 69 74 65  |.will over-write|
000026b0  20 79 6f 75 72 20 64 69  73 63 20 63 6f 70 79 20  | your disc copy |
000026c0  77 69 74 68 20 74 68 65  20 62 6c 61 6e 6b 20 74  |with the blank t|
000026d0  61 62 6c 65 2e 20 0a 0a  53 61 76 65 0a 2d 2d 2d  |able. ..Save.---|
000026e0  2d 0a 54 68 69 73 20 6c  65 61 64 73 20 74 6f 20  |-.This leads to |
000026f0  61 20 27 53 61 76 65 27  20 62 6f 78 20 69 6e 20  |a 'Save' box in |
00002700  77 68 69 63 68 20 74 68  65 20 64 65 66 61 75 6c  |which the defaul|
00002710  74 20 70 61 74 68 6e 61  6d 65 20 70 6f 69 6e 74  |t pathname point|
00002720  73 20 74 6f 20 61 0a 64  69 72 65 63 74 6f 72 79  |s to a.directory|
00002730  20 63 61 6c 6c 65 64 20  27 56 61 6c 54 61 62 6c  | called 'ValTabl|
00002740  65 73 27 20 69 6e 73 69  64 65 20 74 68 65 20 64  |es' inside the d|
00002750  61 74 61 62 61 73 65 20  61 70 70 6c 69 63 61 74  |atabase applicat|
00002760  69 6f 6e 20 64 69 72 65  63 74 6f 72 79 2e 0a 53  |ion directory..S|
00002770  69 6e 63 65 20 74 68 61  74 27 73 20 77 68 65 72  |ince that's wher|
00002780  65 20 50 6f 77 65 72 62  61 73 65 20 65 78 70 65  |e Powerbase expe|
00002790  63 74 73 20 74 6f 20 66  69 6e 64 20 74 68 65 20  |cts to find the |
000027a0  74 61 62 6c 65 73 20 66  6f 72 20 61 20 64 61 74  |tables for a dat|
000027b0  61 62 61 73 65 20 79 6f  75 0a 73 68 6f 75 6c 64  |abase you.should|
000027c0  20 6e 6f 72 6d 61 6c 6c  79 20 61 63 63 65 70 74  | normally accept|
000027d0  20 74 68 69 73 20 70 61  74 68 6e 61 6d 65 20 62  | this pathname b|
000027e0  79 20 63 6c 69 63 6b 69  6e 67 20 6f 6e 20 27 4f  |y clicking on 'O|
000027f0  4b 27 20 6f 72 20 74 79  70 69 6e 67 20 52 45 54  |K' or typing RET|
00002800  55 52 4e 2e 0a 4f 6e 6c  79 20 69 66 20 79 6f 75  |URN..Only if you|
00002810  20 61 72 65 20 74 72 61  6e 73 66 65 72 72 69 6e  | are transferrin|
00002820  67 20 74 61 62 6c 65 73  20 66 72 6f 6d 20 6f 6e  |g tables from on|
00002830  65 20 64 61 74 61 62 61  73 65 20 74 6f 20 61 6e  |e database to an|
00002840  6f 74 68 65 72 20 73 68  6f 75 6c 64 20 79 6f 75  |other should you|
00002850  0a 6e 65 65 64 20 74 6f  20 64 72 61 67 20 74 68  |.need to drag th|
00002860  65 20 69 63 6f 6e 20 74  6f 20 61 20 66 69 6c 65  |e icon to a file|
00002870  72 20 77 69 6e 64 6f 77  2e 20 41 6c 6c 20 76 61  |r window. All va|
00002880  6c 69 64 61 74 69 6f 6e  20 74 61 62 6c 65 73 20  |lidation tables |
00002890  69 6e 20 6d 65 6d 6f 72  79 0a 61 72 65 2c 20 69  |in memory.are, i|
000028a0  6e 20 61 6e 79 20 63 61  73 65 2c 20 73 61 76 65  |n any case, save|
000028b0  64 20 74 6f 20 74 68 65  20 27 56 61 6c 54 61 62  |d to the 'ValTab|
000028c0  6c 65 73 27 20 64 69 72  65 63 74 6f 72 79 20 77  |les' directory w|
000028d0  68 65 6e 20 79 6f 75 20  63 6c 6f 73 65 20 74 68  |hen you close th|
000028e0  65 0a 64 61 74 61 62 61  73 65 20 6f 72 20 71 75  |e.database or qu|
000028f0  69 74 20 50 6f 77 65 72  62 61 73 65 20 61 6e 64  |it Powerbase and|
00002900  20 79 6f 75 20 63 61 6e  20 61 6c 73 6f 20 6d 61  | you can also ma|
00002910  6b 65 20 74 68 69 73 20  68 61 70 70 65 6e 20 61  |ke this happen a|
00002920  74 20 61 6e 79 20 74 69  6d 65 20 62 79 0a 63 6c  |t any time by.cl|
00002930  69 63 6b 69 6e 67 20 6f  6e 20 27 46 6f 72 63 65  |icking on 'Force|
00002940  20 75 70 64 61 74 65 27  20 6f 6e 20 74 68 65 20  | update' on the |
00002950  6b 65 79 70 61 64 2e 0a  0a 50 72 69 6e 74 0a 2d  |keypad...Print.-|
00002960  2d 2d 2d 2d 0a 50 72 69  6e 74 69 6e 67 20 6f 75  |----.Printing ou|
00002970  74 20 74 68 65 20 63 6f  6e 74 65 6e 74 73 20 6f  |t the contents o|
00002980  66 20 61 20 76 61 6c 69  64 61 74 69 6f 6e 20 74  |f a validation t|
00002990  61 62 6c 65 20 28 61 73  20 6f 70 70 6f 73 65 64  |able (as opposed|
000029a0  20 74 6f 20 70 72 69 6e  74 69 6e 67 20 61 0a 72  | to printing a.r|
000029b0  65 70 6f 72 74 20 63 6f  6e 74 61 69 6e 69 6e 67  |eport containing|
000029c0  20 64 61 74 61 20 66 72  6f 6d 20 61 20 76 61 6c  | data from a val|
000029d0  69 64 61 74 69 6f 6e 20  74 61 62 6c 65 29 20 69  |idation table) i|
000029e0  73 20 64 6f 6e 65 20 76  69 61 20 74 68 69 73 20  |s done via this |
000029f0  6d 65 6e 75 0a 63 68 6f  69 63 65 2e 20 54 68 65  |menu.choice. The|
00002a00  20 6f 75 74 70 75 74 20  61 70 70 65 61 72 73 20  | output appears |
00002a10  69 6e 20 61 20 77 69 6e  64 6f 77 20 66 72 6f 6d  |in a window from|
00002a20  20 77 68 69 63 68 20 69  74 20 6d 61 79 20 62 65  | which it may be|
00002a30  20 73 61 76 65 64 20 61  73 20 61 20 74 65 78 74  | saved as a text|
00002a40  0a 66 69 6c 65 20 28 73  65 65 20 27 50 72 69 6e  |.file (see 'Prin|
00002a50  74 69 6e 67 27 20 2d 20  4f 75 74 70 75 74 20 64  |ting' - Output d|
00002a60  65 73 74 69 6e 61 74 69  6f 6e 29 2e 20 0a 0a 53  |estination). ..S|
00002a70  6f 72 74 0a 2d 2d 2d 2d  0a 54 68 69 73 20 77 69  |ort.----.This wi|
00002a80  6c 6c 20 73 6f 72 74 20  74 68 65 20 74 61 62 6c  |ll sort the tabl|
00002a90  65 20 6f 6e 20 74 68 65  20 66 69 72 73 74 20 63  |e on the first c|
00002aa0  6f 6c 75 6d 6e 2e 0a 0a  4c 6f 61 64 69 6e 67 20  |olumn...Loading |
00002ab0  76 61 6c 69 64 61 74 69  6f 6e 20 74 61 62 6c 65  |validation table|
00002ac0  73 0a 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |s.==============|
00002ad0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 4f 6e 63 65  |===========.Once|
00002ae0  20 61 20 74 61 62 6c 65  20 69 73 20 6c 69 6e 6b  | a table is link|
00002af0  65 64 20 74 6f 20 61 20  64 61 74 61 20 66 69 65  |ed to a data fie|
00002b00  6c 64 20 69 74 20 77 69  6c 6c 20 62 65 20 61 75  |ld it will be au|
00002b10  74 6f 6d 61 74 69 63 61  6c 6c 79 20 6c 6f 61 64  |tomatically load|
00002b20  65 64 20 77 68 65 6e 0a  74 68 65 20 64 61 74 61  |ed when.the data|
00002b30  62 61 73 65 20 69 73 20  6f 70 65 6e 65 64 2e 20  |base is opened. |
00002b40  49 66 20 6e 6f 74 20 79  65 74 20 6c 69 6e 6b 65  |If not yet linke|
00002b50  64 2c 20 68 6f 77 65 76  65 72 2c 20 74 68 65 20  |d, however, the |
00002b60  74 61 62 6c 65 20 77 6f  6e 27 74 20 62 65 20 69  |table won't be i|
00002b70  6e 0a 6d 65 6d 6f 72 79  20 75 6e 6c 65 73 73 20  |n.memory unless |
00002b80  79 6f 75 20 68 61 76 65  20 6a 75 73 74 20 63 72  |you have just cr|
00002b90  65 61 74 65 64 20 69 74  2e 20 54 6f 20 6c 6f 61  |eated it. To loa|
00002ba0  64 20 74 68 65 20 74 61  62 6c 65 20 63 68 6f 6f  |d the table choo|
00002bb0  73 65 20 27 53 68 6f 77  20 74 61 62 6c 65 0a 66  |se 'Show table.f|
00002bc0  69 6c 65 73 27 20 66 72  6f 6d 20 74 68 65 20 27  |iles' from the '|
00002bd0  56 61 6c 69 64 61 74 69  6f 6e 27 20 73 75 62 6d  |Validation' subm|
00002be0  65 6e 75 2e 20 54 68 65  20 63 6f 6e 74 65 6e 74  |enu. The content|
00002bf0  73 20 6f 66 20 74 68 65  20 27 56 61 6c 54 61 62  |s of the 'ValTab|
00002c00  6c 65 73 27 0a 64 69 72  65 63 74 6f 72 79 20 77  |les'.directory w|
00002c10  69 6c 6c 20 62 65 20 64  69 73 70 6c 61 79 65 64  |ill be displayed|
00002c20  20 61 6e 64 20 74 68 65  20 72 65 71 75 69 72 65  | and the require|
00002c30  64 20 74 61 62 6c 65 73  20 63 61 6e 20 64 72 61  |d tables can dra|
00002c40  67 67 65 64 20 6f 6e 74  6f 20 74 68 65 0a 72 65  |gged onto the.re|
00002c50  63 6f 72 64 20 77 69 6e  64 6f 77 20 28 6f 72 20  |cord window (or |
00002c60  73 69 6d 70 6c 79 20 64  6f 75 62 6c 65 2d 63 6c  |simply double-cl|
00002c70  69 63 6b 65 64 29 2e 20  41 73 20 65 61 63 68 20  |icked). As each |
00002c80  74 61 62 6c 65 20 69 73  20 64 72 6f 70 70 65 64  |table is dropped|
00002c90  20 69 74 20 77 69 6c 6c  0a 62 65 20 64 69 73 70  | it will.be disp|
00002ca0  6c 61 79 65 64 2e 20 4e  2e 42 2e 20 4f 6e 6c 79  |layed. N.B. Only|
00002cb0  20 6f 6e 65 20 74 61 62  6c 65 20 61 74 20 61 20  | one table at a |
00002cc0  74 69 6d 65 20 6d 61 79  20 62 65 20 61 63 74 75  |time may be actu|
00002cd0  61 6c 6c 79 20 64 69 73  70 6c 61 79 65 64 2e 0a  |ally displayed..|
00002ce0  0a 54 68 65 72 65 20 6d  61 79 20 62 65 20 74 69  |.There may be ti|
00002cf0  6d 65 73 20 77 68 65 6e  20 74 68 65 20 75 73 65  |mes when the use|
00002d00  72 20 77 69 73 68 65 73  20 74 6f 20 75 73 65 20  |r wishes to use |
00002d10  61 20 76 61 6c 69 64 61  74 69 6f 6e 20 74 61 62  |a validation tab|
00002d20  6c 65 20 74 6f 20 68 6f  6c 64 0a 73 6f 6d 65 20  |le to hold.some |
00002d30  64 61 74 61 2c 20 62 75  74 20 64 6f 65 73 6e 27  |data, but doesn'|
00002d40  74 20 77 69 73 68 20 74  6f 20 75 73 65 20 69 74  |t wish to use it|
00002d50  20 74 6f 20 76 61 6c 69  64 61 74 65 20 69 6e 70  | to validate inp|
00002d60  75 74 20 69 6e 74 6f 20  61 20 66 69 65 6c 64 20  |ut into a field |
00002d70  6f 72 20 74 6f 0a 6c 69  6e 6b 20 69 74 20 74 6f  |or to.link it to|
00002d80  20 61 20 66 69 65 6c 64  20 61 74 20 61 6c 6c 2e  | a field at all.|
00002d90  20 48 6f 77 20 64 6f 65  73 20 6f 6e 65 20 6d 61  | How does one ma|
00002da0  6b 65 20 73 75 72 65 20  74 68 65 20 72 65 71 75  |ke sure the requ|
00002db0  69 72 65 64 20 74 61 62  6c 65 20 67 65 74 73 0a  |ired table gets.|
00002dc0  6c 6f 61 64 65 64 3f 20  49 74 20 69 73 20 61 6c  |loaded? It is al|
00002dd0  77 61 79 73 20 70 6f 73  73 69 62 6c 65 20 74 6f  |ways possible to|
00002de0  20 6c 6f 61 64 20 61 20  76 61 6c 69 64 61 74 69  | load a validati|
00002df0  6f 6e 20 74 61 62 6c 65  20 6f 6e 63 65 20 74 68  |on table once th|
00002e00  65 20 64 61 74 61 62 61  73 65 0a 69 73 20 6f 70  |e database.is op|
00002e10  65 6e 20 62 79 20 75 73  69 6e 67 20 74 68 65 20  |en by using the |
00002e20  70 72 6f 63 65 64 75 72  65 20 64 65 73 63 72 69  |procedure descri|
00002e30  62 65 64 20 69 6e 20 74  68 65 20 70 72 65 76 69  |bed in the previ|
00002e40  6f 75 73 20 70 61 72 61  67 72 61 70 68 2c 20 62  |ous paragraph, b|
00002e50  75 74 0a 74 68 65 72 65  27 73 20 61 20 6d 6f 72  |ut.there's a mor|
00002e60  65 20 65 6c 65 67 61 6e  74 20 73 6f 6c 75 74 69  |e elegant soluti|
00002e70  6f 6e 2e 20 42 79 20 61  64 64 69 6e 67 20 61 20  |on. By adding a |
00002e80  22 21 22 20 63 68 61 72  61 63 74 65 72 20 74 6f  |"!" character to|
00002e90  20 74 68 65 20 65 6e 64  20 6f 66 20 74 68 65 0a  | the end of the.|
00002ea0  74 61 62 6c 65 27 73 20  6e 61 6d 65 20 79 6f 75  |table's name you|
00002eb0  20 77 69 6c 6c 20 63 61  75 73 65 20 50 6f 77 65  | will cause Powe|
00002ec0  72 62 61 73 65 20 74 6f  20 6c 6f 61 64 20 69 74  |rbase to load it|
00002ed0  20 77 68 65 74 68 65 72  20 61 6e 79 20 66 69 65  | whether any fie|
00002ee0  6c 64 20 69 73 20 6c 69  6e 6b 65 64 0a 74 6f 20  |ld is linked.to |
00002ef0  69 74 20 6f 72 20 6e 6f  74 2e 0a 0a 49 6e 63 6c  |it or not...Incl|
00002f00  75 64 69 6e 67 20 76 61  6c 69 64 61 74 69 6f 6e  |uding validation|
00002f10  20 74 61 62 6c 65 20 64  61 74 61 20 69 6e 20 70  | table data in p|
00002f20  72 69 6e 74 6f 75 74 73  0a 3d 3d 3d 3d 3d 3d 3d  |rintouts.=======|
00002f30  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00002f50  3d 3d 3d 3d 3d 0a 56 61  6c 69 64 61 74 69 6f 6e  |=====.Validation|
00002f60  20 74 61 62 6c 65 73 20  61 72 65 20 63 6f 6d 6d  | tables are comm|
00002f70  6f 6e 6c 79 20 75 73 65  64 20 74 6f 20 61 6c 6c  |only used to all|
00002f80  6f 77 20 73 68 6f 72 74  20 63 6f 64 65 73 20 74  |ow short codes t|
00002f90  6f 20 62 65 20 65 6e 74  65 72 65 64 20 69 6e 0a  |o be entered in.|
00002fa0  72 65 63 6f 72 64 73 20  62 75 74 20 77 69 74 68  |records but with|
00002fb0  20 61 20 6c 69 6e 6b 20  74 6f 20 61 20 6d 6f 72  | a link to a mor|
00002fc0  65 20 64 65 73 63 72 69  70 74 69 76 65 20 65 6e  |e descriptive en|
00002fd0  74 72 79 20 69 6e 20 61  6e 6f 74 68 65 72 20 63  |try in another c|
00002fe0  6f 6c 75 6d 6e 20 6f 66  20 74 68 65 0a 74 61 62  |olumn of the.tab|
00002ff0  6c 65 2e 20 20 49 66 20  74 68 69 73 20 69 73 20  |le.  If this is |
00003000  61 6c 6c 20 79 6f 75 20  72 65 71 75 69 72 65 20  |all you require |
00003010  74 68 65 6e 20 61 6c 77  61 79 73 20 70 75 74 20  |then always put |
00003020  74 68 65 20 64 61 74 61  20 77 68 69 63 68 20 6d  |the data which m|
00003030  61 6b 65 73 20 75 70 0a  74 68 65 20 61 63 74 75  |akes up.the actu|
00003040  61 6c 20 76 61 6c 69 64  61 74 69 6f 6e 20 6c 69  |al validation li|
00003050  73 74 2c 20 69 2e 65 2e  20 74 68 65 20 69 74 65  |st, i.e. the ite|
00003060  6d 73 20 77 68 69 63 68  20 61 72 65 20 61 6c 6c  |ms which are all|
00003070  6f 77 65 64 20 69 6e 20  74 68 65 20 66 69 65 6c  |owed in the fiel|
00003080  64 73 0a 6f 66 20 74 68  65 20 6d 61 69 6e 20 72  |ds.of the main r|
00003090  65 63 6f 72 64 2c 20 69  6e 74 6f 20 74 68 65 20  |ecord, into the |
000030a0  66 69 72 73 74 20 63 6f  6c 75 6d 6e 20 6f 66 20  |first column of |
000030b0  74 68 65 20 74 61 62 6c  65 20 61 6e 64 20 73 65  |the table and se|
000030c0  74 20 74 68 65 20 6c 69  6e 6b 20 0a 66 72 6f 6d  |t the link .from|
000030d0  20 74 68 65 20 72 65 63  6f 72 64 20 66 69 65 6c  | the record fiel|
000030e0  64 20 74 6f 20 74 68 69  73 20 63 6f 6c 75 6d 6e  |d to this column|
000030f0  20 28 63 6f 6c 75 6d 6e  20 30 29 2e 20 54 68 65  | (column 0). The|
00003100  20 6d 6f 72 65 20 64 65  74 61 69 6c 65 64 0a 22  | more detailed."|
00003110  65 78 70 61 6e 64 65 64  22 20 65 6e 74 72 79 20  |expanded" entry |
00003120  73 68 6f 75 6c 64 20 74  68 65 6e 20 67 6f 20 69  |should then go i|
00003130  6e 20 63 6f 6c 75 6d 6e  20 31 2e 20 50 72 69 6e  |n column 1. Prin|
00003140  74 69 6e 67 20 77 69 74  68 20 74 68 65 20 27 45  |ting with the 'E|
00003150  78 70 61 6e 64 27 0a 73  77 69 74 63 68 20 69 6e  |xpand'.switch in|
00003160  20 74 68 65 20 27 50 72  69 6e 74 20 6f 70 74 69  | the 'Print opti|
00003170  6f 6e 73 27 20 77 69 6e  64 6f 77 20 73 65 6c 65  |ons' window sele|
00003180  63 74 65 64 20 20 77 69  6c 6c 20 74 68 65 6e 20  |cted  will then |
00003190  70 72 69 6e 74 20 74 68  65 20 63 6f 6c 75 6d 6e  |print the column|
000031a0  20 31 0a 69 6e 73 74 65  61 64 20 6f 66 20 74 68  | 1.instead of th|
000031b0  65 20 63 6f 6c 75 6d 6e  20 30 20 65 6e 74 72 79  |e column 0 entry|
000031c0  2e 0a 0a 59 6f 75 20 63  61 6e 2c 20 68 6f 77 65  |...You can, howe|
000031d0  76 65 72 2c 20 69 6e 63  6c 75 64 65 20 64 61 74  |ver, include dat|
000031e0  61 20 66 72 6f 6d 20 6f  74 68 65 72 20 63 6f 6c  |a from other col|
000031f0  75 6d 6e 73 20 6f 66 20  61 20 74 61 62 6c 65 20  |umns of a table |
00003200  62 79 20 64 69 73 70 6c  61 79 69 6e 67 0a 74 68  |by displaying.th|
00003210  65 20 74 61 62 6c 65 20  20 61 6e 64 20 63 6c 69  |e table  and cli|
00003220  63 6b 69 6e 67 20 69 6e  20 74 68 65 20 72 65 71  |cking in the req|
00003230  75 69 72 65 64 20 63 6f  6c 75 6d 6e 73 20 77 69  |uired columns wi|
00003240  74 68 20 41 44 4a 55 53  54 2c 20 65 78 61 63 74  |th ADJUST, exact|
00003250  6c 79 20 6c 69 6b 65 0a  73 65 6c 65 63 74 69 6e  |ly like.selectin|
00003260  67 20 6d 61 69 6e 20 72  65 63 6f 72 64 20 66 69  |g main record fi|
00003270  65 6c 64 73 20 66 6f 72  20 70 72 69 6e 74 69 6e  |elds for printin|
00003280  67 20 28 73 65 65 20 27  50 72 69 6e 74 69 6e 67  |g (see 'Printing|
00003290  27 29 2e 20 49 74 20 69  73 20 69 6d 6d 61 74 65  |'). It is immate|
000032a0  72 69 61 6c 0a 77 68 69  63 68 20 72 6f 77 20 79  |rial.which row y|
000032b0  6f 75 20 63 6c 69 63 6b  20 6f 6e 3a 20 6f 6e 6c  |ou click on: onl|
000032c0  79 20 74 68 65 20 63 6f  6c 75 6d 6e 20 6d 61 74  |y the column mat|
000032d0  74 65 72 73 20 61 6e 64  20 74 68 65 20 68 69 67  |ters and the hig|
000032e0  68 6c 69 67 68 74 69 6e  67 20 74 6f 20 73 68 6f  |hlighting to sho|
000032f0  77 0a 77 68 69 63 68 20  63 6f 6c 75 6d 6e 73 20  |w.which columns |
00003300  61 72 65 20 73 65 6c 65  63 74 65 64 20 61 6c 77  |are selected alw|
00003310  61 79 73 20 61 70 70 65  61 72 73 20 69 6e 20 74  |ays appears in t|
00003320  68 65 20 66 69 72 73 74  20 72 6f 77 2e 20 54 68  |he first row. Th|
00003330  65 20 63 6f 6c 75 6d 6e  73 0a 73 65 6c 65 63 74  |e columns.select|
00003340  65 64 20 69 6e 20 61 6c  6c 20 74 61 62 6c 65 73  |ed in all tables|
00003350  20 61 72 65 20 73 61 76  65 64 20 61 73 20 70 61  | are saved as pa|
00003360  72 74 20 6f 66 20 61 20  70 72 69 6e 74 20 73 65  |rt of a print se|
00003370  6c 65 63 74 69 6f 6e 20  61 6e 64 20 6d 61 79 0a  |lection and may.|
00003380  74 68 65 72 65 66 6f 72  65 20 62 65 20 72 65 74  |therefore be ret|
00003390  72 69 65 76 65 64 20 66  6f 72 20 66 75 74 75 72  |rieved for futur|
000033a0  65 20 75 73 65 2e 20 41  73 20 77 65 6c 6c 20 61  |e use. As well a|
000033b0  73 20 68 69 67 68 6c 69  67 68 74 69 6e 67 20 74  |s highlighting t|
000033c0  68 65 20 72 65 71 75 69  72 65 64 0a 63 6f 6c 75  |he required.colu|
000033d0  6d 6e 73 20 79 6f 75 20  77 69 6c 6c 20 61 6c 73  |mns you will als|
000033e0  6f 20 6e 65 65 64 20 74  6f 20 73 65 6c 65 63 74  |o need to select|
000033f0  20 74 68 65 20 27 45 78  70 61 6e 64 27 20 73 77  | the 'Expand' sw|
00003400  69 74 63 68 20 61 73 20  64 65 73 63 72 69 62 65  |itch as describe|
00003410  64 20 61 62 6f 76 65 2e  0a 50 72 69 6e 74 65 64  |d above..Printed|
00003420  20 72 65 70 6f 72 74 73  20 77 69 6c 6c 20 74 68  | reports will th|
00003430  65 6e 20 69 6e 63 6c 75  64 65 20 61 6c 6c 20 74  |en include all t|
00003440  68 65 20 64 61 74 61 20  66 72 6f 6d 20 74 68 65  |he data from the|
00003450  20 68 69 67 68 6c 69 67  68 74 65 64 20 63 6f 6c  | highlighted col|
00003460  75 6d 6e 73 2e 0a 0a 0a  0a 20 20 20 20 20 20 20  |umns.....       |
00003470  20 20 20 20 20 20                                 |      |
00003476