home *** CD-ROM | disk | FTP | other *** search
/ Boston 2 / boston-2.iso / DOS / PROGRAM / DATABASE / FILEXPR5 / FE5DOC.EXE / FE5.DOC next >
Encoding:
Text File  |  1991-04-23  |  708.0 KB  |  18,026 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.    
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                File Express
  19.  
  20.                                User's Guide 
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                                     by
  27.                                David Berdan
  28.                                    and
  29.                                Ken McGinnis
  30.  
  31.  
  32.  
  33.  
  34.                                 Version 5
  35.  
  36.  
  37.                        For MS-DOS Operating Systems
  38.  
  39.                          Expressware Corporation
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.        Information in this  document is subject to change without notice
  48.        and does not  represent a commitment by  Expressware Corporation.
  49.        The software described in this  User's Guide is furnished under a
  50.        license agreement  and may be  used or copied only  in accordance
  51.        with the terms of that agreement.
  52.  
  53.  
  54.    
  55.                          Expressware Corporation
  56.                               P.O. Box 1800
  57.                             Duvall, WA  98019
  58.  
  59.  
  60.  
  61.  
  62.  
  63.        (C) Copyright Expressware Corporation, 1991.  All rights reserved
  64.  
  65.        Printed and bound in the United States of America.
  66.  
  67.  
  68.  
  69.  
  70.  
  71.        File Express, ExpressCalc, ExpressCheck, On-Side and ExpressGraph
  72.        are trademarks of Expressware Corporation.
  73.  
  74.        IBM  is a registered trademark of International Business Machines
  75.        Corporation.
  76.  
  77.        Lotus is a registered trademark of Lotus Development Corporation.
  78.  
  79.        dBASE III is a registered trademark of Ashton-Tate Corporation.
  80.  
  81.        WordPerfect is a registered trademark of WordPerfect Corporation.
  82.  
  83.        Part No. FE5-1991 
  84.  
  85.        ISBN 1-878012-05-3
  86.    
  87.  
  88.  
  89.  
  90.    
  91.  
  92.        Phone Numbers
  93.  
  94.        800-753-FILE
  95.             Toll free order line.
  96.             (orders only, no technical support available on this line)
  97.             7:00 a.m. to 5:00 p.m. Pacific Time
  98.             Monday through Friday
  99.  
  100.        206-788-0932
  101.             Technical support number
  102.             7:00 a.m. to 5:00 p.m. Pacific Time
  103.             Monday through Friday
  104.  
  105.        206-788-4493
  106.             Fax line
  107.             24 hours a day
  108.             Available for technical support and orders
  109.  
  110.        206-788-4008
  111.             Bulletin Board System
  112.             24 hours a day
  113.             Seven days a week
  114.             Available   for  technical   support,   tips,  orders,   and
  115.             downloading
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.                                                                        i
  144.  
  145.  
  146.  
  147.    
  148.   Some New Features
  149.  
  150.        *    An  all-new  report  writer  lets  you  define  much  larger
  151.             reports.  Expanded  Title and Header  sections.  New  Footer
  152.             section  has been  added.   Long  fields can  be printed  as
  153.             blocks with automatic word wrap.  Three  subtotal levels are
  154.             now permitted.  
  155.  
  156.        *    Fields  can  now  be easily  lengthened,  shortened,  added,
  157.             deleted and moved without cloning the database. 
  158.  
  159.        *    Multiple indexes (up  to five) are automatically  updated as
  160.             new records are added.
  161.  
  162.        *    Quick  Scan  browse  mode  now  lets  you edit  the  records
  163.             displayed.
  164.  
  165.        *    The Paint Screen option allows up to ten input screens to be
  166.             laid out as desired.
  167.  
  168.        *    36 Macro keys are now available.
  169.  
  170.        *    Keyboard  macros allow  more  keystrokes,  use more  special
  171.             keys, and can pause for input while executing.
  172.  
  173.        *    Printer  support for more than 250 printers, including laser
  174.             printers.
  175.  
  176.        *    Expanded  import and export  sections now include  dBASE and
  177.             Lotus 1-2-3 file support.
  178.  
  179.        *    Expanded  Quick Labels  use  the full  power  of the  Report
  180.             generator.
  181.  
  182.        *    Separate  Setup  program  lets  you  personalize  the  whole
  183.             program.
  184.  
  185.        *    The manual has been expanded. 
  186.  
  187.    
  188.        We hope you enjoy  using the new File Express as much  as we have
  189.        enjoyed creating it.  If there are still more  features you would
  190.        like to see added, please fill out  the User Response Form at the
  191.        back of this manual and send it to us along with your comments. 
  192.  
  193.        Thank you for your continued support. 
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.   ii
  201.  
  202.  
  203.  
  204.  
  205.                                                                 CONTENTS
  206.   ----------------------------------------------------------------------
  207.  
  208.                             Table of Contents
  209.  
  210.  
  211.  
  212.   Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . .    1
  213.        Registration . . . . . . . . . . . . . . . . . . . . . . . .    1
  214.        What Is File Express?  . . . . . . . . . . . . . . . . . . .    1
  215.        Is It Easy To Use?   . . . . . . . . . . . . . . . . . . . .    2
  216.        A New Vocabulary   . . . . . . . . . . . . . . . . . . . . .    2
  217.        Will It Run On My Computer?  . . . . . . . . . . . . . . . .    3
  218.        How Do I Get Started?  . . . . . . . . . . . . . . . . . . .    4
  219.  
  220.   Installing File Express . . . . . . . . . . . . . . . . . . . . .    5
  221.        Computers With Hard Disks  . . . . . . . . . . . . . . . . .    5
  222.        Computers With RAM Disks . . . . . . . . . . . . . . . . . .    6
  223.        Computers With Color Monitors  . . . . . . . . . . . . . . .    6
  224.        Computers On Local Area Networks   . . . . . . . . . . . . .    6
  225.  
  226.   Starting File Express . . . . . . . . . . . . . . . . . . . . . .    8
  227.        From a Hard Drive  . . . . . . . . . . . . . . . . . . . . .    8
  228.        From a Diskette Drive  . . . . . . . . . . . . . . . . . . .    8
  229.        Command Line Options   . . . . . . . . . . . . . . . . . . .   11
  230.  
  231.   Backing Up Your Data  . . . . . . . . . . . . . . . . . . . . . .   14
  232.        Data Is Vulnerable   . . . . . . . . . . . . . . . . . . . .   14
  233.        How Much Is Your Data Worth?   . . . . . . . . . . . . . . .   15
  234.        Daily Backups  . . . . . . . . . . . . . . . . . . . . . . .   15
  235.        Offsite Backups  . . . . . . . . . . . . . . . . . . . . . .   15
  236.        Backing Up A Diskette  . . . . . . . . . . . . . . . . . . .   16
  237.        Backing Up Databases On A Hard Disk  . . . . . . . . . . . .   17
  238.        Backing Up A Complete Hard Disk  . . . . . . . . . . . . . .   18
  239.        Tape Backup  . . . . . . . . . . . . . . . . . . . . . . . .   19
  240.  
  241.   Keyboard Conventions  . . . . . . . . . . . . . . . . . . . . . .   20
  242.        The <Esc> Key  . . . . . . . . . . . . . . . . . . . . . . .   20
  243.        Single Keystroke Input   . . . . . . . . . . . . . . . . . .   20
  244.        Input Fields Of Two Or More Characters   . . . . . . . . . .   21
  245.        Using a Mouse  . . . . . . . . . . . . . . . . . . . . . . .   22
  246.        Context-Sensitive Help System  . . . . . . . . . . . . . . .   24
  247.        Information Window . . . . . . . . . . . . . . . . . . . . .   25
  248.        Pop up Calculator  . . . . . . . . . . . . . . . . . . . . .   26
  249.  
  250.   A File Express Tutorial . . . . . . . . . . . . . . . . . . . . .   27
  251.        Instructions . . . . . . . . . . . . . . . . . . . . . . . .   27
  252.        Section One: A Brief Tour of File Express  . . . . . . . . .   29
  253.             Lesson One: Opening A Database  . . . . . . . . . . . .   29
  254.             Lesson Two: Finding A Record  . . . . . . . . . . . . .   34
  255.             Lesson Three: Print a Report  . . . . . . . . . . . . .   37
  256.  
  257.  
  258.                                                                      iii
  259.  
  260.  
  261.  
  262.  
  263.   CONTENTS
  264.   ----------------------------------------------------------------------
  265.  
  266.        Section Two: Defining a New Database . . . . . . . . . . . .   39
  267.             Lesson One: Defining a New Database . . . . . . . . . .   39
  268.             Lesson Two: Adding New Records  . . . . . . . . . . . .   46
  269.             Lesson Three: Painted Screens . . . . . . . . . . . . .   51
  270.             Lesson Four: Create an Index  . . . . . . . . . . . . .   61
  271.             Lesson Five: Quick Scan . . . . . . . . . . . . . . . .   65
  272.             Lesson Six: Create a Report . . . . . . . . . . . . . .   67
  273.  
  274.   Opening a Database  . . . . . . . . . . . . . . . . . . . . . . .   76
  275.  
  276.   Defining A New Database . . . . . . . . . . . . . . . . . . . . .   79
  277.        Database Definition Screen . . . . . . . . . . . . . . . . .   79
  278.        Field Name   . . . . . . . . . . . . . . . . . . . . . . . .   79
  279.        Field Type   . . . . . . . . . . . . . . . . . . . . . . . .   81
  280.        When Is A Number Not Numeric?  . . . . . . . . . . . . . . .   82
  281.        Field Length   . . . . . . . . . . . . . . . . . . . . . . .   83
  282.        Field Format   . . . . . . . . . . . . . . . . . . . . . . .   84
  283.        Is The Sequence Of The Fields Significant?   . . . . . . . .   85
  284.        Changing And Saving The Definition   . . . . . . . . . . . .   85
  285.        Changing Database Specifications   . . . . . . . . . . . . .   87
  286.  
  287.   Adding New Records  . . . . . . . . . . . . . . . . . . . . . . .   90
  288.        Filling In The Blanks  . . . . . . . . . . . . . . . . . . .   90
  289.        Formulas Are Display-Only  . . . . . . . . . . . . . . . . .   91
  290.        New Records Go On The End  . . . . . . . . . . . . . . . . .   91
  291.        Record Numbers Are Not Data  . . . . . . . . . . . . . . . .   91
  292.        Multiple Pages (Screens)   . . . . . . . . . . . . . . . . .   92
  293.        Selecting Alternate Input Screen . . . . . . . . . . . . . .   92
  294.        The Flip-Field-Contents Mark   . . . . . . . . . . . . . . .   92
  295.        The Repeat Key . . . . . . . . . . . . . . . . . . . . . . .   93
  296.        Quick Labels   . . . . . . . . . . . . . . . . . . . . . . .   93
  297.  
  298.   Finding and Changing Records  . . . . . . . . . . . . . . . . . .   95
  299.        Finding A Record   . . . . . . . . . . . . . . . . . . . . .   96
  300.        Viewing The Record   . . . . . . . . . . . . . . . . . . . .   96
  301.        Changing Display Order . . . . . . . . . . . . . . . . . . .   98
  302.        Natural Language   . . . . . . . . . . . . . . . . . . . . .   98
  303.        General Rules Of Syntax  . . . . . . . . . . . . . . . . . .   98
  304.  
  305.   Quick Scan Mode   . . . . . . . . . . . . . . . . . . . . . . . .  100
  306.        Editing Records in Quick Scan Mode . . . . . . . . . . . . .  102
  307.  
  308.   Search And Replace  . . . . . . . . . . . . . . . . . . . . . . .  104
  309.        Formulas In Search And Replace   . . . . . . . . . . . . . .  106
  310.  
  311.   Search And Delete   . . . . . . . . . . . . . . . . . . . . . . .  108
  312.  
  313.   Search And Tag  . . . . . . . . . . . . . . . . . . . . . . . . .  108
  314.  
  315.  
  316.  
  317.   iv
  318.  
  319.  
  320.  
  321.  
  322.                                                                 CONTENTS
  323.   ----------------------------------------------------------------------
  324.  
  325.   Finding Duplicates  . . . . . . . . . . . . . . . . . . . . . . .  109
  326.        Duplicates In One Database   . . . . . . . . . . . . . . . .  111
  327.        Duplicates In Two Databases  . . . . . . . . . . . . . . . .  115
  328.  
  329.   Sorting Records   . . . . . . . . . . . . . . . . . . . . . . . .  119
  330.        What Is An Index?  . . . . . . . . . . . . . . . . . . . . .  120
  331.        Defining or Changing an Index  . . . . . . . . . . . . . . .  121
  332.        Record Number Index  . . . . . . . . . . . . . . . . . . . .  122
  333.        Deleted Record Index . . . . . . . . . . . . . . . . . . . .  122
  334.        Defining A New Index . . . . . . . . . . . . . . . . . . . .  123
  335.        Editing An Existing Index Definition . . . . . . . . . . . .  125
  336.        Saving The Index Definition  . . . . . . . . . . . . . . . .  125
  337.        Sort Precedence  . . . . . . . . . . . . . . . . . . . . . .  126
  338.        Sorting Dates  . . . . . . . . . . . . . . . . . . . . . . .  127
  339.        Sorting By Record Number . . . . . . . . . . . . . . . . . .  128
  340.        How Long Does It Take? . . . . . . . . . . . . . . . . . . .  128
  341.        Speeding Up Sorts  . . . . . . . . . . . . . . . . . . . . .  128
  342.  
  343.   Printing Reports  . . . . . . . . . . . . . . . . . . . . . . . .  131
  344.        Designing a Report or Form Letter  . . . . . . . . . . . . .  131
  345.        Starting a New Report  . . . . . . . . . . . . . . . . . . .  134
  346.        Moving Around the Layout Screen  . . . . . . . . . . . . . .  135
  347.        Report Layout Sections . . . . . . . . . . . . . . . . . . .  138
  348.             Title . . . . . . . . . . . . . . . . . . . . . . . . .  138
  349.             Centering Titles  . . . . . . . . . . . . . . . . . . .  138
  350.             Headings  . . . . . . . . . . . . . . . . . . . . . . .  139
  351.             Detail Area . . . . . . . . . . . . . . . . . . . . . .  140
  352.             Subtotals . . . . . . . . . . . . . . . . . . . . . . .  141
  353.             Total . . . . . . . . . . . . . . . . . . . . . . . . .  144
  354.             Footer  . . . . . . . . . . . . . . . . . . . . . . . .  144
  355.        Adding Text to the Layout  . . . . . . . . . . . . . . . . .  145
  356.             Inserting Text  . . . . . . . . . . . . . . . . . . . .  145
  357.             Deleting Text . . . . . . . . . . . . . . . . . . . . .  145
  358.             Special Characters  . . . . . . . . . . . . . . . . . .  145
  359.             Control Characters  . . . . . . . . . . . . . . . . . .  145
  360.        Placing Fields on the Screen . . . . . . . . . . . . . . . .  146
  361.             Regular Fields  . . . . . . . . . . . . . . . . . . . .  146
  362.             Name & Field  . . . . . . . . . . . . . . . . . . . . .  147
  363.             Window Field  . . . . . . . . . . . . . . . . . . . . .  147
  364.        Quick Functions  . . . . . . . . . . . . . . . . . . . . . .  161
  365.        Using Formulas In Reports  . . . . . . . . . . . . . . . . .  163
  366.             Formula Name  . . . . . . . . . . . . . . . . . . . . .  163
  367.             Formula Length and Decimals . . . . . . . . . . . . . .  164
  368.        Changing Fields  . . . . . . . . . . . . . . . . . . . . . .  166
  369.             Removing a Field  . . . . . . . . . . . . . . . . . . .  166
  370.             Changing the Printed Field Length . . . . . . . . . . .  166
  371.             Field Order . . . . . . . . . . . . . . . . . . . . . .  166
  372.        Drawing Lines  . . . . . . . . . . . . . . . . . . . . . . .  167
  373.        Changing the Box Style . . . . . . . . . . . . . . . . . . .  167
  374.  
  375.  
  376.                                                                        v
  377.  
  378.  
  379.  
  380.  
  381.   CONTENTS
  382.   ----------------------------------------------------------------------
  383.  
  384.        Optional Specifications Screen   . . . . . . . . . . . . . .  169
  385.        Report Output Option . . . . . . . . . . . . . . . . . . . .  172
  386.        Printer Options  . . . . . . . . . . . . . . . . . . . . . .  174
  387.  
  388.  
  389.   Index Selection . . . . . . . . . . . . . . . . . . . . . . . . .  178
  390.        Saving A Report Format   . . . . . . . . . . . . . . . . . .  178
  391.        Printing the Report  . . . . . . . . . . . . . . . . . . . .  178
  392.        Wide Reports . . . . . . . . . . . . . . . . . . . . . . . .  179
  393.  
  394.   Letter Writer . . . . . . . . . . . . . . . . . . . . . . . . . .  180
  395.        Starting a New Letter  . . . . . . . . . . . . . . . . . . .  180
  396.        Moving Around the Letter Writer  . . . . . . . . . . . . . .  182
  397.        Letter Output Option . . . . . . . . . . . . . . . . . . . .  184
  398.        Printer Options  . . . . . . . . . . . . . . . . . . . . . .  186
  399.  
  400.  
  401.   Index Selection . . . . . . . . . . . . . . . . . . . . . . . . .  189
  402.        Saving A Letter Format   . . . . . . . . . . . . . . . . . .  189
  403.        Printing the Letter  . . . . . . . . . . . . . . . . . . . .  189
  404.  
  405.   Printing Labels   . . . . . . . . . . . . . . . . . . . . . . . .  191
  406.        The Label Menu   . . . . . . . . . . . . . . . . . . . . . .  191
  407.        Designing A New Label  . . . . . . . . . . . . . . . . . . .  192
  408.        Test Printer Setup . . . . . . . . . . . . . . . . . . . . .  198
  409.        The Label Layout Screen  . . . . . . . . . . . . . . . . . .  199
  410.        The Paging Option  . . . . . . . . . . . . . . . . . . . . .  200
  411.        Label Output Options   . . . . . . . . . . . . . . . . . . .  202
  412.        Printer Options  . . . . . . . . . . . . . . . . . . . . . .  205
  413.        Labels For Other Applications  . . . . . . . . . . . . . . .  208
  414.        Quick Labels . . . . . . . . . . . . . . . . . . . . . . . .  208
  415.        Defining a Quick Label   . . . . . . . . . . . . . . . . . .  208
  416.  
  417.   Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . .  209
  418.        The Maintenance Menu . . . . . . . . . . . . . . . . . . . .  209
  419.  
  420.   Painting Custom Input Screens . . . . . . . . . . . . . . . . . .  214
  421.        Editing an Existing View Screen  . . . . . . . . . . . . . .  215
  422.        Deleting a View  . . . . . . . . . . . . . . . . . . . . . .  215
  423.        Renaming a View  . . . . . . . . . . . . . . . . . . . . . .  215
  424.        Defining a New View Screen . . . . . . . . . . . . . . . . .  215
  425.        Set the Default View . . . . . . . . . . . . . . . . . . . .  215
  426.        Painting a View Screen . . . . . . . . . . . . . . . . . . .  216
  427.        Moving Around the View Screen  . . . . . . . . . . . . . . .  216
  428.        Adding Text to the Input Screen  . . . . . . . . . . . . . .  218
  429.        Placing Fields on the Screen . . . . . . . . . . . . . . . .  219
  430.        Regular Input Fields . . . . . . . . . . . . . . . . . . . .  219
  431.  
  432.   Changing Fields . . . . . . . . . . . . . . . . . . . . . . . . .  222
  433.  
  434.  
  435.   vi
  436.  
  437.  
  438.  
  439.  
  440.                                                                 CONTENTS
  441.   ----------------------------------------------------------------------
  442.  
  443.        Changing Field Attributes  . . . . . . . . . . . . . . . . .  222
  444.        Removing a Field . . . . . . . . . . . . . . . . . . . . . .  222
  445.        Changing the Field Display Length  . . . . . . . . . . . . .  222
  446.        Input Order  . . . . . . . . . . . . . . . . . . . . . . . .  223
  447.        Changing Field Input Order . . . . . . . . . . . . . . . . .  223
  448.        Testing Input Order  . . . . . . . . . . . . . . . . . . . .  223
  449.        Painting Color on the Screen . . . . . . . . . . . . . . . .  224
  450.             Turning Paint On and Off  . . . . . . . . . . . . . . .  224
  451.             Changing The Current Color  . . . . . . . . . . . . . .  224
  452.        Changing the Box Style . . . . . . . . . . . . . . . . . . .  225
  453.        Saving or Canceling the View Screens . . . . . . . . . . . .  226
  454.  
  455.   Macro Key Setup . . . . . . . . . . . . . . . . . . . . . . . . .  227
  456.        Defining a Macro . . . . . . . . . . . . . . . . . . . . . .  228
  457.        The Keyboard Recorder  . . . . . . . . . . . . . . . . . . .  231
  458.  
  459.   Recalculating The Database  . . . . . . . . . . . . . . . . . . .  233
  460.  
  461.   Untagging All Records . . . . . . . . . . . . . . . . . . . . . .  233
  462.  
  463.   Printing The Database Format  . . . . . . . . . . . . . . . . . .  234
  464.  
  465.   Printer Definition Files  . . . . . . . . . . . . . . . . . . . .  235
  466.        Adding a PDF File  . . . . . . . . . . . . . . . . . . . . .  236
  467.        Editing a PDF File . . . . . . . . . . . . . . . . . . . . .  236
  468.        Default PDF File . . . . . . . . . . . . . . . . . . . . . .  237
  469.  
  470.   Import/Export/Clone   . . . . . . . . . . . . . . . . . . . . . .  238
  471.        Some Common File Formats   . . . . . . . . . . . . . . . . .  240
  472.             Mail Merge (sequential) . . . . . . . . . . . . . . . .  240
  473.             WordPerfect Merge Files . . . . . . . . . . . . . . . .  241
  474.             DIF Files . . . . . . . . . . . . . . . . . . . . . . .  241
  475.             Fixed Length Files  . . . . . . . . . . . . . . . . . .  242
  476.             SDF or Text Files   . . . . . . . . . . . . . . . . . .  242
  477.             Lotus 123 Files . . . . . . . . . . . . . . . . . . . .  242
  478.             dBASE Files . . . . . . . . . . . . . . . . . . . . . .  243
  479.             File Express Files  . . . . . . . . . . . . . . . . . .  243
  480.  
  481.   Importing Into A Database   . . . . . . . . . . . . . . . . . . .  244
  482.  
  483.   Exporting From A Database . . . . . . . . . . . . . . . . . . . .  247
  484.  
  485.   Cloning A Database  . . . . . . . . . . . . . . . . . . . . . . .  251
  486.  
  487.   Quit - Exit to DOS  . . . . . . . . . . . . . . . . . . . . . . .  254
  488.  
  489.   Formulas  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  255
  490.        Some Definitions . . . . . . . . . . . . . . . . . . . . . .  256
  491.        Function:  . . . . . . . . . . . . . . . . . . . . . . . . .  256
  492.  
  493.  
  494.                                                                      vii
  495.  
  496.  
  497.  
  498.  
  499.   CONTENTS
  500.   ----------------------------------------------------------------------
  501.  
  502.        Statement: . . . . . . . . . . . . . . . . . . . . . . . . .  257
  503.        Comparitor:  . . . . . . . . . . . . . . . . . . . . . . . .  259
  504.        Operators: . . . . . . . . . . . . . . . . . . . . . . . . .  259
  505.        Logical Operators: . . . . . . . . . . . . . . . . . . . . .  259
  506.  
  507.   Advanced Features . . . . . . . . . . . . . . . . . . . . . . . .  353
  508.        Screen Dumps To Disk   . . . . . . . . . . . . . . . . . . .  353
  509.        Custom Banner Screens  . . . . . . . . . . . . . . . . . . .  354
  510.  
  511.   Customizing File Express  . . . . . . . . . . . . . . . . . . . .  356
  512.        Starting the Setup Program . . . . . . . . . . . . . . . . .  356
  513.             Floppy System:  . . . . . . . . . . . . . . . . . . . .  356
  514.             Hard Disk System: . . . . . . . . . . . . . . . . . . .  356
  515.             Using Setup:  . . . . . . . . . . . . . . . . . . . . .  357
  516.        General Defaults . . . . . . . . . . . . . . . . . . . . . .  357
  517.             Sound Option: . . . . . . . . . . . . . . . . . . . . .  357
  518.             Screen Display: . . . . . . . . . . . . . . . . . . . .  357
  519.             Snow: . . . . . . . . . . . . . . . . . . . . . . . . .  357
  520.             Menu Lines: . . . . . . . . . . . . . . . . . . . . . .  357
  521.             Auto Enter Option:  . . . . . . . . . . . . . . . . . .  357
  522.             Space Character:  . . . . . . . . . . . . . . . . . . .  358
  523.             Default Date Format . . . . . . . . . . . . . . . . . .  358
  524.             Default Monetary Sign . . . . . . . . . . . . . . . . .  358
  525.        Color Defaults . . . . . . . . . . . . . . . . . . . . . . .  359
  526.             Color or Mono:  . . . . . . . . . . . . . . . . . . . .  359
  527.             Screen Colors:  . . . . . . . . . . . . . . . . . . . .  359
  528.        Data Entry Defaults  . . . . . . . . . . . . . . . . . . . .  360
  529.             Drive and Path name:  . . . . . . . . . . . . . . . . .  360
  530.             Database File Name: . . . . . . . . . . . . . . . . . .  360
  531.             Clear Buffer Option:  . . . . . . . . . . . . . . . . .  360
  532.             Disk Space: . . . . . . . . . . . . . . . . . . . . . .  361
  533.        Label Printing Defaults  . . . . . . . . . . . . . . . . . .  361
  534.  
  535.   Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . .  363
  536.  
  537.   Reporting Problems To Expressware . . . . . . . . . . . . . . . .  371
  538.  
  539.   Disclaimer  . . . . . . . . . . . . . . . . . . . . . . . . . . .  372
  540.  
  541.   Appendix A: Glossary of Terms . . . . . . . . . . . . . . . . . .  373
  542.  
  543.   Appendix B: ASCII Chart . . . . . . . . . . . . . . . . . . . . .  377
  544.  
  545.   Appendix C: Keywords  . . . . . . . . . . . . . . . . . . . . . .  379
  546.  
  547.   Appendix D: File Formats  . . . . . . . . . . . . . . . . . . . .  383
  548.  
  549.   Appendix E: Date Formats  . . . . . . . . . . . . . . . . . . . .  385
  550.  
  551.  
  552.  
  553.   viii
  554.  
  555.  
  556.  
  557.  
  558.                                                                 CONTENTS
  559.   ----------------------------------------------------------------------
  560.  
  561.   Appendix F: Sounds Like Routine (Soundex) . . . . . . . . . . . .  387
  562.  
  563.   Appendix G: Printer Definition Files  . . . . . . . . . . . . . .  389
  564.  
  565.    
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.                                                                       ix
  613.  
  614.  
  615.  
  616.  
  617.                                                          INTRODUCTION  1
  618.   ----------------------------------------------------------------------
  619.  
  620.  
  621.  
  622.                                Introduction
  623.  
  624.        This  section introduces  you to  File  Express and  some of  its
  625.        features.  If  you are new to  File Express, you should  take the
  626.        time to read through this section before running the program.  If
  627.        you are  already familiar  with File Express,  you might  want to
  628.        skim through this section to see  what new features version 5 has
  629.        to offer.
  630.  
  631.   Registration
  632.        Before you continue, please take the time to fill out and mail in
  633.        the registration card  that came with your  File Express package.
  634.        This  ensures you  are kept  up to  date on  future releases  and
  635.        information concerning File  Express.  It also entitles  you to a
  636.        subscription  to  ExpressNews, Expressware's  newsletters  giving
  637.        valuable tips  and tricks  for using File  Express and  our other
  638.        products.
  639.  
  640.   What Is File Express? 
  641.        File Express is a database management program written for the IBM
  642.        Personal  Computer  and  PC-compatible  computers.    Using  File
  643.        Express, information of virtually  any kind can  be put into  the
  644.        computer,  printed, sorted, displayed and reported.  For example,
  645.        a list of  names and addresses can  be entered, then they  can be
  646.        sorted into zip code sequence or last name sequence, printed  out
  647.        onto mailing  labels, and updated as the  list changes.  The same
  648.        data  can be  included in  reports,  or simply  displayed on  the
  649.        computer screen when needed.  Customized form letters can also be
  650.        written in File  Express by merging names from  the database file
  651.        with a letter.
  652.  
  653.        File Express is very popular among first-time database users  and
  654.        non-technical users, so we have  tried to aim the manual  to this
  655.        level  of  reader.   But  as  File  Express has  continued  to be
  656.        improved  over  the last  six  years,  it  has also  become  very
  657.        powerful.  Some of  its early first-time  users have advanced  to
  658.        true "power users" and we need to address their needs  too, while
  659.        maintaining the simplicity of the manual and the software.   Some
  660.        of the more technical explanations  have been confined to special
  661.        sections in the  back of the manual.   There is a  section called
  662.        Advanced Features which discusses many of File Express's features
  663.        which might interest only technically oriented users.  Throughout
  664.        this   manual  you  will   occasionally  see  paragraphs  labeled
  665.        Technical Note.  If you are not  a technical user, you can simply
  666.        ignore these sections.   If you read a  Technical Note and  don't
  667.        understand it, don't be concerned.  You don't need to  understand
  668.        it in order to use File Express. 
  669.  
  670.  
  671.  
  672.  
  673.  
  674.   2  INTRODUCTION
  675.   ----------------------------------------------------------------------
  676.  
  677.   Is It Easy To Use? 
  678.        File Express is very easy  to use because it makes  extensive use
  679.        of "menus" and "prompts".   These are  computer terms which  mean
  680.        the program asks  questions and the user simply answers  them.  A
  681.        "prompt" is a question which usually has only one or two answers,
  682.        such as "Do  you want to save  this report on your disk?  (Yes or
  683.        No)" or "How  many labels will be  printed?".  A prompt  can also
  684.        instruct rather  than ask  a question:  "Press  <Enter> when  the
  685.        printer is ready". 
  686.  
  687.        A "menu" is  similar to a prompt, only bigger.  When File Express
  688.        asks a question which can be answered in several different  ways,
  689.        it lists  all the possible responses, and lets the user enter one
  690.        of them.  For example, here is a simple menu: 
  691.  
  692.                            Export Menu
  693.  
  694.                       1 - Mail merge file
  695.                       2 - WordPerfect merge file
  696.                       3 - DIF file
  697.                       4 - Fixed length file
  698.                       5 - Text editor (SDF)
  699.                       6 - Lotus 123 file
  700.                       7 - dBase file
  701.  
  702.        When a menu like this is  displayed by File Express, pressing any
  703.        one of the  keys shown (in this  example, 1 through 7)  tells the
  704.        program what you  want to do.   Programs using menus  and prompts
  705.        are called "conversational" programs, because you and the program
  706.        actually carry on a conversation, where you tell the program what
  707.        you want  to do, and it  asks you precisely how.   Conversational
  708.        programs  are much  easier  to use  than  programs which  require
  709.        complex commands  (called "command-driven" programs).   It's this
  710.        conversational  approach  which  makes File  Express  one  of the
  711.        easiest database programs available. 
  712.  
  713.   A New Vocabulary 
  714.        Computers have brought  us many great improvements in  the way we
  715.        work.  But  along with the benefits  came the need for  new words
  716.        and   terms  to  describe   things  that  formerly   didn't  need
  717.        describing.  As  a PC user, you have no doubt already encountered
  718.        some  of the new words.   For example, by now  you know that when
  719.        someone  says  to  "boot"  your  computer,  they  don't  mean  to
  720.        drop-kick it across the  room (though there  may have been  times
  721.        you wanted to). 
  722.  
  723.        Let's review  some of the  words used in  this manual and  in the
  724.        File Express program that may be new to you.  For  definitions of
  725.        technical terms  there  is also  a  glossary at  the end  of  the
  726.        manual. 
  727.  
  728.  
  729.  
  730.                                                          INTRODUCTION  3
  731.   ----------------------------------------------------------------------
  732.  
  733.        FIELD: A piece of data, from one to 1000 characters in length.  A
  734.        field may  contain letters  (alphabetic field), numbers  (numeric
  735.        field)  or a  combination of  letters  and numbers  (alphanumeric
  736.        field), or it may  have nothing in it at all  (empty field).  For
  737.        example, a simple mailing  list might have  six fields: 1)  first
  738.        name,  2) last name,  3) address, 4)  city, 5) state,  and 6) zip
  739.        code. 
  740.  
  741.        RECORD: Several fields  with something in common,  entered into a
  742.        database.  Groups of records make a  database.  For example, in a
  743.        mailing  list,  each  complete  name  and  address  put into  the
  744.        computer comprises one record. 
  745.  
  746.        DATABASE: A collection of related information which is put in the
  747.        computer so  it  can be  printed,  sorted, updated  and  searched
  748.        easily.   Each database  has an identifying name  of one to eight
  749.        characters, such as CUSTOMER or MAILLIST.  In this manual  we may
  750.        occasionally use the term "file" when referring to a File Express
  751.        database. 
  752.  
  753.  
  754.        The  following  diagram illustrates  the relationship  of fields,
  755.        records and databases. 
  756.  
  757.                            Record 1  Record 2  Record 3 
  758.        Field 1:First Name  Bob       John      Joe    
  759.        Field 2:Last Name   Smith     Jones     Doaks
  760.        Field 3:Address     123 Main  999 Ninth Box 230 
  761.        Field 4:City        Seattle   Bellevue  Redmond 
  762.        Field 5:State       WA        WA        WA
  763.        Field 6:Zip         98119     98007     98073
  764.  
  765.                              Several records
  766.                              make a database
  767.  
  768.   Will It Run On My Computer? 
  769.        If your computer  is 100% compatible with  the IBM PC, XT  or AT,
  770.        then   File  Express   will   definitely  run   on   it.     Some
  771.        semi-compatibles   may   require    some   special   configuring.
  772.        Generally,  if your computer uses  the PC-DOS or MS-DOS operating
  773.        system, then  File Express  will probably run  on it.   There are
  774.        some minimum hardware requirements: 
  775.                   
  776.             *    PC-DOS or MS-DOS version 2.0 or higher
  777.             *    At least 512K of RAM memory
  778.             *    Two  diskette  drives (one  of  which must  be  720K or
  779.                  larger) or a hard disk with at least 1 megabyte of free
  780.                  space.
  781.  
  782.        Your computer  may have  either a  monochrome or  80-column color
  783.        monitor.  If you  have a color monitor, File  Express formats its
  784.  
  785.  
  786.  
  787.   4  INTRODUCTION
  788.   ----------------------------------------------------------------------
  789.  
  790.        screens in your choice of colors.   A printer is optional, but is
  791.        of course needed if reports or labels are to be printed. 
  792.  
  793.  
  794.  
  795.                                                          INTRODUCTION  5
  796.   ----------------------------------------------------------------------
  797.  
  798.   How Do I Get Started? 
  799.        The first  step is to install  the File Express  software on your
  800.        computer.   Usually this is a simple  process, but there are some
  801.        PC's with unique configurations which require special procedures.
  802.        The  second chapter  of  this manual  is  called Installing  File
  803.        Express and  it takes  you through  the steps  of installing  the
  804.        programs and sample files. 
  805.  
  806.        If you are a newcomer to File Express you will want to review the
  807.        chapter  titled A File  Express Tutorial to  familiarize yourself
  808.        with some of  the program's basic features.   Even if you  are an
  809.        experienced File Express  user, we recommend that you  review the
  810.        Tutorial section.  There  are many new  capabilities in this  new
  811.        version  of the  program  which become  readily  apparent in  the
  812.        tutorial.    Also,  the  sample  database  in   the  tutorial  is
  813.        referenced in examples  throughout this manual, and  the examples
  814.        assume  you  are  familiar with  the  database  discussed  in the
  815.        tutorial. 
  816.  
  817.  
  818.  
  819.   6  INSTALLATION
  820.   ----------------------------------------------------------------------
  821.  
  822.                          Installing File Express
  823.  
  824.        Included in your  package is the File Express  Installation Guide
  825.        with  instructions for installing  the program on  your computer.
  826.        These instructions are  repeated here in case  you have misplaced
  827.        the card.
  828.  
  829.        File Express may be run on a computer with two diskette drives as
  830.        long as one  of them is at  least 720K or  larger, or a  computer
  831.        with a hard disk drive.  Like  most other software programs, File
  832.        Express  runs much faster on a  hard disk; and database files can
  833.        be considerably larger.  If you have an application needing  more
  834.        speed  or requiring  large amounts  of data,  a  hard disk  is an
  835.        excellent investment, costing only a few hundred dollars for most
  836.        PC's. 
  837.  
  838.        These   installation  instructions  assume   you  have   a  basic
  839.        understanding of DOS commands and terms.  If you are not familiar
  840.        with terms such  as subdirectory, path, formatted  diskette, etc.
  841.        you will need to consult your DOS manual for more information. 
  842.  
  843.        The  File  Express  program files  included  on  the distribution
  844.        diskettes are in a  compressed format and  cannot be run  without
  845.        being expanded using the INSTALL program included  on the PROGRAM
  846.        DISK.    Even  if  you  are  running  File  Express  from  floppy
  847.        diskettes,  you  must  use the  INSTALL  program  to  create your
  848.        working diskettes.
  849.  
  850.        To install File Express on either a hard disk or diskettes, place
  851.        the PROGRAM DISK in drive A, type A: <Enter> to make the A: drive
  852.        your default drive, and  then type INSTALL  <Enter> to start  the
  853.        installation process.
  854.  
  855.        The INSTALL program  asks you several  questions about where  you
  856.        want to  put File  Express  and how  you  want to  configure  it.
  857.        INSTALL also looks  at your AUTOEXEC.BAT file to  ensure that the
  858.        PATH  command  contains  a reference  to  your  new File  Express
  859.        directory.   INSTALL will only  change your AUTOEXEC.BAT  file if
  860.        you give it permission to.  Your CONFIG.SYS file is  also checked
  861.        to make sure that at least 20 files can be open at the same time.
  862.        Again, permission is asked before any changes will be made.
  863.  
  864.  
  865.   Computers With Hard Disks 
  866.        When using  File Express  from a hard  disk (fixed  disk), it  is
  867.        possible to put the program modules in one subdirectory and  your
  868.        database files in one  or more other subdirectories.  This is not
  869.        a decision  you need to make now; the  path to the database files
  870.        can be changed anytime File Express is started. 
  871.  
  872.  
  873.  
  874.                                                          INSTALLATION  7
  875.   ----------------------------------------------------------------------
  876.                                  empty
  877.  
  878.  
  879.  
  880.   8  INSTALLATION
  881.   ----------------------------------------------------------------------
  882.  
  883.   Computers With RAM Disks 
  884.        RAM  disks use  computer  memory to  emulate  an additional  disk
  885.        drive.   Usually  the memory  used  is part  of  your  computer's
  886.        available RAM memory.  File Express offers no extra features  for
  887.        RAM  disk users,  but  like many  other  software programs,  File
  888.        Express runs  much faster  when  its data  files are  in the  RAM
  889.        drive. 
  890.  
  891.        An inherent  danger exists  with RAM disks.   If  the electricity
  892.        goes off, all the files in a RAM disk are lost.  For that reason,
  893.        we recommend you use RAM disks sparingly.  If you are using a RAM
  894.        disk  as a  second drive  on  a one-drive  system, copy  the File
  895.        Express programs to  the RAM disk and put  your database diskette
  896.        in  the real  diskette drive.   The  programs load  and  run much
  897.        faster, and updates to your data will be permanently recorded  on
  898.        the diskette. 
  899.  
  900.        Technical Note:  If you  have an application  where you  need the
  901.        added speed of RAM  disk access, and you are willing  to risk the
  902.        potential loss of  data, RAM disks work great  with File Express.
  903.        If data is being  updated, consider making  regular copies of  it
  904.        onto a real disk every hour.
  905.  
  906.   Computers With Color Monitors 
  907.        If  your computer has a color monitor  and a graphics board, File
  908.        Express automatically  displays its  screens in  color.   If  you
  909.        would  like to change  the colors used  by File  Express, see the
  910.        section titled  Customizing  File  Express  for  changing  screen
  911.        colors. 
  912.  
  913.        File Express detects whether your computer has a monochrome board
  914.        or  a  color  graphics  board  and  uses  colors  or  black/white
  915.        accordingly.  But  some computers have a black  and white monitor
  916.        connected  to a  color  board,  which  tricks File  Express  into
  917.        sending  colors to  the black-and-white  screen.  This  can cause
  918.        some characters to appear hazy and unreadable, or in some  cases,
  919.        to not appear on the screen at all. 
  920.  
  921.        If this  condition occurs,  or if  you suspect  it is  occurring,
  922.        press <Esc> then <Enter>  to exit from  File Express, then  start
  923.        the program again  using the /M command line option (more on this
  924.        later).   Or  you can  customize  the various  screen  colors  to
  925.        black-on-white and white-on-black  using the  Setup program  (see
  926.        Customizing File Express).
  927.  
  928.   Computers On Local Area Networks 
  929.        File Express may  be used  on local area  networks.  The  program
  930.        incorporates its own file locking feature and does not depend  on
  931.        the network  software or  the DOS SHARE  program to  provide this
  932.        capability.
  933.  
  934.  
  935.  
  936.                                                          INSTALLATION  9
  937.   ----------------------------------------------------------------------
  938.  
  939.        The first person to  open a particular  database on a network  is
  940.        the only  user  given permission  to  change it.  (Add  and  edit
  941.        records, search and  replace, change indexes, tag  records, etc).
  942.        Subsequent users who  open the same database are  given a warning
  943.        message indicating that the database is locked and they can  only
  944.        view records and print reports and labels.
  945.  
  946.        When the first user closes the database, another person using the
  947.        same database can only get edit capability by reopening the file.
  948.        It is possible  for a  person to  give up the  editing rights  by
  949.        using the /R command line option when starting File Express.  See
  950.        Command Line Options for a complete description.
  951.  
  952.        Technical Note: When File Express locks a database, it creates  a
  953.        READ ONLY file on the data  drive to indicate to subsequent users
  954.        that the database is being used by  someone else.  This file also
  955.        contains the users name, if known.  This file is  normally erased
  956.        when the first user closes the database.  It is possible however,
  957.        that due to a  power failure or system crash for  any reason, all
  958.        future attempts by  any user to edit  the file will be  given the
  959.        warning message indicating  that someone else is using  the file.
  960.        In this case, the lock  file must be erased.  This cannot be done
  961.        from DOS  because the lock  file has been  marked as a  READ ONLY
  962.        file.  There is  a separate program  file called UNLOCK.EXE  that
  963.        must be used to erase the lock file.  To use this program, return
  964.        to DOS and type:
  965.  
  966.                        UNLOCK databasename <Enter>
  967.  
  968.        If you  have to use the UNLOCK program  to clear a database lock,
  969.        there are other side effects that  can result from the same cause
  970.        that left the database locked.   If the power went out while  you
  971.        were  adding  or  editing  records, some  of  those  additions or
  972.        changes may not have been written to disk yet.  If you were doing
  973.        a Search and Replace,  the process may  not have been  completed.
  974.        If you had changed the database format in some way such as adding
  975.        new fields, moving  fields or  changing their  lengths, and  File
  976.        Express was in the  process of rebuilding  the database, a  power
  977.        failure can cause catastrophic, leaving part of the data file  in
  978.        a format different than the remaining portion.  This is why it is
  979.        so important to  have a current backup before making this kind of
  980.        change.
  981.  
  982.        So, if your  computer ever locks up  or the power goes  out, note
  983.        the  process you  were going  through  so you  can determine  the
  984.        possible problems.
  985.  
  986.  
  987.  
  988.   10  STARTING FILE EXPRESS
  989.   ----------------------------------------------------------------------
  990.  
  991.  
  992.                           Starting File Express 
  993.  
  994.   From a Hard Drive
  995.        Users with  hard disks  use the following  commands to  start the
  996.        File Express program.  Be sure to press <Enter> after each one.
  997.  
  998.             C:        Make drive C: the current drive
  999.             CD \FE5   Change directory to the new FE subdirectory
  1000.             FE        Start the File Express program 
  1001.  
  1002.        Actually, File Express  can be run from any  directory as long as
  1003.        the subdirectory  containing the  File Express  program files  is
  1004.        part  of  the current  PATH.   File  Express is  smart  enough to
  1005.        remember where  it was loaded from  and knows where to  look when
  1006.        loading the  overlay  file it  needs  at certain  points  in  the
  1007.        program.
  1008.  
  1009.   From a Diskette Drive
  1010.        You cannot use  the Master Program Diskette to  run File Express.
  1011.        Make a  working copy  of the program  diskette using  the INSTALL
  1012.        program,  and store the original in  a safe place.  Remember, the
  1013.        File Express Supplemental Diskette is not the diskette to use  in
  1014.        drive  B.  Drive  B needs an  empty, or nearly  empty diskette to
  1015.        hold your data files.   There is very little free space available
  1016.        on the Supplemental Diskette.   For more information on  creating
  1017.        and  formatting  your  working diskettes,  see  the  Installation
  1018.        section at the beginning of this chapter. 
  1019.  
  1020.        There is no room on the  Program Diskette for DOS or  COMMAND.COM
  1021.        so you  must use a separate  DOS diskette to boot  your computer.
  1022.        After booting, remove the DOS diskette and insert the FE  Program
  1023.        Diskette into drive A and type: 
  1024.  
  1025.                                 FE <Enter>
  1026.  
  1027.  
  1028.  
  1029.                                                 STARTING FILE EXPRESS 11
  1030.   ----------------------------------------------------------------------
  1031.  
  1032.        The File Express program loads into memory, and after a second or
  1033.        two, this title screen appears: 
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.                  Registered Version has screen picture here
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.        If  your opening  screen  does not  display, or  if  it has  some
  1052.        unreadable characters,  you  probably  have  a  special  hardware
  1053.        configuration that File  Express cannot properly detect.  See the
  1054.        /M command in the  next section, or  refer to the section  titled
  1055.        Troubleshooting near the end of this manual. 
  1056.  
  1057.  
  1058.  
  1059.   12  STARTING FILE EXPRESS
  1060.   ----------------------------------------------------------------------
  1061.  
  1062.        The title screen is displayed until you press a key.  The program
  1063.        loads and  this screen appears asking for the disk drive and path
  1064.        (if any) your data is on: 
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.                  Registered Version has screen picture here
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.        File  Express anticipates your  response to these  questions, and
  1083.        fills in some default values.  If you are  running from diskette,
  1084.        File Express assumes your data is on  drive B.  If not, type  the
  1085.        correct drive letter.  If you are running from a hard  disk, File
  1086.        Express assumes your data is on drive C, in the same directory as
  1087.        the File Express programs.  If not, change the path name. 
  1088.  
  1089.        If the drive letter and subdirectory are correct, just press  the
  1090.        <Enter>  key twice, and the "Open A Database" screen appears.  An
  1091.        illustration of this  screen and further instructions  on running
  1092.        File Express are in the chapter titled A File Express Tutorial. 
  1093.  
  1094.        Technical  Note: File Express does not create new subdirectories.
  1095.        If the specified subdirectory does not exist, an error message is
  1096.        given.   For information on creating subdirectories, see your DOS
  1097.        manual.
  1098.  
  1099.  
  1100.  
  1101.                                                 STARTING FILE EXPRESS 13
  1102.   ----------------------------------------------------------------------
  1103.  
  1104.   Command Line Options 
  1105.        In the  example above we  typed FE on  the command line  to start
  1106.        File Express.   There are other things that  can be typed on that
  1107.        same  line.   For  example,  the drive  letter  and  path can  be
  1108.        included on the command line.  File Express then skips the screen
  1109.        asking for  them.   Here  are  some examples  of  valid  starting
  1110.        commands: 
  1111.  
  1112.        FE B:          Indicates data is on drive B.  Program prompts for
  1113.                       path.
  1114.  
  1115.        FE \MASTER\    Indicates data  is in subdirectory  \MASTER on the
  1116.                       current drive.   (The ending backslash  on MASTER\
  1117.                       indicates a path as opposed to a database name.)
  1118.  
  1119.        FE B:\MASTER\  The data is in subdirectory \MASTER on drive B.
  1120.  
  1121.        FE MAIL        Selects database called MAIL  on current drive and
  1122.                       path.   (Because there is  no trailing  backslash,
  1123.                       MAIL is considered a database name as opposed to a
  1124.                       path name.)
  1125.  
  1126.        FE B:MAIL      Selects the  database called  MAIL in the  current
  1127.                       path on drive B. 
  1128.  
  1129.        FE B:\MASTER\MAIL   Selects  the database  called  MAIL from  the
  1130.                            \MASTER subdirectory on drive B. 
  1131.  
  1132.        If a  database name  is specified  on  the command  line but  the
  1133.        database doesn't exist, File Express assumes you want to create a
  1134.        new database, so  control is passed to the Define  a New Database
  1135.        section. 
  1136.  
  1137.        In addition  to the  drive, path and  database name,  the command
  1138.        line may also contain one or more of the following commands: 
  1139.  
  1140.        /M   Monochrome  (black  and  white)  display:  This  command  is
  1141.             sometimes  necessary when using File Express on a monochrome
  1142.             graphics  monitor with a  color graphics board.   Users with
  1143.             color graphics monitors can also use the command to make the
  1144.             screens appear in black and white. 
  1145.  
  1146.        /S   Turn off the sound: File Express makes a distinctive  "beep"
  1147.             when it accepts  a data field from the keyboard.  It makes a
  1148.             slightly  different  sound  when  an  invalid  character  is
  1149.             entered.  Some  computers have louder speakers  than others,
  1150.             and the sound  may be  annoying to you  or to others  around
  1151.             you.  Use the /S command to turn it off.  Sound can also  be
  1152.             turned off  by  pressing  <Alt-S> while  at  the  Main  Menu
  1153.             screen. 
  1154.  
  1155.  
  1156.  
  1157.   14  STARTING FILE EXPRESS
  1158.   ----------------------------------------------------------------------
  1159.  
  1160.        /B   Use BIOS calls  for screen display:   Some computers'  video
  1161.             memory is  not fully compatible with the IBM PC.  To display
  1162.             data  on the  screen as  quickly  as possible,  File Express
  1163.             places data directly  into video RAM.  Some  early models of
  1164.             MS-DOS  computers  did not  map  video  memory at  the  same
  1165.             address  as the IBM  PC.  On  computers with video  RAM at a
  1166.             different  address, nothing  is displayed; i.e.,  the screen
  1167.             stays blank.   If you specify /B  on the command  line, File
  1168.             Express  uses calls  to the  ROM BIOS  for screen  displays.
  1169.             This makes screen displays  slower, but assures the  data is
  1170.             displaying on the screen. 
  1171.  
  1172.        /F   Fast startup: This  command tells File  Express to skip  the
  1173.             banner screen during startup. 
  1174.  
  1175.        /I   Ignore mouse: This command tells File Express to ignore  any
  1176.             mouse connected to your computer.
  1177.  
  1178.        /K   Keyin:  This command  feeds a string  of characters to  File
  1179.             Express when it  starts up.  The /K  is immediately followed
  1180.             by  the keystrokes to  be executed when  the program starts.
  1181.             For example, the command:
  1182.  
  1183.                       FE MASTER /KRC
  1184.  
  1185.             starts  File Express,  opens the  MASTER  database and  then
  1186.             continues as if you typed RC, taking you  to the Report Menu
  1187.             and selecting the  Choose an  existing Report  option.   The
  1188.             keystrokes  File   Express  accepts  are   quite  extensive,
  1189.             covering every key on the keyboard and all combinations with
  1190.             <Alt>  and <Ctrl>.   The  syntax is  the same  as the  macro
  1191.             language.  For  a complete description, please  refer to the
  1192.             Defining a Macro section of the manual.
  1193.  
  1194.        /N   Network users name:  The first person to log onto a database
  1195.             usually is given edit capabilities.  Other users are given a
  1196.             warning message as they open the  file that it is locked and
  1197.             they cannot edit any records.  If the  first person uses the
  1198.             /Nname  command when  opening a  database  from the  command
  1199.             line, the warning  message given to other users will include
  1200.             the  persons  name.    The /N  option  must  be  immediately
  1201.             followed by the user name.  For example, the command:
  1202.  
  1203.                             FE PAYROLL /NDAVE
  1204.  
  1205.             by  the first  person opening  the  PAYROLL database,  gives
  1206.             later users the message, "Warning, file is locked  by DAVE".
  1207.             If no  /N  user  name  is  given,  the  message  will  read,
  1208.             "Warning, file is locked by unknown user".
  1209.  
  1210.  
  1211.  
  1212.                                                 STARTING FILE EXPRESS 15
  1213.   ----------------------------------------------------------------------
  1214.  
  1215.        /R   Read only:  When using File Express on a local area network,
  1216.             only one user at a  time is allowed to have  edit capability
  1217.             on a particular  database file.  this is  normally the first
  1218.             user to open the file.  If the first person wants to give up
  1219.             the edit capability, use the /R command.
  1220.  
  1221.  
  1222.  
  1223.          /2 to /8     Menu  selection:  Indicates  to  File  Express  to
  1224.                       select the  specified  menu number  from the  Main
  1225.                       Menu, as if it had been typed in.   Instead of the
  1226.                       Main  Menu   appearing,  the   specified  sub-menu
  1227.                       appears  on  the  screen.   For  example,  if File
  1228.                       Express is started using this command line: 
  1229.  
  1230.                  FE C:\MASTER\MAIL /3 
  1231.  
  1232.             the program  opens the database  called MAIL in  the \MASTER
  1233.             subdirectory  on  drive  C.    The   banner  screen  is  not
  1234.             displayed, the  drive/path prompt  screen is  not displayed,
  1235.             and the Main Menu screen is not displayed.  The first screen
  1236.             the  operator sees  after entering  this  command is  screen
  1237.             number 3, the Find/Edit Records screen. 
  1238.  
  1239.             These slash command switches must follow the drive, path and
  1240.             database  if they  are  specified.   Use  the forward  slash
  1241.             character "/".   The backslash character "\"  does not work.
  1242.             There should be no spaces following the slash, but there may
  1243.             be  one or more spaces preceding it.  For example, these are
  1244.             acceptable commands: 
  1245.  
  1246.                  FE /M/S                  Acceptable 
  1247.  
  1248.                  FE /S                    Acceptable 
  1249.  
  1250.                  FE C:MAIL/M/S            Acceptable 
  1251.  
  1252.                  FE C:MAIL /M/S/R         Acceptable 
  1253.  
  1254.                  FE /M  /S  /B /NJill     Acceptable 
  1255.  
  1256.             These commands are unacceptable: 
  1257.  
  1258.                  FE  /  M  Unacceptable.  No space allowed between / and
  1259.                            M. 
  1260.  
  1261.                  FEC:MAIL  Unacceptable.   DOS  thinks  program name  is
  1262.                            FEC.  There must be a space after FE. 
  1263.  
  1264.             File Express can  be configured to automatically  use one or
  1265.             more  of these  command  line  options  plus  several  other
  1266.  
  1267.  
  1268.  
  1269.   16  STARTING FILE EXPRESS
  1270.   ----------------------------------------------------------------------
  1271.  
  1272.             options by using the Setup program to create a configuration
  1273.             file.  For more information on customizing File  Express see
  1274.             the chapter titled Customizing File Express. 
  1275.  
  1276.    
  1277.                           Backing Up Your Data 
  1278.  
  1279.        Making regular backup copies  of disk data is essential,  whether
  1280.        using File Express or any other  program.  Yet the backup process
  1281.        is often taken  for granted or ignored in  many software manuals.
  1282.        Backups are so  fundamental we are including this  section at the
  1283.        front of the manual, where new users will be sure to see it. 
  1284.  
  1285.   Data Is Vulnerable 
  1286.        Consider for  a moment all the ways computer  data can be lost or
  1287.        destroyed.  Here are some of them: 
  1288.  
  1289.             Human Error:  This is  the number  one cause  of data  loss.
  1290.             Deleting  the  wrong  record;  erasing  the  wrong database;
  1291.             turning off the  computer without exiting from  the program;
  1292.             using the  wrong command;  these fall under  the heading  of
  1293.             human error.  
  1294.  
  1295.             Media  Wear: Diskettes  wear out.    Database programs  help
  1296.             them wear out faster because they access the disk much  more
  1297.             than word processors, spreadsheets and other software.  This
  1298.             is not a criticism of database programs; it is expected of a
  1299.             database  program to  access  large  amounts  of  disk  data
  1300.             quickly without having to load it all into memory. 
  1301.         
  1302.             Damaged  or  Misplaced  Media:  Diskettes  get  bent,  heavy
  1303.             objects get laid on them, coffee gets spilled on them,  they
  1304.             are  handled  roughly,  and eventually,  they  get  even, by
  1305.             failing.   Occasionally diskettes get lost,  misplaced, even
  1306.             inadvertently thrown away. 
  1307.  
  1308.             Equipment  Failure:  Hard  disks and  diskette  drives fail,
  1309.             sometimes intermittently, sometimes permanently.  When  they
  1310.             go down, they often take their data with them. 
  1311.     
  1312.             Acts of God:  Most of us are  insured against losses  due to
  1313.             fire,  flood,  tornado,  etc.   Insurance  companies  pay to
  1314.             replace computers, lost software, sometimes even the cost of
  1315.             re-entering all the data  into a database.   But they  don't
  1316.             pay for  the time  and revenue  lost while  the database  is
  1317.             being rebuilt.  And  when the data  is destroyed, often  the
  1318.             paperwork  from   which  the  information   was  entered  is
  1319.             destroyed too. 
  1320.  
  1321.             Program Error: Program bugs can  damage or destroy data too.
  1322.             While File Express has been  extensively tested and is  used
  1323.  
  1324.  
  1325.  
  1326.                                                              BACKUPS  17
  1327.   ----------------------------------------------------------------------
  1328.  
  1329.             on hundreds of thousands  of computers, there is  always the
  1330.             possibility  of  an  unforeseen  problem  somewhere  within.
  1331.             Other programs can fail and cause loss of data too: DOS is a
  1332.             program, and not an infallible one. 
  1333.         
  1334.             Theft: A  manufacturer of  anti-theft devices  for computers
  1335.             ranks theft  as the  number two cause  of data  loss, second
  1336.             only to human  error.  We don't know if that's accurate, but
  1337.             when a burglar gets  your computer, he  also gets your  hard
  1338.             disk and your data.  You can get a new computer within a few
  1339.             hours, but  without backups it  could take weeks  to rebuild
  1340.             your databases. 
  1341.  
  1342.             Mystical factors,  sun spots, UFO's,  the dog ate  it, etc.:
  1343.             These are the times when we  don't know exactly why, but the
  1344.             file just disappeared from the disk.  It's usually caused by
  1345.             one or more of  the reasons listed  earlier, but who  really
  1346.             knows for sure? 
  1347.  
  1348.   How Much Is Your Data Worth? 
  1349.        As we use computers more and more in our work and personal lives,
  1350.        we  come  to rely  more and  more  on them.   At  Expressware our
  1351.        databases have expanded over time to the extent that most of  the
  1352.        data does  not even  exist anywhere else.   So  we make  it exist
  1353.        somewhere else, by making backup copies of it. 
  1354.  
  1355.        Even if the written  data existed to  rebuild our databases  from
  1356.        scratch, it  would take a person typing  50 words per minute over
  1357.        four months just to key it all back into the computer.  And since
  1358.        the data doesn't exist anywhere else, the value of our backups is
  1359.        substantial. 
  1360.  
  1361.   Daily Backups 
  1362.        At Expressware we make a backup of our databases every day.  Each
  1363.        evening the order desk clerk copies the current month's databases
  1364.        onto diskettes.  These  diskettes are kept in  a safe place,  and
  1365.        are not reused  for seven  days.   There are five  sets of  daily
  1366.        backup diskettes, one for each day of the  work-week.  This means
  1367.        that every day  we have five  separate copies of  our data,  each
  1368.        progressively  more current.   Anyone making hundreds  of changes
  1369.        and additions to  a database every day  is advised to  make daily
  1370.        backups as well. 
  1371.  
  1372.   Offsite Backups 
  1373.        At the end of each month we make a complete backup  onto magnetic
  1374.        tape of every hard  disk in the company.  These  backup tapes are
  1375.        then taken  to another  building, where they  are stored  for six
  1376.        months.   If burglars  or hurricanes devastate  our office,  they
  1377.        will probably take all the software packages off the shelf  along
  1378.        with the  computers.  But our programmers  have their own PC's at
  1379.  
  1380.  
  1381.  
  1382.   18  BACKUPS
  1383.   ----------------------------------------------------------------------
  1384.  
  1385.        home, so with  the offsite backups of their  hard disks, they can
  1386.        be productive again by lunch time. 
  1387.  
  1388.  
  1389.  
  1390.                                                              BACKUPS  19
  1391.   ----------------------------------------------------------------------
  1392.  
  1393.   Backing Up A Diskette 
  1394.        The  easiest way to  make a  backup of a  diskette is to  make an
  1395.        identical  copy of it, using the DISKCOPY  program.  Put your DOS
  1396.        disk in drive A and on the command line type: 
  1397.  
  1398.                             DISKCOPY  A:  B: 
  1399.  
  1400.        A message  appears on  the screen telling  you to put  the source
  1401.        diskette in drive A and the destination diskette in drive B.   If
  1402.        you have only one diskette drive, type:
  1403.  
  1404.                               DISKCOPY A: A:
  1405.  
  1406.        Remove the DOS diskette from drive A.  Put a write-protect tab on
  1407.        the master diskette (the one to be copied) and put it in drive A.
  1408.        Put the  backup diskette  into drive B  (no write-protect  tab on
  1409.        this one;  it will  be written  on).   It doesn't  matter if  the
  1410.        diskette in drive B is formatted or not because DISKCOPY  formats
  1411.        as  it copies.   It's  OK if  the diskette  has  some data  on it
  1412.        already; the data will be written over. 
  1413.  
  1414.        Now  press a key, and the  copying begins.  This process normally
  1415.        takes two to three minutes.  Check the screen for  errors.  If an
  1416.        error has  occurred,  don't take  any chances:  throw the  backup
  1417.        diskette in the trash and try another  one.  Your data is worth a
  1418.        lot  more than  the cost  of  a new  diskette.   If the  copy was
  1419.        successful, DISKCOPY tells you so, then asks if  you want to copy
  1420.        another diskette.  If you have more  to copy, respond <Y> and put
  1421.        the next two diskettes into drives A and B. 
  1422.  
  1423.        Just because the  copy was successful does not  mean the diskette
  1424.        in drive B is readable.   To really be safe, make new labels  for
  1425.        both  diskettes and  make  the copy  your new  master.   Your old
  1426.        master diskette becomes the backup diskette.  If the copy is bad,
  1427.        you  will know  it as  soon as  you try  to use  your  new master
  1428.        diskette. 
  1429.  
  1430.        One  more step which  many of  us overlook  or forget:  label the
  1431.        backup diskette.   It's a backup of what?  When was it backed up?
  1432.        If you plan to re-use the diskette  later and don't want to stick
  1433.        a label on it,  then write a note on a piece of  paper and put it
  1434.        in  the disk  sleeve.   Or  stick a  yellow post-it  note  on the
  1435.        diskette.  Or put  all your backup diskettes in an  envelope with
  1436.        the date written on the outside. 
  1437.  
  1438.        Finally, put  the backups in a  safe place: maybe  an unused desk
  1439.        drawer  that is  now the  official backup  drawer; or  in  a file
  1440.        folder.  Keep the backup diskettes someplace where they will  not
  1441.        be  exposed  to excessive  heat,  cold, dust  or  physical abuse.
  1442.        Briefcases,  purses and glove  compartments are usually  not good
  1443.        storage areas. 
  1444.  
  1445.  
  1446.  
  1447.   20  BACKUPS
  1448.   ----------------------------------------------------------------------
  1449.                                       empty
  1450.  
  1451.  
  1452.  
  1453.                                                              BACKUPS  21
  1454.   ----------------------------------------------------------------------
  1455.  
  1456.   Backing Up Databases On A Hard Disk 
  1457.        These instructions  assume the databases to be backed up are in a
  1458.        subdirectory named \FE5.  If not, use your own subdirectory name.
  1459.  
  1460.  
  1461.        Databases on hard  disks are often too  large to fit on  a single
  1462.        diskette, so the simple  COPY command which  DOS provides is  not
  1463.        adequate.  Instead, use the DOS program called BACKUP.  Formatted
  1464.        diskettes are required,  so format several (using  the DOS FORMAT
  1465.        program) and set them aside.  It's  also OK to use diskettes with
  1466.        data on  them, either  from an earlier  backup or  something else
  1467.        (they are already formatted, so you can skip that step). 
  1468.  
  1469.  
  1470.  
  1471.   22  BACKUPS
  1472.   ----------------------------------------------------------------------
  1473.  
  1474.        To start the backup process, type this command at the DOS prompt:
  1475.  
  1476.  
  1477.                           BACKUP  C:\FE5\*.*  A:
  1478.  
  1479.        The backup program tells you to put a diskette in drive A.  Label
  1480.        one of the formatted diskettes:  BACKUP  C:\FE5\*.*  A:   1 OF __
  1481.        and put it into drive A.  The Backup program warns that all  data
  1482.        on the diskette in drive A will be destroyed.  Press  <Enter> and
  1483.        the backup begins.   As each file is copied to  diskette its name
  1484.        appears on  the screen.   If you don't  see some  files displayed
  1485.        with names of your databases, something is wrong. 
  1486.  
  1487.        If your databases are  small, they might all fit on one diskette.
  1488.        Probably not, though.   Soon the BACKUP program tells  you to put
  1489.        diskette #2  in drive A.  Label a second  diskette,  2 OF __, put
  1490.        it in drive  A, and press <Enter>.   As each diskette  is filled,
  1491.        label the next one and put it in drive A until the BACKUP program
  1492.        finally ends.  This process may require several diskettes.  
  1493.  
  1494.        Now fill in the  blanks on the diskettes (e.g.,  1 OF 5) and  put
  1495.        them in a safe place. 
  1496.  
  1497.        If you  find you need the data from these backups at some time in
  1498.        the future, the diskette label indicates they were produced  with
  1499.        the command  BACKUP C:\FE\*.*  A: which is important information.
  1500.        Since they were produced  with the BACKUP  program, they must  be
  1501.        restored to the hard disk with the DOS program named RESTORE.  If
  1502.        you  need to  retrieve  only one  file,  don't use  the  DOS COPY
  1503.        command to restore it to the hard disk.  Use the  RESTORE program
  1504.        to restore  any file  backed up with  BACKUP.   Another important
  1505.        piece of information on the diskette label is that the files were
  1506.        backed  up from the subdirectory \FE5.   Restore them to the same
  1507.        subdirectory. 
  1508.  
  1509.                              RESTORE A: C:*.*
  1510.  
  1511.        is the command  to use to put  the files from the  diskettes back
  1512.        onto your hard  disk.  They  will automatically be placed  in the
  1513.        \FE5 subdirectory.
  1514.  
  1515.   Backing Up A Complete Hard Disk 
  1516.        If you want  to periodically make  a backup  copy of your  entire
  1517.        hard disk, the procedure is similar to backing up a subdirectory.
  1518.        But start  by formatting lots of diskettes.   If your 10 meg hard
  1519.        disk is full, or your 20 meg drive is half full, you will need 29
  1520.        diskettes to back it up.  Then type the following commands at the
  1521.        DOS command line: 
  1522.  
  1523.                  C:                               
  1524.                  CD \                                
  1525.  
  1526.  
  1527.  
  1528.                                                              BACKUPS  23
  1529.   ----------------------------------------------------------------------
  1530.  
  1531.                  BACKUP  *.*  A:  /S 
  1532.  
  1533.        These  commands get you onto the root  directory of drive C, then
  1534.        the last command  backs up all  the files on  the root, plus  all
  1535.        subdirectories of the root (/S is for the subdirectories). 
  1536.  
  1537.        One word of caution on complete system backups: because they take
  1538.        so many diskettes, it is tempting to start erasing old files from
  1539.        the hard disk to reduce the amount of time and space  the backups
  1540.        take.   Take it  from a  computer veteran  who has  made all  the
  1541.        mistakes at least twice: don't erase anything prior to a  backup.
  1542.        Human error (erasing the wrong files) is the biggest single cause
  1543.        of lost  data.  Resist the temptation.  As  soon as the backup is
  1544.        completed, go in  and erase  all those old  files that have  been
  1545.        gathering dust for two years.  That way, they'll be gone when you
  1546.        do your  backups  next month,  and you  won't be  faced with  the
  1547.        temptation next month to erase before backing up. 
  1548.  
  1549.   Tape Backups
  1550.        At Expressware  we have many  computers with so  much information
  1551.        stored on them that it is not practical to make backups using the
  1552.        DOS  BACKUP program.    Instead, we  use  a tape  drive for  this
  1553.        purpose.   Backing up  many megabytes of  data takes  only a  few
  1554.        minutes  and doesn't  require anybody  sitting  at the  computers
  1555.        feeding  them  piles of  diskettes.   In  the end,  an  entire 40
  1556.        megabyte hard  disk gets backed  up on  a tape cartridge  that is
  1557.        about the size of a deck of cards.  
  1558.  
  1559.        We have found that convenience plays a big part in whether timely
  1560.        backups are  made of our  files.  If it  is a painful  process to
  1561.        make a  backup, it won't be done  as often as it should.   If the
  1562.        process is easy  and doesn't take much time, then the job will be
  1563.        done consistently.   If  you have a  hard disk  that is  about 30
  1564.        megabytes or  larger and  find that  you are  not making  regular
  1565.        backups, you  should consider purchasing  either a tape  drive or
  1566.        special backup  software.   They are  relatively inexpensive  and
  1567.        well worth the investment.
  1568.  
  1569.  
  1570.  
  1571.   24  KEYBOARD
  1572.   ----------------------------------------------------------------------
  1573.  
  1574.  
  1575.                           Keyboard Conventions 
  1576.  
  1577.        In this manual, and on many File  Express screens, when you see a
  1578.        letter, number or special key enclosed in <brackets>, it means to
  1579.        press the key enclosed in the brackets.  For example,  <F1> means
  1580.        the F1  key.    <Alt-F1>  means  hold  down  Alt  and  press  F1.
  1581.        Likewise, <Shift-F1>  means hold  down Shift  and  press F1,  and
  1582.        <Ctrl-F1> means hold down Ctrl and press F1.  
  1583.  
  1584.        When a  letter <A>  through <Z>  appears in  brackets, either  an
  1585.        upper-case (capital) or lower-case (small) letter may be entered.
  1586.        Sometimes at the bottom  of a screen, the first letter  of a word
  1587.        is  enclosed in brackets, such as <P>rint.   This is a short-hand
  1588.        way  to  indicate that  pressing  the  P  key selects  the  Print
  1589.        function. 
  1590.  
  1591.   The <Esc> Key 
  1592.        The Escape Key,  <Esc>, can be used  anywhere in File  Express to
  1593.        back out of a section of  the program and return to the  previous
  1594.        menu.  For  example, if you are  adding records and the  last one
  1595.        has been  added, press <Esc> to return to  the Main Menu.  If you
  1596.        are involved in a lengthy function, such as defining a report  or
  1597.        defining a new  database, and you press <Esc>,  File Express does
  1598.        not leave the work you are doing without first asking if you want
  1599.        to abandon it.  For example,  if you are defining a new  database
  1600.        and you press <Esc>, the following message appears: 
  1601.  
  1602.         Press  <Esc> for Main Menu,  <Enter> to resume  or 
  1603.              <Spacebar> to start over 
  1604.  
  1605.        File Express gives you a second chance,  just in case you pressed
  1606.        the <Esc> key unintentionally. 
  1607.  
  1608.        Sometimes the <Esc>  key backs up only to the beginning of a line
  1609.        or  the beginning of a logical sequence  of events, in which case
  1610.        pressing it a second time exits to the previous menu. 
  1611.  
  1612.        When a menu is displayed and you want to return to the Main Menu,
  1613.        press <Esc>.   In fact, pressing  <Esc> repeatedly always  brings
  1614.        you back to the Main Menu. 
  1615.  
  1616.   Single Keystroke Input 
  1617.        When a prompt requires only one key to be pressed, the command is
  1618.        carried out  immediately without  having to  press <Enter>.   All
  1619.        single-key commands make a  short "blip" sound (unless  the sound
  1620.        option has been turned off). 
  1621.  
  1622.        Whenever  an  incorrect  or inappropriate  key  is  pressed, File
  1623.        Express sounds a two tone warning and ignores the keystroke. 
  1624.  
  1625.  
  1626.  
  1627.                                                             KEYBOARD  25
  1628.   ----------------------------------------------------------------------
  1629.  
  1630.        The <F10> key is used in many places to indicate you are finished
  1631.        entering information and are ready  to move on to the  next step.
  1632.        For example, if  a new  database record has  ten fields, but  you
  1633.        only need to put  data into the first field, press  the <F10> key
  1634.        after entering the data in the first field.   <Ctrl-W> and <Ctrl-
  1635.        Enter> can also be used as the <F10> key.
  1636.  
  1637.   Input Fields Of Two Or More Characters 
  1638.        All questions  or entries that  let you  press more than  one key
  1639.        must be followed by an <Enter> before File Express processes  the
  1640.        keystrokes.  On any prompt or field letting you enter two or more
  1641.        characters, the following editing keys may be used: 
  1642.  
  1643.        <Backspace>    Erases the character to the left of the cursor. 
  1644.  
  1645.        <Del>          Erases the character the cursor is on. 
  1646.  
  1647.        <Ins>          Toggles Insert mode on and  off.  When Insert mode
  1648.                       is on, the cursor increases in  size.   Characters
  1649.                       are  inserted at the  cursor as they  are entered,
  1650.                       and  the characters to the right of the cursor are
  1651.                       shifted  toward  the end  of  the field.    If any
  1652.                       characters  are pushed off  the end of  the field,
  1653.                       File Express gives a short "blip" sound. 
  1654.  
  1655.        <Left>         Moves the cursor left, toward the beginning of the
  1656.                       field.  No characters are erased.  
  1657.  
  1658.        <Right>        Moves  the cursor  right, toward  the  end of  the
  1659.                       field.  No characters are erased. 
  1660.  
  1661.        <Home>         Moves  the cursor  to the  first  position of  the
  1662.                       field.   If  the cursor  is already  in the  first
  1663.                       position of the  field, <Home> moves to  the first
  1664.                       field on the screen. 
  1665.  
  1666.        <End>          Moves  the cursor  to the  position  following the
  1667.                       last non-blank character on the line. 
  1668.  
  1669.        <Ctrl-Home>    Erases the entire line and puts the cursor back at
  1670.                       the beginning of the field. 
  1671.  
  1672.        <Ctrl-End>     Erases all characters  from the cursor to  the end
  1673.                       of the field.  The cursor does not move. 
  1674.  
  1675.        <Enter>        Indicates all  the data  has been  entered in  the
  1676.                       field.  <Enter> may be pressed no matter where the
  1677.                       cursor  is within a field, and the entire field is
  1678.                       processed as input. 
  1679.  
  1680.  
  1681.  
  1682.   26  KEYBOARD
  1683.   ----------------------------------------------------------------------
  1684.  
  1685.        <PgDn>         When the information being displayed occupies more
  1686.                       than  one screen, this  key "scrolls" down  to the
  1687.                       next  full screen.  For example, the report writer
  1688.                       lets you  use up  to 200  lines, but only  sixteen
  1689.                       lines fit in  the window.  Pressing  <PgDn> causes
  1690.                       the   second  sixteen   lines  to   be  displayed.
  1691.                       Pressing  it  again  displays  the  third  sixteen
  1692.                       lines. 
  1693.  
  1694.        <PgUp>         This  key  is  the  opposite  of  <PgDn>.    On  a
  1695.                       multi-screen display  it causes the  previous full
  1696.                       screen of information to be displayed. 
  1697.  
  1698.        Characters may  not be  entered past  the end  of a  field.   Any
  1699.        attempt to enter further characters causes the  computer to beep.
  1700.        However, all control keys (<Enter>, <Backspace>, <F10>, etc.) may
  1701.        still be used. 
  1702.  
  1703.   Using a Mouse
  1704.        File  Express  supports  the  use  of  a  Mouse  for  many  input
  1705.        functions.    You can  use a  mouse to  select many  File Express
  1706.        features and  options.   Before  you  do so,  however,  you  must
  1707.        install your  mouse according  to the  instruction in  your mouse
  1708.        documentation.  This includes the installation of  a mouse driver
  1709.        telling your computer a  mouse device is available for use.  Once
  1710.        this is done, File  Express automatically enables your mouse  for
  1711.        use in the program.
  1712.  
  1713.        To File Express  the mouse is an  extension of the keyboard.   If
  1714.        you move  your mouse  up (toward  the back  of  the table),  File
  1715.        Express interprets the movement as an <Up> cursor key.  Likewise,
  1716.        if you move  the mouse down (toward  the front of your  table), a
  1717.        <Down>  cursor key  is  sent to  File  Express.   Left and  right
  1718.        movement translate  to <Left>  and  <Right> cursor  keys.   Since
  1719.        selections on all menu screens in File Express can be  controlled
  1720.        by using the cursor keys, the movement of a mouse  can be used to
  1721.        make the same selections.   Moving the mouse up and  down or left
  1722.        and right causes the  highlighted selection bar  on the menus  to
  1723.        move from one option to the next.
  1724.  
  1725.        Pressing the left  button on your mouse  is the same  as pressing
  1726.        the <Enter> key.  When you have highlighted the desired option on
  1727.        a menu screen, press the left mouse button to invoke it.
  1728.  
  1729.        Pressing the right  button on your mouse is  the same as pressing
  1730.        the <Esc> key.   If you want to go back one  menu level or cancel
  1731.        any  operation you  are  involved in,  pressing the  right button
  1732.        takes you back.
  1733.  
  1734.        Anywhere in File Express that a cursor key, <Enter> key, or <Esc>
  1735.        key is appropriate, you can use the mouse as an alternative.
  1736.  
  1737.  
  1738.  
  1739.                                                             KEYBOARD  27
  1740.   ----------------------------------------------------------------------
  1741.  
  1742.        If you have  a mouse driver installed in  your computer but don't
  1743.        want the mouse to work in  File Express, use the /I command  line
  1744.        option when starting the program.
  1745.  
  1746.  
  1747.  
  1748.   28  KEYBOARD
  1749.   ----------------------------------------------------------------------
  1750.  
  1751.   Context-Sensitive Help System
  1752.        File  Express offers you context-sensitive help that is available
  1753.        at any time.  Virtually every menu item, question, prompt,  error
  1754.        message, and option  in File Express has a  help screen connected
  1755.        to it.  There are well over 500 different help screens available.
  1756.        No matter where you are in the program, you can press  <Alt-H> to
  1757.        get more information.
  1758.  
  1759.        For  example, if you are  about to import a  file but you are not
  1760.        sure what kind  of file  you have,  you can  press <Alt-H>  while
  1761.        viewing the Import Menu and File Express tells you a little about
  1762.        each type of file format.
  1763.  
  1764.        If you are about to enter a calculated field, you can press <Alt-
  1765.        H> for  a  list  of  all  the  functions  available  and  helpful
  1766.        examples.
  1767.  
  1768.        If an error message is displayed on the screen, pressing  <Alt-H>
  1769.        tells you about the error and what to do to correct it.
  1770.  
  1771.        Help topics  can be from  one to several  pages in length.   If a
  1772.        topic occupies more than  one screen, you will see --  more -- at
  1773.        the bottom of  the window and you  can use the <PgDn>  to display
  1774.        additional information.  At the  very bottom of the last  page of
  1775.        each Help topic you will see -- end --.
  1776.  
  1777.        Many Help screens also refer  you to a particular section in  the
  1778.        User's Manual for additional information concerning the topic.
  1779.  
  1780.        To close the Help window, press any key other than the <PgUp> and
  1781.        <PgDn> keys.
  1782.  
  1783.        Help File
  1784.        The information  and index necessary to display  the Help screens
  1785.        are contained in the files FE5.HLP and FE5.HLI which are provided
  1786.        with  File Express.  If File Express  can't find these files when
  1787.        you press <Alt-H>, the window pops up with the message, Help File
  1788.        Not Found...press any key.   If this happens, make sure you  have
  1789.        copied FE5.HLP and FE5.HLI onto your hard disk or that  the files
  1790.        are on your default diskette drive.
  1791.  
  1792.  
  1793.  
  1794.                                                             KEYBOARD  29
  1795.   ----------------------------------------------------------------------
  1796.  
  1797.   Information Window
  1798.        Whenever  you  are  using  File  Express,  you  can  pop  up   an
  1799.        information  screen showing you  many things about  your computer
  1800.        system  and about  the current  conditions  inside File  Express.
  1801.        Pressing <Ctrl-V> displays the Version/Status Screen which  looks
  1802.        like this:
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.                  Registered Version has screen picture here
  1810.                
  1811.              
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.        As you can see, the  screen displays the version of  File Express
  1821.        you are using,  the amount of free memory  currently available to
  1822.        File Express,  the amount of free  disk space on the  Data Drive,
  1823.        and the Path to the  Data Drive.  Below this  is the name of  the
  1824.        database that is open, how many records you have added during the
  1825.        current  session and how many records you have changed.  The name
  1826.        of the  current index  and the  total number  of  records in  the
  1827.        database are  also shown.  The  last piece of information  at the
  1828.        bottom of the  window indicates whether or  not you have a  mouse
  1829.        driver installed that  File Express can use.   The version number
  1830.        of the mouse driver is shown along with the type of mouse:
  1831.  
  1832.             1 = bus mouse
  1833.             2 = serial mouse
  1834.             3 = InPort mouse
  1835.             4 = PS/2 mouse
  1836.             5 = Hewlett-Packard mouse
  1837.  
  1838.        Press any key to close the Version/Status Window.
  1839.  
  1840.  
  1841.  
  1842.   30  KEYBOARD
  1843.   ----------------------------------------------------------------------
  1844.  
  1845.   Pop up Calculator
  1846.        File  Express has  a  powerful, built-in  calculator that  can be
  1847.        popped up  at any  time by  pressing <Ctrl-K>.   This  calculator
  1848.        harnesses the full  power of the formula handler that  is part of
  1849.        File Express.  
  1850.  
  1851.        After popping up the calculator, which looks like this:
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.                  Registered Version has screen picture here
  1859.  
  1860.  
  1861.  
  1862.        You can enter simple mathematical formulas like:
  1863.  
  1864.                               23 * (34 + 45)
  1865.  
  1866.        and the  answer  appears below  the  input line  when  you  press
  1867.        <Enter>.  You can also use any of File Express' math functions:
  1868.  
  1869.                     SIN(45) + COS(30) * SQR(ATN(82.5))
  1870.  
  1871.        or even any of the string or date functions:
  1872.  
  1873.                           FutureDate(TODAY, 45)
  1874.  
  1875.        If  one of  the records  from the  database is  displayed on  the
  1876.        screen behind the calculator, you can refer  to any of the fields
  1877.        in the record:
  1878.  
  1879.                             TOTAL SALES * .118
  1880.  
  1881.        Whenever an answer has been displayed on the calculator, you  can
  1882.        have the answer played back to  File Express as if you had  typed
  1883.        it in  yourself.   To  do this,  press <Alt-C>.   The  calculator
  1884.        disappears and the  answer is played  back.  If  you want to  put
  1885.        away the calculator without remembering the answer, press <Esc>. 
  1886.  
  1887.  
  1888.  
  1889.                                                             TUTORIAL  31
  1890.   ----------------------------------------------------------------------
  1891.  
  1892.  
  1893.                          A File Express Tutorial
  1894.  
  1895.   Instructions
  1896.        The following tutorial  is provided to acquaint you  with many of
  1897.        the features of File Express and to give you practical experience
  1898.        in creating and maintaining databases.
  1899.  
  1900.        The  tutorial is  presented  in  two  sections,  each  containing
  1901.        several  lessons.   The  first  section,  A  Brief Tour  of  File
  1902.        Express, uses the TUTORIAL database included in the  File Express
  1903.        package to  show you some of the many  features and options.  The
  1904.        second section,  Defining a  New Database,  takes you though  the
  1905.        process of defining the  fields for a  database, adding a  couple
  1906.        records,and many other common procedures.
  1907.  
  1908.        The lessons in section one all begin from the Main Menu and leave
  1909.        you at the Main Menu at the end of the lesson.  No information in
  1910.        the  TUTORIAL  database is  changed  during the  lessons  in this
  1911.        section.   Because of  this, each  lesson is  independent of  the
  1912.        others and can  be followed at any time  without having completed
  1913.        any  of the  other  lessons in  the  section.   Just  start  File
  1914.        Express, open the TUTORIAL database and start the lesson of  your
  1915.        choice.  The lessons in section one include:
  1916.  
  1917.                       Opening a Database
  1918.                       Find a Record
  1919.                       Printing a Report
  1920.  
  1921.        The lessons in  section two are designed to  be followed step-by-
  1922.        step in  order.  Each lesson  assumes you have completed  all the
  1923.        previous lessons.  Because each  subsequent lesson depends on the
  1924.        information  entered in the  previous lesson, don't  skip around.
  1925.        The lessons in section two include:
  1926.  
  1927.                       Defining a New Database
  1928.                       Adding New Records
  1929.                       Painted Screens
  1930.                       Quick Scan
  1931.                       Create a Report
  1932.  
  1933.  
  1934.  
  1935.   32  TUTORIAL
  1936.   ----------------------------------------------------------------------
  1937.  
  1938.        As you go through  the tutorial, you  are asked to type  specific
  1939.        strings of characters and  to press specific  keys.  Each  string
  1940.        you are to type is highlighted  and is on a line by itself.   For
  1941.        example:  
  1942.                              Phone Directory
  1943.  
  1944.        Just type the two  words.  Don't press <Enter> at  the end unless
  1945.        it is part of the entry.  For example:
  1946.  
  1947.                          Phone Directory <Enter>
  1948.  
  1949.        Individual  control keys, such as the cursor keys, function keys,
  1950.        alt key combinations, etc. are enclosed in angle brackets and are
  1951.        either part of  a text  entry or are  presented by themselves  on
  1952.        their own line.  For example:
  1953.  
  1954.                              <Up><Up><Enter>
  1955.  
  1956.        means press the <Up> cursor key  twice and then the <Enter>  key.
  1957.        Sequential entries are presented as:
  1958.  
  1959.                       Jim            <Enter>
  1960.                       Smith          <Enter>
  1961.                       Acme Company   <Enter>
  1962.                       123 1st St.    <Enter>
  1963.                       Seattle        <Enter>
  1964.  
  1965.        The <Enter> keys are sometimes lined up to the right just to make
  1966.        them easier to read.  Don't  enter the spaces between the end  of
  1967.        the string and the <Enter>.
  1968.  
  1969.        Some commands have an explanation of what they do in parentheses.
  1970.  
  1971.             <Down> <Enter> (move to Last Name field and press <Enter>)
  1972.  
  1973.        Don't type the parentheses or what they contain.
  1974.  
  1975.        At various points in the  tutorial there are pictures of how  the
  1976.        screen should look at that point.
  1977.  
  1978.  
  1979.  
  1980.                                                             TUTORIAL  33
  1981.   ----------------------------------------------------------------------
  1982.  
  1983.                 Section One: A Brief Tour of File Express
  1984.  
  1985.  
  1986.   Starting the Tutorial
  1987.        The  tutorial begins  by showing  you  some of  the features  and
  1988.        options  of File Express  using the TUTORIAL  database that comes
  1989.        with  the package.    Before  starting,  make sure  the  TUTORIAL
  1990.        database is available.  If you are using a hard disk, the INSTALL
  1991.        program copied  the TUTORIAL  database into  a subdirectory  call
  1992.        TUTOR which  is  off your  program  subdirectory.   If  you  have
  1993.        deleted the TUTORIAL  files, you must either copy  them back onto
  1994.        your  hard disk or  use a diskette  containing them.   If you are
  1995.        using a diskette drive  system, the TUTORIAL  database is on  the
  1996.        diskette titled Help Disk.
  1997.  
  1998.  
  1999.   Lesson One: Opening A Database 
  2000.        This section  assumes the  File Express  program files  are in  a
  2001.        subdirectory  of  drive C,  called  FE5  which  is off  the  root
  2002.        directory or,  if  you are  using  a diskette  system,  that  the
  2003.        program files  are on the  Program Disk in  drive A.   It is also
  2004.        assumed that  the TUTORIAL  files are  in a  subdirectory of  FE5
  2005.        called TUTOR, or if you are  using a diskette system, are on  the
  2006.        Help Disk in drive B.  If your files are in a different place you
  2007.        will  have  to  change  the  start-up  commands  to  suite   your
  2008.        environment.
  2009.  
  2010.        We start the tutorial by starting File Express.  Type:
  2011.  
  2012.                                 FE <Enter>
  2013.  
  2014.        This brings up the Opening Screen which  prompts you to Press any
  2015.        key to continue.  Press:
  2016.  
  2017.                                 <Spacebar>
  2018.  
  2019.        File Express now asks  you to: Indicate the drive to  be used for
  2020.        Data.  Answer:
  2021.  
  2022.                                     C
  2023.  
  2024.        Remember, don't press the <Enter>  key.  Single letter  responses
  2025.        don't need  it.   If you  are using  a diskette  system, press  B
  2026.        instead.
  2027.  
  2028.        Now File Express  wants to know  path to your data.   If you  are
  2029.        using a hard disk, the default prompt should read C:\FE5 with the
  2030.        cursor blinking at the end of it.  Press:
  2031.  
  2032.                                  <Enter>
  2033.  
  2034.  
  2035.  
  2036.   34  TUTORIAL
  2037.   ----------------------------------------------------------------------
  2038.                                  empty
  2039.  
  2040.  
  2041.  
  2042.                                                             TUTORIAL  35
  2043.   ----------------------------------------------------------------------
  2044.  
  2045.        If you have a diskette system, the default was B:\ and you should
  2046.        just press <Enter>.
  2047.  
  2048.        Next the Open A Database screen displays.  It looks like this: 
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.                  Registered Version has screen picture here
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.        Before you can add records to  a database, or print a report,  or
  2068.        do anything  in File  Express, the  program needs  to know  which
  2069.        database you want  to work  with.  This  screen displays all  the
  2070.        databases on your disk, and asks which one is to be opened. 
  2071.  
  2072.        If you  have  just installed  File  Express, there  is  only  one
  2073.        database displayed;  it is called  TUTORIAL.  It  is the one  you
  2074.        copied onto your  disk during the installation process.   If your
  2075.        screen doesn't look like this, or if you get a message that there
  2076.        are no  databases on  the disk,  review the  installation process
  2077.        before proceeding with the tutorial. 
  2078.  
  2079.        The databases that are found  on the drive and path  selected are
  2080.        displayed on the screen alphabetically. 
  2081.  
  2082.  
  2083.        Since TUTORIAL  is  the only  database  on this  subdirectory  or
  2084.        diskette, it is the only name listed on the screen and the prompt
  2085.        at the bottom already defaults to TUTORIAL so just press:
  2086.  
  2087.                                  <Enter>
  2088.  
  2089.  
  2090.  
  2091.   36  TUTORIAL
  2092.   ----------------------------------------------------------------------
  2093.  
  2094.        Now that the database has been selected, File Express goes to its
  2095.        Main Menu screen, which looks like this: 
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.                  Registered Version has screen picture here
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.   The Main Menu
  2114.        Wherever you  are  in the  File  Express program,  it  is  always
  2115.        possible to return to the Main Menu by pressing the <Esc> key one
  2116.        or more times. 
  2117.  
  2118.  
  2119.  
  2120.                                                             TUTORIAL  37
  2121.   ----------------------------------------------------------------------
  2122.  
  2123.        Another option available  at any time is a  window describing the
  2124.        environment File  Express  finds itself  in.   To  pull  up  this
  2125.        window, press:
  2126.  
  2127.                                  <Ctrl-V>
  2128.  
  2129.        The Version/Status Screen appears:
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.                  Registered Version has screen picture here
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.        This screen displays  the version number,  amount of free  memory
  2148.        and disk space, the data drive path name, some information on the
  2149.        current database,  and whether  or not  a mouse  driver has  been
  2150.        installed.  To close the window press:
  2151.  
  2152.                                 <Spacebar>
  2153.  
  2154.  
  2155.  
  2156.   38  TUTORIAL
  2157.   ----------------------------------------------------------------------
  2158.  
  2159.  
  2160.   Context-Sensitive Help Screens
  2161.        If you have problems or questions about what you are doing at any
  2162.        time in File Express, you can pop up a help screen.  All the help
  2163.        screens are context-sensitive, meaning that the help  information
  2164.        displayed directly  applies to  what you are  doing.   Every menu
  2165.        option, prompt, field  input, and error  message in File  Express
  2166.        has its own help screen. 
  2167.  
  2168.        Let's  move  the highlight  bar  on  the Main  Menu  down  to the
  2169.        Find/Edit Records option by pressing:
  2170.  
  2171.                            <Spacebar><Spacebar>
  2172.  
  2173.        When the Find Records selection is highlighted, press:
  2174.  
  2175.                                  <Alt-H>
  2176.  
  2177.        to display the Help screen for this option:
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.                  Registered Version has screen picture here
  2185.  
  2186.  
  2187.  
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.        Press:
  2196.  
  2197.                                 <Spacebar>
  2198.  
  2199.        to restore the screen.
  2200.  
  2201.  
  2202.  
  2203.                                                             TUTORIAL  39
  2204.   ----------------------------------------------------------------------
  2205.  
  2206.   Lesson Two: Finding A Record 
  2207.        Let's  look at  some of the  records in the  TUTORIAL database by
  2208.        going  to  the  Find/Edit  Records  section.    There  are  three
  2209.        different ways you can select this  option.  You will notice that
  2210.        the first option on the Main  Menu is highlighted.  You can  move
  2211.        this  highlight  bar  down  to  each  successive menu  option  by
  2212.        pressing either the down cursor key, the spacebar or, if you have
  2213.        a mouse,  by moving the  mouse down.   It will also  move back up
  2214.        with  the up cursor key,  or by moving the  mouse up.  The second
  2215.        way to select a menu option is by pressing the number on the left
  2216.        side.  The  third way, and the  one we will use now,  is to press
  2217.        the first letter of the description: O for Open a Database, A for
  2218.        Add New Records, etc.   It is not necessary to  press the <Enter>
  2219.        key; menu choices are  single keystroke commands.   To select the
  2220.        Find/Edit Records option, press:
  2221.  
  2222.                                     F
  2223.  
  2224.        The Find Menu, appears: 
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.                  Registered Version has screen picture here
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.        The most  common choice on  this menu  is the first  one, labeled
  2243.        Find A Record.  Press:
  2244.                                     1
  2245.  
  2246.        to bring up  the Record Selection screen  so we can look  at some
  2247.        records in this tutorial database. 
  2248.  
  2249.  
  2250.  
  2251.   40  TUTORIAL
  2252.   ----------------------------------------------------------------------
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.                  Registered Version has screen picture here
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.        Although this screen has lots of information on it, there is only
  2272.        one line at the bottom for data; everything else is  information-
  2273.        al. 
  2274.  
  2275.        The left  side of  the screen  has a  list of  the fields in  the
  2276.        database for reference.  In a  database of your own, the list  of
  2277.        fields would  be  familiar, because  you  would have  created  it
  2278.        yourself.  For this  tutorial database, this is the first time we
  2279.        have seen the list of fields  the database contains.  As you  can
  2280.        see,  each record in  this database has a  first name, last name,
  2281.        company  name,  address,  date,  and  some  fields  for  entering
  2282.        numbers.
  2283.  
  2284.        The right side of the screen  is a brief "help screen" describing
  2285.        some of the  common ways to  find a  record and giving  examples.
  2286.        Take a moment to examine this screen, including the  notes on the
  2287.        right side.   If it is  not clear to  you what all of  them mean,
  2288.        that's OK.   This  tutorial will  help to  clarify the  concepts.
  2289.        Additional information can be read in the Formulas section.
  2290.  
  2291.        The database we are about to search contains 20 fictitious  names
  2292.        and addresses.   Let's  try finding the  record for  Penny Banks.
  2293.        Notice  that the cursor is positioned on the line that says: Find
  2294.        all the  records where:.   File  Express is  waiting  for you  to
  2295.        complete the sentence.  The default entry for the question is ALL
  2296.        but we are going  to type right over  it.  Since we want  to find
  2297.        Miss Banks' record, complete the sentence like this, type: 
  2298.  
  2299.                         last name is banks <Enter>
  2300.  
  2301.  
  2302.  
  2303.                                                             TUTORIAL  41
  2304.   ----------------------------------------------------------------------
  2305.  
  2306.        Immediately, the record for  Penny Banks displays on  the screen.
  2307.        (If you are using a diskette system, you are a patient person and
  2308.        know that "immediately" really means "a moment or two", right?)
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.                  Registered Version has screen picture here
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.        Once again, here are all the field names but they are arranged on
  2327.        a  Painted screen.  We  will show you how  to create this type of
  2328.        screen later in Section Two.
  2329.  
  2330.        Note the commands along  the bottom line.   Since these  commands
  2331.        are the only keys you can press at this point, they are a sort of
  2332.        one-line menu, listing the things  you can do, and asking you  to
  2333.        select one.  Let's  try pressing the letter N for  "Next" and see
  2334.        what happens.  Type:
  2335.  
  2336.                                     N
  2337.  
  2338.        Remember, no <Enter>.  File Express advances to the next  record.
  2339.        After  this tutorial  database  was  created,  it was  sorted  in
  2340.        alphabetic sequence by Last Name,  so when you press N,  the next
  2341.        record you see is the next one alphabetically.  Press 
  2342.  
  2343.                                    NNN
  2344.  
  2345.        again  a few times and notice how quickly File Express finds each
  2346.        record and displays it. 
  2347.  
  2348.        Now press 
  2349.  
  2350.                                    PPP
  2351.  
  2352.        a  few  times.    File  Express  displays  backward  through  the
  2353.        database.
  2354.  
  2355.        Now lets go back to the Main Menu.  Press:
  2356.  
  2357.  
  2358.  
  2359.   42  TUTORIAL
  2360.   ----------------------------------------------------------------------
  2361.  
  2362.                                 <Esc><Esc>
  2363.   Lesson Three: Print a Report
  2364.  
  2365.        The Report Writer is where you tell File Express what you want to
  2366.        print and  how you want  it to look.   With the Main  Menu on the
  2367.        screen, press:
  2368.  
  2369.                                     R
  2370.  
  2371.        to display the Report Menu:
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.                  Registered Version has screen picture here
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.        We have already  defined a nice report for  the TUTORIAL database
  2390.        so press:
  2391.  
  2392.                                     C
  2393.  
  2394.        to choose an  existing report format file.   Move the highlighted
  2395.        bar to the TUTORIAL file using the cursor keys and press:
  2396.  
  2397.                                  <Enter>
  2398.  
  2399.        When the Report Options Menu displays, press:
  2400.  
  2401.                                     P
  2402.  
  2403.        to print the report.  File Express asks where you want the report
  2404.        displayed.  Press:
  2405.  
  2406.                                     S
  2407.  
  2408.        to print the report to the screen:
  2409.  
  2410.  
  2411.  
  2412.                                                             TUTORIAL  43
  2413.   ----------------------------------------------------------------------
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.        When the report has printed, press:
  2420.  
  2421.                                <Esc> <Esc>
  2422.  
  2423.        to return to the Main Menu.
  2424.  
  2425.  
  2426.  
  2427.   44  TUTORIAL
  2428.   ----------------------------------------------------------------------
  2429.  
  2430.                    Section Two: Defining a New Database
  2431.  
  2432.  
  2433.   Start at the Main Menu
  2434.        The second section of the tutorial takes you through the  process
  2435.        of  defining a new  database and adding  records to it.   Then we
  2436.        show you  how to set  up custom input  screens, use the  powerful
  2437.        Quick Scan mode  where you can see  twenty records at a  time and
  2438.        edit them  right in the list.  We  also go through the process of
  2439.        creating indexes and reports.
  2440.  
  2441.        The first section of the tutorial left you at the Main  Menu with
  2442.        the TUTORIAL database open.  We will start from here.  If you are
  2443.        starting this  section  without  having  completed  Section  One,
  2444.        please follow Lesson  One of that section One to  the point where
  2445.        the Main Menu appears.
  2446.  
  2447.   Lesson One: Defining a New Database
  2448.        Defining a  new database  begins on the  Open a  Database screen.
  2449.        This screen is displayed  after the Drive  and Path Name  prompts
  2450.        when starting File Express  and it also  appears when you  select
  2451.        the Open a Database option  from the Main Menu.  If you have just
  2452.        completed  Section One  of the  tutorial,  the Main  Menu is  now
  2453.        displayed on  the screen.  To display the Open a Database screen,
  2454.        press:
  2455.  
  2456.                                     1
  2457.  
  2458.        If  you   are  starting  File   Express  from  DOS,   follow  the
  2459.        instructions in  Lesson  One of  Section  One until  the  Open  a
  2460.        Database screen appears:
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.                  Registered Version has screen picture here
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.        The Database name prompt  at the bottom  of the screen  currently
  2480.        defaults to TUTORIAL.  To start a new database you must type in a
  2481.  
  2482.  
  2483.  
  2484.                                                             TUTORIAL  45
  2485.   ----------------------------------------------------------------------
  2486.  
  2487.        new name that  is not on the list in the window.  We will start a
  2488.        database called  EXAMPLE.    If  someone else  has  already  gone
  2489.        through this section  of the tutorial and has  created an EXAMPLE
  2490.        database,  you  can   either  erase  the  existing   database  by
  2491.        highlighting the  EXAMPLE line  and pressing  the <Alt-D>  key or
  2492.        select a different name for the new database, like EXAMPLE2.  The
  2493.        tutorial assumes  you are  creating EXAMPLE  so if  your name  is
  2494.        different, substitute your name wherever EXAMPLE is used.
  2495.  
  2496.        At the Database name prompt, type:
  2497.  
  2498.                         EXAMPLE <Spacebar><Enter>
  2499.  
  2500.        The <Spacebar> blanks  out any letters remaining on  the name you
  2501.        are typing over.
  2502.  
  2503.        The Define Database screen now appears and looks like this:
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.                  Registered Version has screen picture here
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.        The Example database we are  going to define is a  simple mailing
  2522.        list consisting  of date, name,  and address fields,  two numeric
  2523.        fields, a formula field, and a comment field.  
  2524.  
  2525.   Field Name
  2526.        Each field in a database must have a field name.  Field names can
  2527.        consist of  up to  twelve characters and  can include  spaces and
  2528.        other punctuation marks.
  2529.  
  2530.        Field number 1 will be the Date field.  Type:
  2531.  
  2532.                            When Entered <Enter>
  2533.  
  2534.   Field Type
  2535.        The cursor moves over to the -type-  column.  A field can be  one
  2536.        of  six  different   field  types  supported  by   File  Express,
  2537.        Character,  Numeric,   Formula,  Date,  User-defined,   and  Text
  2538.  
  2539.  
  2540.  
  2541.   46  TUTORIAL
  2542.   ----------------------------------------------------------------------
  2543.  
  2544.        Formula.  The default is Character.   A field type is selected by
  2545.        pressing its first letter.  Our When Entered field will be a Date
  2546.        type, so press:
  2547.  
  2548.                                     D
  2549.  
  2550.        Date fields have a set length and  format.  The default length is
  2551.        8 and the default format is MM-DD-YY.  This can be change to  any
  2552.        one of four different formats by using the Setup program included
  2553.        with File Express.   Since the length and format are  known, File
  2554.        Express automatically  fills in these  two columns on  the screen
  2555.        for you.
  2556.  
  2557.        The cursor is now at the -field name- column waiting for the next
  2558.        entry.  Type:
  2559.  
  2560.                             First Name<Enter>
  2561.  
  2562.        To accept the -type- default answer if C, press
  2563.  
  2564.                                  <Enter>
  2565.  
  2566.        Our First Name  field is to be twelve characters long.  This will
  2567.        accommodate most first names.  Type
  2568.  
  2569.                                 12<Enter>
  2570.  
  2571.        The word  Character is placed in the  -format- column and you are
  2572.        ready for field  three.  Type in the following entries to fill in
  2573.        the next five fields:
  2574.  
  2575.                  Last Name <Enter> <Enter> 20 <Enter>
  2576.                  Address <Enter> <Enter> 30 <Enter>
  2577.                  City <Enter> <Enter> 20 <Enter>
  2578.                  State <Enter> <Enter> 2 <Enter>
  2579.                  Zip Code <Enter> <Enter> 10 <Enter>
  2580.  
  2581.        Your screen should now look like this:
  2582.  
  2583.  
  2584.  
  2585.        The next two fields will be Numeric.  The first be a whole number
  2586.        field and the second will contain dollar amounts.  For the first,
  2587.        type:
  2588.  
  2589.                  How Many<Enter>N3<Enter>0<Enter>
  2590.  
  2591.        This  defines a field  with a name  of How Many  that is Numeric,
  2592.        three digits long,  with zero decimal places.   The ### in  the -
  2593.        format- column indicates this.  This field will later accommodate
  2594.        numbers from -99 to 999.  
  2595.  
  2596.  
  2597.  
  2598.                                                             TUTORIAL  47
  2599.   ----------------------------------------------------------------------
  2600.  
  2601.        For the second numeric field, actually field number 9, type:
  2602.  
  2603.                  How Much<Enter>N6<Enter><Enter>
  2604.  
  2605.        The last <Enter> accepted the default of two decimal places.  The
  2606.        -format- column shows ###.## to indicate the length and decimals.
  2607.  
  2608.        Now, for a  formula field to multiply  the How Many field  by the
  2609.        How Much field.  We will call it Balance Due.  Type:
  2610.  
  2611.                  Balance Due<Enter>F8<Enter><Enter>
  2612.  
  2613.        The F  in the -type- column  indicates a Formula  field.  Formula
  2614.        fields are  automatically calculated and  filled in for  you when
  2615.        you are later entering records into your database.
  2616.  
  2617.        The screen now looks like this:
  2618.  
  2619.        File Express is  now prompting for you  to enter the  formula for
  2620.        the field.  Type:
  2621.  
  2622.                        how many * how much <Enter>
  2623.  
  2624.        You could  have used  all capital  letters if you  wanted.   File
  2625.        Express ignores  the  case of  field  names.   Whenever  you  are
  2626.        referring to a field, you can either use the name of the field or
  2627.        an F followed  by the field number  (F8 for example).   Thus, the
  2628.        formula could be F8 * F9.   Using field names makes it  easier to
  2629.        later decipher  a  formula,  but if  you  have any  fields  in  a
  2630.        database  that have the same name, the F-field number alternative
  2631.        is the only way to refer to the second of the two fields.
  2632.  
  2633.  
  2634.        The last field will be a nice big comment field.  Type:
  2635.  
  2636.                  Comments<Enter><Enter>200<Enter>
  2637.  
  2638.        Your screen should look like this:
  2639.  
  2640.  
  2641.  
  2642.   48  TUTORIAL
  2643.   ----------------------------------------------------------------------
  2644.  
  2645.  
  2646.  
  2647.  
  2648.        File Express is  waiting for us to  type in a twelfth  field name
  2649.        but we only want the eleven we have defined.  Instead of entering
  2650.        another field name, just press:
  2651.  
  2652.                                  <Enter>
  2653.  
  2654.        File Express jumps out of input mode  and offers you some choices
  2655.        at the bottom of the screen:
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.                  Registered Version has screen picture here
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.        Looking at the database you have  just defined on the screen,  it
  2675.        is obvious you have forgotten something.  There is supposed to be
  2676.        a Company field  between the Last Name  and Address.  One  of the
  2677.        options at the bottom of the screen is <I>nsert.  Press:
  2678.                                     I
  2679.  
  2680.        Remember,  no <Enter>.    File Express  now  asks, "Insert  field
  2681.        before which number?".  We want to insert the Company field above
  2682.        the Address field which is number 4, so type:
  2683.  
  2684.                                 4 <Enter>
  2685.  
  2686.        File Express moves fields 4 through  11 down one line and inserts
  2687.        a new  blank line  where we  want to  put the  Company field  and
  2688.        prompts for the field name.
  2689.  
  2690.  
  2691.  
  2692.                                                             TUTORIAL  49
  2693.   ----------------------------------------------------------------------
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.        Type:
  2705.  
  2706.                     Company <Enter> <Enter> 30 <Enter>
  2707.  
  2708.        This fills in  the missing field and takes you back to the option
  2709.        prompt at the bottom of the screen.
  2710.  
  2711.        Let's change the  name of the  first field from  When Entered  to
  2712.        Date Entered.  Press:
  2713.  
  2714.                                     C
  2715.  
  2716.        to select the <C>hange option.  Answer the "Enter Field Number to
  2717.        Change" question with:
  2718.  
  2719.                                 1 <Enter>
  2720.  
  2721.        The cursor jumps back up to the name prompt on field one.  Type:
  2722.  
  2723.                                Date <Enter>
  2724.  
  2725.        over the When portion of the old field name and press:
  2726.  
  2727.                                  <Enter>
  2728.  
  2729.        to keep the  D in the  -type- column.  Now  were are back  to the
  2730.        options prompt again.  
  2731.  
  2732.        We forgot another  field, Phone Number.   We want to put  this at
  2733.        the end of the list.  Press:
  2734.  
  2735.                                     A
  2736.  
  2737.        for the <A>dd  option which put  us back  into adding new  fields
  2738.        mode.  Type:
  2739.  
  2740.                            Phone Number <Enter>
  2741.  
  2742.        For the -type- column press:
  2743.  
  2744.                                     U
  2745.  
  2746.  
  2747.  
  2748.   50  TUTORIAL
  2749.   ----------------------------------------------------------------------
  2750.  
  2751.        for a User-defined field.  For the -length- type:
  2752.  
  2753.                                 13 <Enter>
  2754.  
  2755.        File Express now  prompts for the edit  mask for this field.   An
  2756.        edit   mask  is  a   set  of   predefined  characters   that  are
  2757.        automatically filled into the field before you add information to
  2758.        it.   When you  do add  information, the  cursor  jumps over  the
  2759.        predefined characters  so you  don't have  to type  them.   Phone
  2760.        numbers are generally  in the format: "(    )   -     ", so it is
  2761.        natural for an edit mask.  Type:
  2762.  
  2763.                              (   )   -<Enter>
  2764.  
  2765.        (That  is   an  open   parenthesis,  three   spaces,  a   closing
  2766.        parenthesis, three more spaces,  a dash, and  then <Enter>.   Now
  2767.        press:
  2768.  
  2769.                                  <Enter>
  2770.  
  2771.        one more time to get back down to the options prompt.
  2772.  
  2773.        One  last change  before  we save  the  new database  definition,
  2774.        Let's move the Phone Number field up between the Zip Code and the
  2775.        How Many fields.  Press:
  2776.  
  2777.                                     M
  2778.  
  2779.        for the <M>ove option.   When prompted to "Enter  Field Number to
  2780.        Move", answer:
  2781.  
  2782.                                 13 <Enter>
  2783.  
  2784.        When asked which field to move it before, answer:
  2785.  
  2786.                                 9 <Enter>
  2787.  
  2788.        File Express  moves the  field into  its correct  position.   The
  2789.        screen should now look like this:
  2790.  
  2791.        Now we are ready to save the new format.  Press:
  2792.  
  2793.                                     S
  2794.  
  2795.        for the <S>ave option.
  2796.  
  2797.                                  <Enter>
  2798.  
  2799.        to accept it.  As a final question, File Express  asks for a file
  2800.        description.  Type:
  2801.  
  2802.  
  2803.  
  2804.                                                             TUTORIAL  51
  2805.   ----------------------------------------------------------------------
  2806.  
  2807.                   Example database for Tutorial <Enter>
  2808.  
  2809.        This description will be displayed on the Open a Database  screen
  2810.        in the future to remind you of the purpose of the database.
  2811.  
  2812.        File Express now saves your  new database definition and  returns
  2813.        you to the Main Menu.
  2814.  
  2815.   Lesson Two: Adding New Records
  2816.        If  you are not at the  Main Menu, press the  <Esc> key until the
  2817.        Main Menu screen is displayed.  Adding new records  is easy: just
  2818.        select menu choice 2 - Add New Records by pressing:
  2819.  
  2820.                                     2
  2821.  
  2822.        A screen  similar to  the one  used for  displaying and  changing
  2823.        records is displayed, except all the fields are empty:
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.                  Registered Version has screen picture here
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.        To add a new record  to the database, just enter the data in each
  2842.        field then press the <F10> key when you are done.   Let's fill in
  2843.        the first field of the first record.  Type:
  2844.  
  2845.                               061290 <Enter>
  2846.  
  2847.        Because this is a Date field, the cursor skips over the dashes as
  2848.        you enter the numbers.  Now fill in the name and address.  Type:
  2849.  
  2850.                       David          <Enter>
  2851.                       Berdan         <Enter>
  2852.                       Expressware    <Enter>
  2853.                       PO Box 1800    <Enter>
  2854.                       Duvall         <Enter>
  2855.                       WA             <Enter>
  2856.                       98019-1800     <Enter>
  2857.  
  2858.  
  2859.  
  2860.   52  TUTORIAL
  2861.   ----------------------------------------------------------------------
  2862.  
  2863.        The  cursor is now on the Phone  Number field.  Because this is a
  2864.        User-defined field,  the parenthesis  and dash are  automatically
  2865.        placed in the field.   To fill this type of field,  just type the
  2866.        numbers to fill the blanks:
  2867.  
  2868.                             2067880932 <Enter>
  2869.  
  2870.        For the How Many field, enter:
  2871.  
  2872.                                 10 <Down>
  2873.  
  2874.        Notice how  the <Down>  key works the  same as  the <Enter>  key.
  2875.        When entering  numbers into  a Numeric field,  the input  is left
  2876.        justified as  you enter it  but is formatted  and right-justified
  2877.        when you leave the field.
  2878.  
  2879.        Into the How Much field, type:
  2880.  
  2881.                                4.6 <Enter>
  2882.  
  2883.        Two things now happen.   First, the 4.6 you entered  is converted
  2884.        to  4.60 and redisplayed right-justified, and second, because the
  2885.        Balance Due field  is a formula field, its  answer is calculated,
  2886.        formatted and  printed in  its place  to the right  of the  field
  2887.        name.
  2888.  
  2889.        The last field on the input screen is the Comments field.  Notice
  2890.        the "+" sign at  the right end of the field.  This shows you that
  2891.        the field is longer  than will fit on the screen and  that as you
  2892.        enter information, the  field will scroll sideways to  make room.
  2893.        Enter:
  2894.  
  2895.             Expressware    publishes    File    Express,    ExpressCalc,
  2896.   ExpressCheck,       ExpressGraph, and On-Side <Enter>
  2897.  
  2898.        As you were  typing ExpressGraph, the field  started scrolling to
  2899.        the left to make room for the remainder of the sentence.
  2900.  
  2901.        After pressing <Enter>, the Comments field was reprinted from its
  2902.        left end and File Express asks if you would now like to save this
  2903.        record on disk.  Your screen should look like this:
  2904.  
  2905.        To save the record, press
  2906.  
  2907.                                  <Enter>
  2908.  
  2909.        The record is  saved on disk and a new, blank record is displayed
  2910.        and ready for your input.  
  2911.  
  2912.  
  2913.  
  2914.                                                             TUTORIAL  53
  2915.   ----------------------------------------------------------------------
  2916.  
  2917.        Since the second records information will be very similar to  the
  2918.        previous record, we would like to  start with a copy of the  last
  2919.        record we just entered.  To do this, press:
  2920.  
  2921.                                  <Alt-R>
  2922.  
  2923.        All the field entries from the previous record are duplicated and
  2924.        printed on the screen.  Make the following changes:
  2925.  
  2926.                  <Down> Ken <Spacebar> <Spacebar> <Enter>
  2927.                  McGinnis <Enter>
  2928.                  <Enter> <Enter> <Enter> <Enter> <Enter> <Enter>
  2929.                  20 <Enter>
  2930.                  8 <Enter>
  2931.  
  2932.        Your screen now looks like this:
  2933.  
  2934.        To save the record press:
  2935.  
  2936.                              <Enter> <Enter>
  2937.  
  2938.        The third record we will enter has  the same date as the previous
  2939.        record, but all the remaining information will be different.   To
  2940.        copy a field from the previous record, press:
  2941.  
  2942.                                  <Ctrl-R>
  2943.  
  2944.        The previous  date is placed into the  Date Entered field and the
  2945.        cursor  moves to  the First  Name field.   To complete  the third
  2946.        record fill the following:
  2947.  
  2948.                  Howard    <Enter>
  2949.                  Smith          <Enter>
  2950.                            <Enter>
  2951.                  789 West 3rd   <Enter>
  2952.                  Mill Creek     <Enter>
  2953.                  CA        <Enter>
  2954.                  90262          <Enter>
  2955.                            <Enter>
  2956.                  16        <Enter>
  2957.                  222.48    <Enter>
  2958.                  Does not have a phone <Enter>
  2959.  
  2960.        Note that nothing  was entered into the Company  and Phone Number
  2961.        fields.  Your screen looks like this:
  2962.  
  2963.  
  2964.        Did you  notice that when you  just pressed <Enter> on  the Phone
  2965.        Number field without entering a phone number, the parentheses and
  2966.        dash disappeared?  This is a feature of a User-defined,  and Date
  2967.        field. 
  2968.  
  2969.  
  2970.  
  2971.   54  TUTORIAL
  2972.   ----------------------------------------------------------------------
  2973.  
  2974.        Before you save the record, you notice that the How Much entry is
  2975.        supposed to  be 2.48,  not 222.48.   To  go back  and change  the
  2976.        field, press:
  2977.  
  2978.                                     C
  2979.  
  2980.        to get back into edit mode, and:
  2981.  
  2982.                  <Down><Down><Down><Down><Down>
  2983.                  <Down><Down><Down><Down><Down>
  2984.  
  2985.        to move back down to the How Much field.
  2986.  
  2987.        As an experiment, press the period key:
  2988.  
  2989.                                     .
  2990.  
  2991.        File  Express just  beeped because  you  were trying  to enter  a
  2992.        decimal into  the  first position  of  the field  and  there  was
  2993.        already  a decimal  in the  third  position.   Now type  (without
  2994.        pressing the <Enter> key):
  2995.  
  2996.                                    2.48
  2997.  
  2998.        The result is  248.48.  When  you typed 2.48  you actually got  2
  2999.        beep 48.  There are two special things to remember when editing a
  3000.        Numeric  field:  Only  one  decimal  point  is  allowed  and  the
  3001.        <Spacebar> blanks  from the  cursor position  to the  end of  the
  3002.        field.  With this information we can fix the entry by pressing:
  3003.  
  3004.                   <Left> <Left> <Spacebar> .48 <Enter> 
  3005.  
  3006.        Of course the easiest way to change 222.48 into 2.48 would  be to
  3007.        just press the <Del> key twice to delete the first two 2's.   But
  3008.        then you wouldn't have learned as much.
  3009.  
  3010.        Now press:
  3011.  
  3012.                              <Enter> <Enter>
  3013.  
  3014.        to save the third record.
  3015.  
  3016.        You can actually  save a  record at  any time  by pressing  <F10>
  3017.        while  the cursor is in any input field.   When you save a record
  3018.        this way, the Save window is not popped up.
  3019.  
  3020.        To return to the Main Menu, press:
  3021.  
  3022.                                   <Esc>
  3023.  
  3024.  
  3025.  
  3026.                                                             TUTORIAL  55
  3027.   ----------------------------------------------------------------------
  3028.  
  3029.        Important: when  you are  done adding  or changing  records in  a
  3030.        database, always  return to the  Main Menu  before removing  your
  3031.        diskettes or turning off your computer.  File Express runs  under
  3032.        the control of  your own DOS program, and sometimes  DOS does not
  3033.        write all your changes to disk until the data files are "closed".
  3034.        This occurs each time you return to the Main Menu and after every
  3035.        fifth record change. 
  3036.  
  3037.        By returning to the Main Menu after finishing with File  Express,
  3038.        you ensure that DOS  has written everything to disk.   If you are
  3039.        concerned  about  potential  loss  of  data,  it  is possible  to
  3040.        configure  File Express to  close the database  files after every
  3041.        update.   This  causes  a noticeable  slow-down  when  adding  or
  3042.        changing records on  a diskette system, but ensures  that data is
  3043.        immediately stored on disk by requiring DOS to write it. 
  3044.  
  3045.  
  3046.  
  3047.   56  TUTORIAL
  3048.   ----------------------------------------------------------------------
  3049.  
  3050.   Lesson Three: Painted Screens
  3051.        On  the input  screen you  used in  Lesson  Two, the  fields were
  3052.        arranged in  a simple  vertical column.   File  Express lets  you
  3053.        custom design input screens where you  can move the fields to any
  3054.        position  on the screen,  draw lines,  and add  text.   Using the
  3055.        Paint feature of File Express, you can  create visually appealing
  3056.        input screens that are  easier to fill in and  can actually mimic
  3057.        the layout from which you are entering the information.
  3058.  
  3059.        To create a new input screen, called a View, press:
  3060.  
  3061.                                     M
  3062.  
  3063.        from the Main Menu to display the Maintenance Menu.  Then press:
  3064.  
  3065.                                     P
  3066.        to display the View Menu:
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.                  Registered Version has screen picture here
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.        To design a new View, press:
  3085.  
  3086.                                     D
  3087.  
  3088.  
  3089.  
  3090.                                                             TUTORIAL  57
  3091.   ----------------------------------------------------------------------
  3092.  
  3093.        An empty painted screen appears:
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.                  Registered Version has screen picture here
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.        Each Painted screen is 21 lines  high and 80 characters wide.   A
  3113.        View  can  consist of  up to  10 Painted  screens (also  known as
  3114.        Pages).  You can  move the cursor around the screen  by using the
  3115.        <Up>, <Down>,  <Left>, and  <Right> cursor keys.   As  the cursor
  3116.        moves, the  row and  column position of  the cursor  is displayed
  3117.        near the lower right corner of the screen.  In the screen picture
  3118.        above,  "p= 1:r= 1:c=  1" means the  cursor is on  page 1, row 1,
  3119.        column 1.  
  3120.  
  3121.        Now  we are going to place the input fields inside the box.  Move
  3122.        the cursor to row 4, column 10 by pressing:
  3123.  
  3124.                       <Down> three times 
  3125.                       <Right> nine times
  3126.  
  3127.        To place the first field on the screen, press:
  3128.  
  3129.                                  <Alt-F>
  3130.  
  3131.        This pops up a list window containing the name and length of each
  3132.        field you have define  for the EXAMPLE database.   Since the Date
  3133.        Entered field is highlighted and is the field we want to place on
  3134.        the screen, just press:
  3135.  
  3136.                                  <Enter>
  3137.  
  3138.        File Express  now gives  you three  choices on how  to place  the
  3139.        field on the screen.  You  can either put just the input  portion
  3140.        of  the field on  the screen, both  the field name  and the input
  3141.        portion on  the  screen, or,  if the  field is  40 characters  or
  3142.        longer,  you can  put the field  on the  screen in  a rectangular
  3143.  
  3144.  
  3145.  
  3146.   58  TUTORIAL
  3147.   ----------------------------------------------------------------------
  3148.  
  3149.        block.   We  will be  using the  Name &  Field option.   Move the
  3150.        highlight bar down to this choice and select it by pressing:
  3151.  
  3152.                               <Down> <Enter>
  3153.  
  3154.        Now  tell File Express  to place the  field as an  Input field by
  3155.        pressing:
  3156.  
  3157.                                  <Enter>
  3158.  
  3159.        to accept the  default answer of I.  File Express now places both
  3160.        the field name and its input portion on the screen.
  3161.  
  3162.        Move the cursor to row 6, column 10 by pressing:
  3163.  
  3164.                <Down> twice, <Home> and <Right> nine times
  3165.  
  3166.        The next field  we want to  put on the  screen is the First  Name
  3167.        field.  Press:
  3168.  
  3169.                                  <Alt-F>
  3170.  
  3171.        to pop up the field name list.  Notice that  the First Name field
  3172.        is already highlighted.  Press:
  3173.  
  3174.                          <Enter> <Enter> <Enter>
  3175.  
  3176.        to place the field with  its field name as  an input field.   The
  3177.        cursor  is left  one character  past the end  of the  field, just
  3178.        where we want to put the Last Name.  Press:
  3179.  
  3180.                      <Alt-F> <Enter> <Enter> <Enter>
  3181.  
  3182.        Now move the cursor to row 7, column 10 by pressing:
  3183.  
  3184.                       <Enter> and <Right> nine times
  3185.  
  3186.        (from here  on we  won't give  you the  exact keys  to move  to a
  3187.        specific row and  column location on  the screen.   We will  just
  3188.        tell  you want  row and  column to  move to  and you can  use the
  3189.        cursor keys to get there any way you like).
  3190.  
  3191.        Now, to put the Address and Company on the screen by pressing:
  3192.  
  3193.                      <Alt-F> <Enter> <Enter> <Enter>
  3194.                          move to row 8, column 10
  3195.                      <Alt-F> <Enter> <Enter> <Enter>
  3196.                          move to row 9, column 10
  3197.  
  3198.        Now for City, State, and Zip Code, press:
  3199.  
  3200.  
  3201.  
  3202.                                                             TUTORIAL  59
  3203.   ----------------------------------------------------------------------
  3204.  
  3205.                      <Alt-F> <Enter> <Enter> <Enter>
  3206.                      <Alt-F> <Enter> <Enter> <Enter>
  3207.                      <Alt-F> <Enter> <Enter> <Enter>
  3208.  
  3209.        Put the Phone Number field at row 11, column 10, How  Much at row
  3210.        13, column 10 and How Much at row 14, column 10 by pressing:
  3211.  
  3212.                         move to row 11, column 10
  3213.                      <Alt-F> <Enter> <Enter> <Enter>
  3214.                         move to row 13, column 10
  3215.                      <Alt-F> <Enter> <Enter> <Enter>
  3216.                         move to row 14, column 10
  3217.                      <Alt-F> <Enter> <Enter> <Enter>
  3218.  
  3219.        Now move to row 16,  column 10 and put  the Balance Due field  on
  3220.        the screen by pressing:
  3221.  
  3222.                         move to row 16, column 10
  3223.                          <Alt-F> <Enter> <Enter>
  3224.  
  3225.        Since  the  Balance Due  field  is  a  Formula field,  the  Input
  3226.        question was skipped because a formula field won't accept input.
  3227.  
  3228.  
  3229.  
  3230.   60  TUTORIAL
  3231.   ----------------------------------------------------------------------
  3232.  
  3233.        The screen should now look like this:
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.                  Registered Version has screen picture here
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.        Before we proceed any further, lets line up some of the fields on
  3253.        the screen.  When a field name and field are placed on the screen
  3254.        there is  only one space  put between them.   Vertical columns of
  3255.        input fields  don't line  up if their  field names  are different
  3256.        lengths.  As you can  see, the First Name, Company,  Address, and
  3257.        City fields don't line up.  Neither do the three number fields at
  3258.        the bottom.
  3259.  
  3260.                          move to row 7, column 18
  3261.  
  3262.        Press:
  3263.                                  <Insert>
  3264.  
  3265.        to put the cursor into  insert mode.  When the cursor  is in this
  3266.        mode, it changes  from a blinking underline to  a blinking block.
  3267.        Now press:
  3268.  
  3269.                           <Spacebar> three times
  3270.  
  3271.        to  push the input  field three places  to the right.   Now let's
  3272.        line the remaining fields:
  3273.  
  3274.                          move to row 8, column 18
  3275.                           <Spacebar> three times
  3276.                          move to row 9, column 15
  3277.                            <Spacebar> six times
  3278.                         move to row 13, column 19
  3279.                           <Spacebar> eight times
  3280.                         move to row 14, column 19
  3281.                           <Spacebar> five times
  3282.  
  3283.  
  3284.  
  3285.                                                             TUTORIAL  61
  3286.   ----------------------------------------------------------------------
  3287.  
  3288.        Now press:
  3289.  
  3290.                                  <Insert>
  3291.  
  3292.        again to take the cursor out of insert mode and change it back to
  3293.        a blinking underline.
  3294.  
  3295.        We want  to put  the last  field, Comments,  on the  screen as  a
  3296.        window field.  Move to row 12, column 39:
  3297.  
  3298.                         move to row 12, column 39
  3299.                              <Alt-F> <Enter>
  3300.  
  3301.        to pop  up the  field name  list and  select the Comments  field.
  3302.        Move  the highlight  bar  to Field  in Window  and  select it  by
  3303.        pressing:
  3304.  
  3305.                               <Down> <Enter>
  3306.  
  3307.        File Express displays  a block of blinking squares  two rows high
  3308.        and twenty characters wide.  This is the minimum size of a window
  3309.        field.  We can now  use the cursor keys to increase the width and
  3310.        height of the block to the size we want.  Press:
  3311.  
  3312.              <Right> eleven times and then <Down> four times
  3313.  
  3314.        The block is now the size we want so press:
  3315.  
  3316.                              <Enter> <Enter>
  3317.  
  3318.        to set the block as an input field.
  3319.  
  3320.  
  3321.  
  3322.   62  TUTORIAL
  3323.   ----------------------------------------------------------------------
  3324.  
  3325.        The screen should look like this:
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.                  Registered Version has screen picture here
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.        Now, lets put a  box around it all using the  line drawing option
  3344.        of File Express.
  3345.  
  3346.                          move to row 3, column 7
  3347.  
  3348.        Turn on the Line Drawing option by pressing:
  3349.  
  3350.                                  <Alt-L>
  3351.  
  3352.        <L>ine:OFF changes to <L>ine:ON at the bottom of the screen.  The
  3353.        <B>ox:     option  indicates   we  will  be  using   double  line
  3354.        characters while we draw lines.  Now to draw a box; press:
  3355.  
  3356.                          <Right> sixty-six times
  3357.  
  3358.        until the column counter  reaches 73.  Be careful not  to go past
  3359.        column 73.   (If you do, move the  cursor back to column 73 using
  3360.        the <Left> key.  You  will have an extra line on your  box but it
  3361.        won't affect the rest of the tutorial).  Now press:
  3362.  
  3363.                  <Down> sixteen times     (to row 19, column 73)
  3364.                  <Left> sixty-six times   (to row 19, column 7)
  3365.                  <Up> sixteen times  (to row 3, column 7)
  3366.                  <Right> <Alt-L>
  3367.  
  3368.        to finish off the last corner of the box and to turn off the Line
  3369.        option.  
  3370.  
  3371.  
  3372.  
  3373.                                                             TUTORIAL  63
  3374.   ----------------------------------------------------------------------
  3375.  
  3376.        Your screen should now look like this:
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.                  Registered Version has screen picture here
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.        The finishing touch will be a little bit of text:
  3395.  
  3396.                          move to row 2, column 34
  3397.                               Customer List
  3398.                         move to row 11, column 39
  3399.                                 Comments:
  3400.                         move to row 15, column 22
  3401.                                  --------
  3402.  
  3403.        We are finished!  To save our creation, press:
  3404.  
  3405.                                   <F10>
  3406.  
  3407.        File Express asks: "Save all changes [Y/N]? Y".  Press:
  3408.  
  3409.                                  <Enter>
  3410.  
  3411.        When prompted to "Enter a name for this view", type:
  3412.  
  3413.                              CARDFILE <Enter>
  3414.  
  3415.        and for the description:
  3416.                     Example of Painted Screen <Enter> 
  3417.  
  3418.        File Express now  saves your  new View  and returns  to the  View
  3419.        Menu.  Press:
  3420.  
  3421.                                <Esc> <Esc>
  3422.  
  3423.        to return to the Maintenance Menu, and then to the Main Menu.
  3424.  
  3425.        Now, let's look at your new input screen.  Press
  3426.  
  3427.  
  3428.  
  3429.   64  TUTORIAL
  3430.   ----------------------------------------------------------------------
  3431.  
  3432.                                     A
  3433.  
  3434.        for the Add New Records option.  The new Painted input  screen is
  3435.        displayed:
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.                  Registered Version has screen picture here
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.        Let's try it out.  Enter the follow record:
  3455.  
  3456.             062390         <Enter>
  3457.             Mary                <Enter>
  3458.             Contrary       <Enter>
  3459.             Gardening is Us     <Enter>
  3460.             100 Primrose Ave    <Enter>
  3461.             Rose City           <Enter>
  3462.             WA             <Enter>
  3463.             98224               <Enter>
  3464.             2065551212          <Enter>
  3465.             3              <Enter>
  3466.             1.95                <Enter>
  3467.             This is an example of the word-wrap feature of a window 
  3468.             field.  You can always see the entire contents of the 
  3469.             field and you don't have to worry where the words break. 
  3470.  
  3471.  
  3472.        To exit a block field, press:
  3473.  
  3474.                                <Ctrl-Enter>
  3475.  
  3476.        (If you have  set the Block Field  Exit Key to be <Enter>  in the
  3477.        FE5SETUP  program, you  can also  use  <Enter> here  to exit  the
  3478.        field.)
  3479.  
  3480.        Now, to save the record, press:
  3481.  
  3482.                                  <Enter>
  3483.  
  3484.  
  3485.  
  3486.                                                             TUTORIAL  65
  3487.   ----------------------------------------------------------------------
  3488.  
  3489.        and finally:
  3490.  
  3491.                                   <Esc>
  3492.  
  3493.        to return to the Main Menu.
  3494.  
  3495.  
  3496.  
  3497.   66  TUTORIAL
  3498.   ----------------------------------------------------------------------
  3499.  
  3500.   Lesson Four: Create an Index
  3501.        An Index  keeps track  of  the information  in  a database  in  a
  3502.        certain order.    Each time  you  add a  new  record or  edit  an
  3503.        existing  one, all the associated  indexes are updated.  Whenever
  3504.        you create a new database,  two indexes are automatically defined
  3505.        to  go along  with it, the  Record Number  index and  the Deleted
  3506.        Record index.  The Record Number index keeps track of the records
  3507.        you enter  in the  order of their  assigned record numbers.   The
  3508.        Deleted Record index keeps track of any records that are  deleted
  3509.        so they can  be reused by File  Express when you add  new records
  3510.        later.
  3511.  
  3512.        Most of the time, you will want to access the information in your
  3513.        database in an order  different than by record  number.  For  the
  3514.        purposes of  this tutorial we will  create two new indexes.   The
  3515.        first will  track the  information in  Last Name  order, and  the
  3516.        second in Company order.
  3517.  
  3518.        To create a new  index, make sure the Main Menu  is displayed and
  3519.        press:
  3520.  
  3521.                                     S
  3522.  
  3523.        to  select  the Sort  Index  option.    The Select  Index  window
  3524.        appears:
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.                  Registered Version has screen picture here
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.        As you can  see, the Record Number (Record #)  and Deleted Record
  3542.        indexes are already  on the  list.   A defined index  can have  a
  3543.        Status of either ACTIVE, INACTIVE, or PRIMARY.  An INACTIVE index
  3544.        is  not updated  as records  are  added or  changed.   ACTIVE and
  3545.        PRIMARY indexes are updated.  The PRIMARY index is used  whenever
  3546.        records are displayed or  printed in sequence.  There can only be
  3547.        one index  specified as PRIMARY at  any given time.   The PRIMARY
  3548.        status can be  reassigned to any ACTIVE index.   Sound confusing?
  3549.        Be patient.
  3550.  
  3551.  
  3552.  
  3553.                                                             TUTORIAL  67
  3554.   ----------------------------------------------------------------------
  3555.  
  3556.        The current PRIMARY index is Record Number.  If you were to print
  3557.        a report right now, it  would be printed in record  number order,
  3558.        which  is the order  in which we  entered the records.   Since we
  3559.        want to  be able to  look at our records  in Last Name  order, we
  3560.        have  to create a new index to keep  track of them in that order.
  3561.        To create this  new index, move  the highlight bar  to the  first
  3562.        UNUSED entry just below the Record Number index by pressing:
  3563.  
  3564.                                   <Down>
  3565.  
  3566.        To define this new index, press:
  3567.  
  3568.                                     E
  3569.  
  3570.        to select the <E>dit option.  The Edit Index screen appears:
  3571.  
  3572.  
  3573.  
  3574.  
  3575.  
  3576.  
  3577.                  Registered Version has screen picture here
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.        Press:
  3589.  
  3590.                        <Down> <Down> <Down> <Enter>
  3591.  
  3592.        to select the Last Name field as  the first field to keep sorted.
  3593.        At the Position prompt, press:
  3594.  
  3595.                              <Enter> <Enter>
  3596.  
  3597.        to accept the default of keeping track of the entire field in the
  3598.        index (1:20), and to keep the field in Ascending order.
  3599.  
  3600.  
  3601.  
  3602.   68  TUTORIAL
  3603.   ----------------------------------------------------------------------
  3604.  
  3605.        For Sort  Level 2 we will  use the First  Name field.   This will
  3606.        mean that  any records  that  have the  same  Last Name  will  be
  3607.        further sorted into First Name order.  Select the full First Name
  3608.        field in ascending order by pressing:
  3609.  
  3610.                        <Up> <Enter> <Enter> <Enter>
  3611.  
  3612.        We are now finished, so press:
  3613.  
  3614.                                   <F10>
  3615.  
  3616.        to tell File Express  we want to  save the new index  definition.
  3617.        For the name of the index and its description, enter:
  3618.  
  3619.                              LASTNAME <Enter>
  3620.                    Sorted into Last Name order <Enter>
  3621.  
  3622.        The Select Index screens reappears with the new LASTNAME index in
  3623.        the list with  a Status of  ACTIVE and  a check mark  in the  TAG
  3624.        column indicating the  new index is tagged to be  created when we
  3625.        press the <F10> key.  Before we  do, however, lets create another
  3626.        index that keeps the  information in Company  field order.   Type
  3627.        the following:
  3628.  
  3629.        <Down> E                      (next UNUSED and <E>dit)
  3630.        <Down> <Down> <Down> <Down>   (move to the Company field)
  3631.        <Enter> <Enter> <Enter>            (use all the default answers)
  3632.        <F10>                         (finished and save)
  3633.        COMPANY <Enter>                    (index name)
  3634.        Sorted in Company order <Enter>         (description)
  3635.  
  3636.  
  3637.  
  3638.                                                             TUTORIAL  69
  3639.   ----------------------------------------------------------------------
  3640.  
  3641.        Now we  are  back to  the  Select Index  list  which should  look
  3642.        something like this:
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.                  Registered Version has screen picture here
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.        Now, lets build both our new indexes by pressing:
  3662.  
  3663.                                   <F10>
  3664.  
  3665.        As the  new  indexes are  being  built, File  Express  keeps  you
  3666.        informed of its progress with a percentage gauge on the screen:  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.                  Registered Version has screen picture here
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.   When the indexes have been built, press any key to return  to the Main
  3685.   Menu.
  3686.  
  3687.  
  3688.  
  3689.   70  TUTORIAL
  3690.   ----------------------------------------------------------------------
  3691.  
  3692.   Lesson Five: Quick Scan
  3693.        The Quick Scan feature of File  Express is a great way to  view a
  3694.        lot of information  from multiple records on the  screen at once.
  3695.        All the data displayed can be edited right on the screen.
  3696.  
  3697.        From the Main Menu, press:
  3698.  
  3699.                                     FQ
  3700.  
  3701.        to  pull up the Find Menu  and select the Quick  Scan option.  At
  3702.        this point you  can either select up to eight specific field in a
  3703.        specific order, or  you can just press <Enter>  which selects the
  3704.        first eight fields in consecutive order.  Let's select the second
  3705.        choice.  Press:
  3706.  
  3707.                                  <Enter>
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713.  
  3714.  
  3715.  
  3716.                  Registered Version has screen picture here
  3717.  
  3718.  
  3719.  
  3720.  
  3721.  
  3722.  
  3723.  
  3724.  
  3725.        The Quick  Scan  option displays  up  to twenty  records  on  the
  3726.        screen.  As you move  to each field, you can edit its contents if
  3727.        edit mode is turned on.  Let's turn it on now by pressing:
  3728.  
  3729.                                  <Alt-E>
  3730.  
  3731.        In the lower right  corner of the  screen, <E>dit:OFF changes  to
  3732.        <E>dit:ON. 
  3733.  
  3734.        Now move from the Date Entered field  in the first record, to the
  3735.        First Name field.  Press:
  3736.  
  3737.                                   <Tab>
  3738.  
  3739.        Now lets change David to Dave.  Type:
  3740.  
  3741.                          Dave <Spacebar> <Enter>
  3742.  
  3743.  
  3744.  
  3745.                                                             TUTORIAL  71
  3746.   ----------------------------------------------------------------------
  3747.  
  3748.        As the cursor left  the changed field  when you pressed  <Enter>,
  3749.        the record was saved to disk with the new change.
  3750.  
  3751.        Notice that  the records  are displayed  in record number  order.
  3752.        The current PRIMARY index is displayed in the upper left  corner;
  3753.        Index:RECORD#.  Let's change to our Last Name index by pressing:
  3754.  
  3755.             <Alt-P>   (pull up Select Primary Index screen)
  3756.             <Down>    (move highlight bar to LASTNAME)
  3757.             <Enter>   (select it)
  3758.  
  3759.        Now the Quick Scan screen is displayed in Last Name order.
  3760.  
  3761.        Move to the Last Name field on the bottom record, Smith, with:
  3762.  
  3763.                             <Ctrl-PgDn> <Tab>
  3764.  
  3765.        Now change Smith to Anderson, by typing:
  3766.  
  3767.                              Anderson <Enter>
  3768.  
  3769.        Because the  Last  Name field  was  part of  the  Primary  index,
  3770.        changing it caused File Express to rearrange the records into the
  3771.        proper order.
  3772.  
  3773.        The  cursor is  now in the  Berdan record.   To display  the full
  3774.        record, press:
  3775.  
  3776.                                  <Alt-R>
  3777.  
  3778.        You can now edit any of  the fields in the record.  To  return to
  3779.        Quick Scan mode, press:
  3780.  
  3781.                                   <F10>
  3782.  
  3783.        To return to the Main Menu, press:
  3784.  
  3785.                                <Esc> <Esc>
  3786.  
  3787.  
  3788.  
  3789.   72  TUTORIAL
  3790.   ----------------------------------------------------------------------
  3791.  
  3792.   Lesson Six: Create a Report
  3793.        One of the most important reasons for entering information into a
  3794.        database is to get  useful information back out later.  A printed
  3795.        reports can compile mountains of data and present it in a useable
  3796.        format.
  3797.  
  3798.        To define a report, make sure you  are viewing the Main Menu, and
  3799.        press:
  3800.  
  3801.                                     R
  3802.  
  3803.        to  select  the Report  Writer  option.    When the  Report  Menu
  3804.        appears, press:
  3805.  
  3806.                                     D
  3807.  
  3808.        to Design  a new Report.   The first  screen to appear  is titled
  3809.        Report Size and Spacing:  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.                  Registered Version has screen picture here
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.        For  our  example report  format  we  will  use all  the  default
  3828.        answers, so press:
  3829.  
  3830.                                   <F10>
  3831.  
  3832.  
  3833.  
  3834.                                                             TUTORIAL  73
  3835.   ----------------------------------------------------------------------
  3836.  
  3837.        to move on to the Report Layout screen:
  3838.  
  3839.  
  3840.  
  3841.  
  3842.  
  3843.  
  3844.                  Registered Version has screen picture here
  3845.  
  3846.  
  3847.  
  3848.  
  3849.  
  3850.  
  3851.  
  3852.  
  3853.  
  3854.  
  3855.  
  3856.        The cursor is at the  left edge of the Detail  area.  To put  the
  3857.        Last Name field on the report in that position, press:
  3858.  
  3859.             <Alt-F>        (pop up the field list window)
  3860.             <Down> <Down>  (move the highlight to Last Name)
  3861.             <Enter>        (select it)
  3862.             <Enter>        (select field without field name)
  3863.  
  3864.        Now put the First Name field on the report by pressing:
  3865.  
  3866.             <Alt-F> <Up> <Up> <Enter> <Enter>
  3867.  
  3868.        Now the three numeric fields by typing:
  3869.  
  3870.        <Alt-F>                       (pop up field list)
  3871.        <Down> seven times <Enter> <Enter>      (select   the  How   Many
  3872.   field)
  3873.        <Alt-F> <Enter> <Enter>            (select the How Much field)
  3874.        <Alt-F> <Enter> <Enter>            (select the Balance Due field)
  3875.  
  3876.  
  3877.  
  3878.   74  TUTORIAL
  3879.   ----------------------------------------------------------------------
  3880.  
  3881.        The screen should look like this:
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.                  Registered Version has screen picture here
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.        Now, let's put  a title on  the report.   When the Report  Layout
  3900.        screen was first displayed, only the Detail area had a blank line
  3901.        already inserted.  All  the other areas are empty and  contain no
  3902.        lines at all.   The <Alt-I> key  is used to  insert a line  right
  3903.        above the  line the cursor is on.  To  insert a line in the Title
  3904.        area move the cursor up so it is on the     Headings     line and
  3905.        insert a line by typing:
  3906.  
  3907.             <Up> <Up> (to get to the Headings line)
  3908.             <Alt-I>   (to insert a line in the Title area)
  3909.             <Home>    (move cursor to column 1)
  3910.  
  3911.        Type in the following title:
  3912.  
  3913.                           Example Report Layout
  3914.  
  3915.        The title is  left justified but we  want to have it  centered on
  3916.        our report.   File  Express has a  feature called  Text Alignment
  3917.        that can be used to automatically format  the text on any line of
  3918.        a report.  To  demonstrate the Text  Alignment capability in  the
  3919.        Title press:
  3920.  
  3921.             <Alt-A>   (to select Text Alignment)
  3922.             <C>       (to select Centering)
  3923.  
  3924.        File  Express automatically centers  the title within  the Report
  3925.        Width  setting (which is  80 in this  case).  Although  the title
  3926.        looks off  center right  now, it is  actually centered  within 80
  3927.        characters and will print in the center of the page.  
  3928.  
  3929.  
  3930.  
  3931.                                                             TUTORIAL  75
  3932.   ----------------------------------------------------------------------
  3933.  
  3934.  
  3935.        The screen now looks like this:
  3936.  
  3937.  
  3938.  
  3939.  
  3940.  
  3941.  
  3942.                  Registered Version has screen picture here
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.        Now, we need some Headings.  Again, we can use Area Formatting to
  3954.        help us out.  The most commonly used format for a Heading area is
  3955.        to use the field names as column headings and a dashed line below
  3956.        them for the length of the field.  To automatically generate this
  3957.        style of Heading, type:
  3958.  
  3959.             <Down><Down>   (to move to the     Headings     line)
  3960.             <Alt-G>        (to Generate the Headings area format)
  3961.  
  3962.  
  3963.  
  3964.   76  TUTORIAL
  3965.   ----------------------------------------------------------------------
  3966.  
  3967.        The screen now looks like this:
  3968.  
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.                  Registered Version has screen picture here
  3975.  
  3976.  
  3977.  
  3978.  
  3979.  
  3980.  
  3981.  
  3982.  
  3983.  
  3984.        When putting the field names above the columns, only the  portion
  3985.        that fits is  used.   For example,  the How Many  column is  only
  3986.        three characters wide so only  How will fit above it.   To make a
  3987.        report look better, you can insert another line and make two line
  3988.        headings, or you can spread out the  fields in the Detail area so
  3989.        that longer column  headings can be used.   For our example here,
  3990.        however, we  will simply type over some of the column headings so
  3991.        they make more sense.  Do the following:
  3992.  
  3993.             move to the first How in line 1 of the Heading area
  3994.             type ### over the How
  3995.             move right one space and type $$$.$$ over the How Mu
  3996.  
  3997.        Now, let's format the Total area:
  3998.  
  3999.             move the cursor to the     Footer     line
  4000.             <Alt-I> <Alt-I> (to insert two lines in the Total area)
  4001.             move to Row 1, Col 35 in the Total area
  4002.             --- ------ --------
  4003.             move to Row 2, Col 35 in the Total area
  4004.             <Alt-F>        (pop up field list)
  4005.             move the highlight bar to the HOW MANY field
  4006.             <Enter>        (pop up the field type window)
  4007.             move the highlight bar to Field.TOTAL
  4008.             <Enter>        (to select it)
  4009.             QTY <Enter>    (for the field name)
  4010.             N              (make this a numeric field)
  4011.             <Enter>        (to confirm formula)
  4012.             <Enter>        (to confirm field length)
  4013.             <Enter>        (to confirm decimal places)
  4014.  
  4015.        Now we will repeat this for the next two fields:
  4016.  
  4017.             <Alt-F>
  4018.  
  4019.  
  4020.  
  4021.                                                             TUTORIAL  77
  4022.   ----------------------------------------------------------------------
  4023.  
  4024.             <Enter>
  4025.             <Enter>
  4026.             PRICE TOTAL <Enter>
  4027.             <Enter>
  4028.             <Enter>
  4029.             <Enter>
  4030.             <Enter>
  4031.  
  4032.             <Alt-F>
  4033.             <Enter>
  4034.             <Enter>
  4035.             TOTAL DUE <Enter>
  4036.             <Enter>
  4037.             <Enter>
  4038.             <Enter>
  4039.             <Enter>
  4040.  
  4041.  
  4042.        We are finished defining the layout for our report, so press:
  4043.  
  4044.             <F10>
  4045.  
  4046.  
  4047.  
  4048.   78  TUTORIAL
  4049.   ----------------------------------------------------------------------
  4050.  
  4051.        The Report Optional Specification screen appears:
  4052.  
  4053.  
  4054.  
  4055.  
  4056.  
  4057.  
  4058.                  Registered Version has screen picture here
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.        We will accept all the default answers on this screen, so press:
  4070.  
  4071.                                   <F10>
  4072.  
  4073.        again to bring up the Report Output Options screen:
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.                  Registered Version has screen picture here
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.  
  4090.  
  4091.        Again, accept all the default answers by pressing:
  4092.  
  4093.                                   <F10>
  4094.  
  4095.  
  4096.  
  4097.                                                             TUTORIAL  79
  4098.   ----------------------------------------------------------------------
  4099.  
  4100.        The Select Primary  Index screen pops up.   We want to  print our
  4101.        records in  Last Name  order, so  move the highlight  bar to  the
  4102.        LASTNAME line and press:
  4103.  
  4104.                                  <Enter>
  4105.  
  4106.        File  Express now asks if  you would like  to "Save all changes".
  4107.        Press:
  4108.  
  4109.                                     Y
  4110.  
  4111.        For the name and description of the report, enter:
  4112.  
  4113.                              EXAMPLE <Enter>
  4114.                       Example Report Layout <Enter>
  4115.  
  4116.        File Express  now confirms  where you  want  the report  printed.
  4117.        Press:
  4118.  
  4119.                                     S
  4120.  
  4121.        The report is printed to the screen and looks like this:
  4122.  
  4123.  
  4124.  
  4125.  
  4126.  
  4127.  
  4128.                  Registered Version has screen picture here
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.        Press:
  4140.  
  4141.                                 <Spacebar>
  4142.  
  4143.        to return to the Main Menu.
  4144.  
  4145.  
  4146.  
  4147.   80  TUTORIAL
  4148.   ----------------------------------------------------------------------
  4149.  
  4150.        You now  have a  basic understanding  of File  Express menus  and
  4151.        prompts, and  you know  how  to "find  your  way around"  in  the
  4152.        program.   There are  hundreds of other  options and  features of
  4153.        File Express which this tutorial did not discuss.  The  remainder
  4154.        of this  manual explains  all these features,  so you  can review
  4155.        them as you need them. 
  4156.  
  4157.  
  4158.  
  4159.                                                   OPENING A DATABASE  81
  4160.   ----------------------------------------------------------------------
  4161.  
  4162.  
  4163.                            Opening a Database 
  4164.  
  4165.        Before you can add  records to a database, or print  a report, or
  4166.        do anything  in File  Express, the  program needs  to know  which
  4167.        database you want  to work with.   When File Express  is started,
  4168.        there are three ways to identify the database to be used: 
  4169.  
  4170.             1) From the command line. 
  4171.             2) From the Setup program. 
  4172.             3) If  neither of  the other methods  is used,  File Express
  4173.             goes  directly to the Open        A Database screen and asks
  4174.             you to select a database from the list. 
  4175.  
  4176.        Option  number  1  was described  previously  under  Command Line
  4177.        Options.  Option  2 is described in the  Customizing File Express
  4178.        section.  The following description pertains to option 3:
  4179.  
  4180.        After starting File Express and answering  the database drive and
  4181.        path questions, a list  is presented.   This screen displays  all
  4182.        the databases  on your  data disk, and  asks which  one is  to be
  4183.        opened. 
  4184.  
  4185.        If you  have  just installed  File  Express, there  is  only  one
  4186.        database displayed; it  is called  TUTORIAL.  It  is the one  you
  4187.        copied onto your disk  during the installation  process.  If  you
  4188.        have created additional databases, they are displayed in the list
  4189.        as well.  If you get a message telling you there are no databases
  4190.        on the disk, please refer to the Defining a New Database section.
  4191.  
  4192.  
  4193.  
  4194.   82  OPENING A DATABASE
  4195.   ----------------------------------------------------------------------
  4196.  
  4197.        The databases found on the drive and path selected are  displayed
  4198.        on  the screen  alphabetically.   The  database selection  screen
  4199.        looks like this: 
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.                  Registered Version has screen picture here
  4207.  
  4208.  
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.        Several  functions may be  performed from the  database selection
  4219.        screen: 
  4220.  
  4221.        *    An  existing database  can be chosen,  by either  moving the
  4222.             highlighted bar  to the desired  database name or  by typing
  4223.             the database  name directly  into the input  field.   As you
  4224.             move the highlighted bar up and down using the cursor  keys,
  4225.             <PgUp> and <PgDn> keys,  or your mouse if you  have one, the
  4226.             name of  the currently highlighted database is automatically
  4227.             filled  into the  input field  for  you.   When the  correct
  4228.             database name is in the  input field, pressing <Enter> tells
  4229.             File Express to go ahead and open that file.
  4230.  
  4231.        *    A new database can be  defined by typing in a  database name
  4232.             not already in use.   The screen for defining a new database
  4233.             is displayed  and explained  below.   If you  end up  at the
  4234.             Define  Screen  because  of  misspelling  a  database  name,
  4235.             pressing <Esc> returns  you to the database name  list where
  4236.             you can try again.
  4237.  
  4238.        *    An existing database can be deleted by highlighting its name
  4239.             in  the list  and pressing <Alt-D>.   File  Express confirms
  4240.             your intention  for the database  to be destroyed  before it
  4241.             continues.    Erasing  a database  eliminates  all  its data
  4242.             records and indexes  plus any report  and label formats  and
  4243.             keyboard macro file associated with the database.  
  4244.  
  4245.        *    An existing database can be renamed (given a different name)
  4246.             by pressing <Alt-R>  when the database name  is highlighted.
  4247.             File Express prompts for the new name and description.   The
  4248.  
  4249.  
  4250.  
  4251.                                                   OPENING A DATABASE  83
  4252.   ----------------------------------------------------------------------
  4253.  
  4254.             new name may  be any valid DOS  file name from one  to eight
  4255.             characters, and may not already be in use as a database name
  4256.             on the same drive and subdirectory. 
  4257.  
  4258.        *    If you  want  to display  a list  of database  files from  a
  4259.             different path, press <Alt-P>.  File Express  takes you back
  4260.             to the Drive and Path prompts.
  4261.  
  4262.        *    You can make a copy of an existing database by  highlighting
  4263.             it name and pressing <Alt-C>.  File Express asks you for the
  4264.             name and description of the new database and which parts you
  4265.             want to copy.
  4266.  
  4267.        *    When you  define a  new database and  save it,  File Express
  4268.             prompts you to enter a description up to 40 characters long.
  4269.             This  description is  saved  in  the  header file  for  that
  4270.             database.   If you  want to  change  the description,  press
  4271.             <Alt-E> while the database line is highlighted.
  4272.  
  4273.        If you are running File Express from diskettes, and you  discover
  4274.        your database is not on the diskette  currently in drive B, press
  4275.        <Esc> to return to the Main Menu or the Path prompt, then put the
  4276.        new diskette in  drive B and select Open A Database from the Main
  4277.        Menu or press <Enter> on the Path prompt again. 
  4278.  
  4279.        After  File  Express  opens  your  database,  the  Main  Menu  is
  4280.        displayed:
  4281.  
  4282.  
  4283.  
  4284.   84  DEFINE A DATABASE
  4285.   ----------------------------------------------------------------------
  4286.  
  4287.    
  4288.                          Defining A New Database
  4289.  
  4290.  
  4291.   Database Definition Screen
  4292.        When the  database  name entered  does  not already  exist,  File
  4293.        Express displays the Database Definition screen: 
  4294.  
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.                  Registered Version has screen picture here
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307.  
  4308.  
  4309.  
  4310.  
  4311.        The  fields of your new database are  entered on this screen, one
  4312.        per line.   A database may have  as many as 200  fields, provided
  4313.        the total  combined length  of the  fields does  not exceed  4000
  4314.        characters. 
  4315.  
  4316.        In addition to a name, each field has various attributes, such as
  4317.        type,  length,  and format,  which  are entered  on  this screen.
  4318.        Since there are several rules and considerations for each of  the
  4319.        columns  on this screen,  each column is  discussed separately in
  4320.        the following sections: 
  4321.  
  4322.  
  4323.   Field Name 
  4324.        When defining a  new database, you first need  to determine which
  4325.        pieces of  data (fields) are necessary.  If  need be, make a list
  4326.        of the fields on  paper before starting, then review  them to see
  4327.        if they should be broken down into smaller pieces.  For  example,
  4328.        if you have  the first and last  name together in a  field called
  4329.        "NAME",  there  is no  way  to sort  the records  into  last name
  4330.        sequence.   Likewise, if the CITY,  STATE and ZIP are together in
  4331.        one continuous field,  there is no way  to sort or select  by zip
  4332.        code. 
  4333.  
  4334.        Each field must  be given a name, from one  to twelve characters.
  4335.        The field name usually describes the data the  field holds.  Here
  4336.        are examples of some typical field names: 
  4337.  
  4338.  
  4339.  
  4340.                                                    DEFINE A DATABASE  85
  4341.   ----------------------------------------------------------------------
  4342.                                  empty
  4343.  
  4344.  
  4345.  
  4346.   86  DEFINE A DATABASE
  4347.   ----------------------------------------------------------------------
  4348.  
  4349.                  First Name          Invoice No.
  4350.                  Last Name      Account No.
  4351.                  Company Name   Part Number
  4352.                  Customer       Price
  4353.                  Address        Cost
  4354.                  Department          Amount
  4355.                  Phone Number   Quantity
  4356.                  City           Tax
  4357.                  State               Total
  4358.                  Zip Code       Mo-Day-Yr
  4359.                  Country        Date
  4360.  
  4361.        From the  examples above  you can  see that  spaces, periods  and
  4362.        dashes are allowed in  field names.  Just about any other special
  4363.        character may be  used too, but we  suggest you limit the  use of
  4364.        special characters,  because they can occasionally cause problems
  4365.        later when File Express is processing formulas.  For example,  if
  4366.        you  have fields  named  PRICE and  PRICE+1,  when you  reference
  4367.        PRICE+1 in a  report, File Express assumes  you want the  value 1
  4368.        added  to  the field  called  PRICE  instead.   To  prevent  such
  4369.        ambiguities, it  is a  good idea to  avoid special  characters in
  4370.        field names. 
  4371.  
  4372.        It is  also best  to avoid field  names made  up of  only numeric
  4373.        characters.  If you try to do  arithmetic on a field called 5280,
  4374.        the report writer is not sure  if you are referring to the  field
  4375.        named 5280 or the  number 5280.  Using a number with letters in a
  4376.        field name, such as PRICE3, is acceptable. 
  4377.  
  4378.        The  field name  usually appears  on  the screen  when adding  or
  4379.        changing records (field  names can be omitted by  making a custom
  4380.        input screen called a View), so for appearance sake, you may want
  4381.        to use  upper- and lower-case  characters in the  name.   This is
  4382.        acceptable, and does  not create any  problems when referring  to
  4383.        the field names in reports and in formulas, because File  Express
  4384.        ignores case in those instances. 
  4385.  
  4386.        Two fields may  have the same name.   However, if you  refer to a
  4387.        field by name in a report, File Express uses the first occurrence
  4388.        of the  name.   Another method of  identifying the  precise field
  4389.        which you want to use is to reference it  by field number such as
  4390.        F32 for Field 32.
  4391.  
  4392.        It is easy to change one or more field names later, even if there
  4393.        is data in the  database, by using  a selection from the  Mainte-
  4394.        nance Menu.   If reports have already been created which refer to
  4395.        the old field  name, they must be changed as well before they can
  4396.        be printed.  
  4397.  
  4398.  
  4399.  
  4400.                                                    DEFINE A DATABASE  87
  4401.   ----------------------------------------------------------------------
  4402.  
  4403.   Field Type 
  4404.        After  you have  entered the field  name at the  beginning of the
  4405.        line, the  cursor moves to the Type column.   A prompt displays a
  4406.        list of the valid field types.  They are: 
  4407.  
  4408.   <C> Character  Field: This  is  the most  common field  type.   Names,
  4409.        addresses, abbreviations, even  zip codes are usually  defined as
  4410.        character fields.    Character fields  may  be as  short  as  one
  4411.        character or as  long as 1000 characters.   Any character, number
  4412.        or special symbol  you can enter on  your keyboard is valid  in a
  4413.        character field, including the special foreign character set (see
  4414.        the  section  titled  Advanced  Features  for  more information).
  4415.        Character fields longer  than the screen width can  be defined as
  4416.        either Scrolling fields or Window fields.  These two features are
  4417.        described later in the Paint section.
  4418.  
  4419.   <N>  Numeric Field:  Use this field  type for  numbers such  as dollar
  4420.        amounts, unit quantities, etc.  If you intend to do arithmetic or
  4421.        print subtotals with a field, it must be Numeric.  Numeric fields
  4422.        may be from 1 to 14 characters and may have up to 13 decimals. 
  4423.     
  4424.   <F>  Formula  (Numeric):  A  formula  field  contains  a  mathematical
  4425.        calculation or function.  When a record is added or changed, each
  4426.        formula is  evaluated.  Its result  is displayed in  its field on
  4427.        the screen, and  is saved in the  database file.  Data  cannot be
  4428.        entered into a  formula field; it is display-only.   Formulas can
  4429.        perform arithmetic on other fields, such as: 
  4430.  
  4431.                            PRICE * UNITS + TAX 
  4432.  
  4433.        For a detailed  explanation of formulas,  and more examples,  see
  4434.        the section titled Formulas. 
  4435.  
  4436.   <I> Increment Field: A type I field is an increment field.  This  type
  4437.        of  field automatically increments  the numeric contents  of this
  4438.        field from the  last record entered by  one and places it  as the
  4439.        default entry for the field in the current record.  
  4440.  
  4441.   <T> Text Formula: A type T field contains a formula whose result  is a
  4442.        string of text instead of a number.  For example: 
  4443.  
  4444.                          FIRST NAME & LAST NAME 
  4445.  
  4446.        places  the two  fields together  with a single  space separating
  4447.        them.   Other  text formulas  display information  such as  date,
  4448.        time, bar graphs, etc.  For example, this formula: 
  4449.  
  4450.                               TODAY & TIME 
  4451.  
  4452.  
  4453.  
  4454.   88  DEFINE A DATABASE
  4455.   ----------------------------------------------------------------------
  4456.  
  4457.        places the current date and time in the formula field, indicating
  4458.        the last time the record was updated.  For a detailed explanation
  4459.        of formulas, and more examples, see the section titled Formulas. 
  4460.  
  4461.   <D> Date Field: Dates are handled in a special manner by File Express.
  4462.        In the Setup  program you can  specify the global  format of  the
  4463.        Date field.   This can be either  MM-DD-YY, MM-DD-YYYY, DD-MM-YY,
  4464.        or  DD-MM-YYYY.   For example,  January  2nd, 1990  in the  first
  4465.        format type  appears in a type "D" field  as 01-02-90.  The third
  4466.        date style would be  entered as 02-01-90.  The dashes  are placed
  4467.        in the date  field automatically by File Express;  you only enter
  4468.        the  six or eight  numeric digits.   Date fields have  only these
  4469.        four formats.  Later, in reports, you  can print the date in many
  4470.        different formats, such as Tuesday January 2, 1990.
  4471.  
  4472.        Date fields are  also checked for  validity.  If  any one of  the
  4473.        digits is entered, then all must be entered and the date will not
  4474.        be accepted if it is not valid.   The year may be any number from
  4475.        00 to 99 or 0000 to 9999. 
  4476.  
  4477.        Date fields may  be left blank, in  which case the dashes  do not
  4478.        appear on reports. 
  4479.  
  4480.   <U> User-Defined Field: This is a variant of the Character field.   It
  4481.        is treated  the same  in every  respect, except  it has an  "edit
  4482.        mask" which forces fixed  characters into one or more  positions.
  4483.        For example, a social security number field might be given a mask
  4484.        of 
  4485.                            "    -    -     "  
  4486.        When  data is  entered into  the  field, the  dashes are  already
  4487.        filled in, and  cannot be changed or  moved.  When you  enter the
  4488.        nine numeric digits, the cursor bounces over the dashes. 
  4489.  
  4490.        The edit  mask may  contain  any alphabetic,  numeric or  special
  4491.        character in  any position  of the  field.  Leave  spaces in  the
  4492.        positions where data will later be entered.  If the edit  mask is
  4493.        left  completely  blank,  then  the  field acts  exactly  like  a
  4494.        Character field.    A space  may  be indicated  as an  edit  mask
  4495.        character by  entering a  @ character in  the position  where the
  4496.        space is to be.  When entering data, the @ displays on the screen
  4497.        as a space, and cannot have data entered into  it.  When saved to
  4498.        disk, the @ position contains a space. 
  4499.  
  4500.        If empty, the User-Defined field is saved to disk  as spaces; the
  4501.        edit mask characters are not saved, but they are remembered. 
  4502.  
  4503.  
  4504.   When Is A Number Not Numeric? 
  4505.        Since a character field can contain numeric digits, a number  can
  4506.        be  entered  into a  character  field just  as  easily as  into a
  4507.        numeric field.  In fact, we recommend that some numbers be placed
  4508.  
  4509.  
  4510.  
  4511.                                                    DEFINE A DATABASE  89
  4512.   ----------------------------------------------------------------------
  4513.  
  4514.        in a Character field rather than a  Numeric field.  Zip codes are
  4515.        a  prime example.   If a  zip code is  a character field  (with a
  4516.        length of 10) it can accommodate Canadian postal codes as well as
  4517.        the  dash  in  Zip+4  codes.   A  numeric  field,  even  one  ten
  4518.        characters long, can handle neither.  Another reason for defining
  4519.        zip code  fields as  Character  is that  they will  not lose  the
  4520.        leading zeros.   02415 would  become 2415 if  the field type  was
  4521.        Numeric.
  4522.  
  4523.        Character fields are  also sorted and displayed  differently than
  4524.        numeric fields.  Character fields are sorted from left to  right,
  4525.        a character at a time, so 9.1 sorts after 88888.8 because 9 comes
  4526.        after 8.  Sorting a numeric field with the same two numbers would
  4527.        do an arithmetic comparison and determine 88888.8 is much larger.
  4528.  
  4529.  
  4530.        When a  number is  entered into  a numeric  field, the  specified
  4531.        number  of decimal places  is added to  it.  For  example, if the
  4532.        numeric field  is supposed  to have  two decimal  places and  you
  4533.        enter 123 then the number is redisplayed as 123.00 in the numeric
  4534.        field.  If  the operator enters  123.456 in  the same field,  the
  4535.        extra decimal place  is rounded, leaving 123.46.   An empty field
  4536.        with decimals is left empty, however, unless the Zero Fill option
  4537.        has been specified in the Setup program. 
  4538.  
  4539.        Character fields are left-justified on the screen and in reports,
  4540.        while numeric fields are right-justified.  It is possible in  the
  4541.        report writer  to  change  justification,  but  to  automatically
  4542.        left-justify a number, define it as a character field. 
  4543.  
  4544.        One final  difference between  numeric and  character fields:  We
  4545.        mentioned  numeric fields are right-justified when they appear on
  4546.        the screen.  But when  editing a record, as soon as  you move the
  4547.        cursor to a numeric  field, the number slides to the  left to let
  4548.        it be edited easily without having to arrow across the field.  As
  4549.        soon as you leave the field, the number moves back to  the right.
  4550.        Numeric fields are stored right-justified on disk. 
  4551.  
  4552.  
  4553.   Field Length 
  4554.        After you select the names for  the fields in your new  database,
  4555.        you must  determine how  long each  field should  be.   A field's
  4556.        length should be long enough to accommodate the longest string of
  4557.        data the field  might need to hold.   It is possible  to increase
  4558.        the size  of a  field later,  so start  out by  taking your  best
  4559.        guess.  Here are some common field lengths we use at Expressware:
  4560.  
  4561.  
  4562.  
  4563.   90  DEFINE A DATABASE
  4564.   ----------------------------------------------------------------------
  4565.  
  4566.             First name:         10
  4567.             Last name:          15
  4568.             Company name:       30
  4569.             Address:            30
  4570.             City:               15
  4571.             State:               2   (postal state abbreviation)
  4572.             Zip:                10   (handles zip+4 and Canadian)
  4573.             Dollar Amounts:     10   (9999999.99 to -999999.99)
  4574.             Quantities:         6    (999999 to -99999)
  4575.             Dates:              8    (nn-nn-nn)
  4576.  
  4577.        If you  press  <Enter> without  indicating  a field  length,  you
  4578.        discover File Express defaults  to a length  of 30 for  character
  4579.        fields and  10 for  numeric fields.   Although  these are  common
  4580.        lengths, it  is not advisable to  use the default on  every field
  4581.        you  define.    Your records will  be considerably  larger if the
  4582.        defaults are used, which causes your disk to fill up  faster, and
  4583.        slows down processing.
  4584.  
  4585.  
  4586.   Field Format 
  4587.        The column on the screen labeled "-format-" is treated different-
  4588.        ly for each of the five field types: 
  4589.  
  4590.        <C>  (character)  fields:  The word  Character  appears,  and the
  4591.        column is skipped. 
  4592.  
  4593.        <N> (numeric) fields: You are prompted for the number of  decimal
  4594.        places.    After  entering  the  number,  the  column displays  a
  4595.        representation  of the  numeric  field  using  #  characters  for
  4596.        digits.  For example,  a numeric field  with four decimal  places
  4597.        specified and length of ten appears in this column as  #####.####
  4598.        and a  numeric field with  no decimal places  and length  of five
  4599.        appears as ##### in the format column. 
  4600.  
  4601.        <F> (numeric formula) fields: You are prompted for the number  of
  4602.        decimal places.  The column displays  just as it does for Numeric
  4603.        fields. 
  4604.  
  4605.        <T> (text formula)  fields: The word  Character appears, and  the
  4606.        column is skipped. 
  4607.  
  4608.        <D> (date)  fields: The current date format  style (mm-dd-yy, dd-
  4609.        mm-yy,  mm-dd-yyyy,  or  dd-mm-yyyy) appears  and  the  column is
  4610.        skipped. 
  4611.  
  4612.        <U> (user-defined) fields: You are prompted for the Edit Mask  to
  4613.        be used when  entering this field.   The mask is  as long as  the
  4614.        field  length specified earlier, although only the first fourteen
  4615.        characters are displayed on the screen in the format column. 
  4616.  
  4617.  
  4618.  
  4619.                                                    DEFINE A DATABASE  91
  4620.   ----------------------------------------------------------------------
  4621.  
  4622.   Is The Sequence Of The Fields Significant? 
  4623.        If  the fields  in the database  will be entered  directly from a
  4624.        document or  form, the  sequence of the  fields on  your database
  4625.        should match  the sequence  on the form  as closely  as possible.
  4626.        When data has been entered  into a field and <Enter> is  pressed,
  4627.        the cursor moves  to the next  consecutive field number   so  the
  4628.        closer the field sequence matches the input document, the  easier
  4629.        it is  to  enter data.   The  input sequence  for  fields can  be
  4630.        rearranged on  the screen with  the Paint  option.  More  on this
  4631.        later.
  4632.  
  4633.        Placement  of  formula  fields  on  the  database  requires  some
  4634.        planning too.   By placing a formula field in the proper sequence
  4635.        within the database, you can control when it is evaluated as data
  4636.        is  entered.   Formulas are  display-only  fields, so  it is  not
  4637.        possible to enter data into them.  But when the cursor moves past
  4638.        them,  they are  evaluated  (computed)  and  their  new  contents
  4639.        displayed.  
  4640.  
  4641.        Consequently, formulas with  date and time information  should be
  4642.        at the beginning of the database so they are immediately evaluat-
  4643.        ed.  If a formula (such as Units * Price) immediately follows the
  4644.        unit and price fields,  it is evaluated  as soon as both  numbers
  4645.        have been  entered.   A  formula such  as  a grand  total,  which
  4646.        requires all the data  on the screen to be entered  first, can go
  4647.        at the end of the record so it gets calculated  last.  It is also
  4648.        possible  to define "temporary"  calculated fields that  are only
  4649.        displayed on  the screen and not stored  in the database on disk.
  4650.        This is described in the Paint section.
  4651.  
  4652.  
  4653.   Changing And Saving The Definition 
  4654.        After you have  entered all the field names  and their associated
  4655.        types, lengths and formats, your screen might look something like
  4656.        this:
  4657.  
  4658.  
  4659.  
  4660.   92  DEFINE A DATABASE
  4661.   ----------------------------------------------------------------------
  4662.  
  4663.        T  h  e
  4664.        cursor
  4665.        i      s
  4666.        waiting
  4667.        for   you
  4668.        to   type
  4669.        in    the
  4670.        name   of
  4671.        the  next
  4672.        field.
  4673.        Since
  4674.        you   are
  4675.        through,
  4676.        press
  4677.        <Enter>
  4678.        without
  4679.        typing in any characters.  When  you do, a prompt appears at  the
  4680.        bottom of the screen:
  4681.  
  4682.           <S>ave  <A>dd  <C>hange  <I>nsert  <D>elete  <M>ove  <Esc>
  4683.  
  4684.        <S> Save: If your definition is exactly as you want it, Press <S>
  4685.        to save it.  The database  is created and the Main Menu  appears,
  4686.        with the new database selected and ready to add records. 
  4687.  
  4688.        <A>  Add:  To continue  adding  new  fields  at  the end  of  the
  4689.        definition, press <A>.  The cursor moves to the next empty field.
  4690.  
  4691.  
  4692.        <C> Change: If one of the fields needs a change made to its field
  4693.        name or specifications, press <C>.  File Express asks which field
  4694.        number  is  to be  changed,  and then  moves the  cursor  to that
  4695.        field's name and lets you re-type the line. 
  4696.  
  4697.        <I> Insert: If you decide  to add a new field, but you don't want
  4698.        it  at the  end of  the  record, press  <I>.   File  Express asks
  4699.        "Insert field  before which  number?"   Enter the  number of  the
  4700.        field you  want  to precede  with a  new field  and File  Express
  4701.        inserts  a  new field  and  prompt you  for  the name,  type, and
  4702.        length.  If  you type a  number 1 higher  than the highest  field
  4703.        number, File Express places the field at the end of the database.
  4704.  
  4705.        <D> Delete: To delete an existing field, press <D>.  File Express
  4706.        asks "Delete  which field  number?"   Enter the  field number  to
  4707.        delete and File Express removes it from the database.
  4708.  
  4709.        <M> Move: To  move a field to  a different location in  the list,
  4710.        press <M>.  File Express asks you to: "Enter Field Number to Move
  4711.        __".  Enter the number of the field you want to reposition.  Then
  4712.        File Express asks  "Move Field Number x before  Field Number __".
  4713.        You should now enter the number of a field where you want to move
  4714.  
  4715.  
  4716.  
  4717.                                                    DEFINE A DATABASE  93
  4718.   ----------------------------------------------------------------------
  4719.  
  4720.        your field  to.  The field  is placed above  this field.   If you
  4721.        type a  number  1 higher  than  the highest  field  number,  File
  4722.        Express places the field at the end of the database.
  4723.  
  4724.  
  4725.  
  4726.   94  DEFINE A DATABASE
  4727.   ----------------------------------------------------------------------
  4728.  
  4729.        <Esc> As always,  the <Esc>  key cancels  the current  operation.
  4730.        Before  abandoning your work, however, File Express verifies your
  4731.        intention to exit by prompting:
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.                  Registered Version has screen picture here
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748.  
  4749.        If you really want  to abandon your  changes, press <Esc>  again.
  4750.        To resume adding fields or changing, press <Enter>.   If you want
  4751.        to start over with a clean slate, press <Spacebar>.
  4752.  
  4753.  
  4754.   Changing Database Specifications 
  4755.        It  is common to  define a database, start  putting data into it,
  4756.        then suddenly realize a field is missing, or is too short, or has
  4757.        the wrong format.  When this happens it is not necessary to start
  4758.        all over.  Every aspect of a  database can be changed at any time
  4759.        in the future. 
  4760.  
  4761.        If data has already been entered into the database, or if reports
  4762.        or labels have  already been designed,  some changes become  more
  4763.        difficult.   For example, if you  have a field  called Name which
  4764.        you  want to separate into two fields  called First Name and Last
  4765.        Name, there  is more involved than  simply adding a field.   File
  4766.        Express has no  way of determining which part of the old field is
  4767.        the first name  and which is the last  name, so you must  do that
  4768.        yourself,  one record at a  time or using  the Search and Replace
  4769.        option in  Find/Edit  Records.   If  any reports  or  labels  are
  4770.        defined  which  refer  to  the  field  called  Name,  the  report
  4771.        specifications must  be changed.    Some changes  cannot be  done
  4772.        automatically; they require  you to go through the  file and make
  4773.        the change manually. 
  4774.  
  4775.        Most other  changes  are  considerably  easier.   Here  are  some
  4776.        examples of changes  you may want to make, and  an explanation of
  4777.        how to make them: 
  4778.  
  4779.  
  4780.  
  4781.                                                    DEFINE A DATABASE  95
  4782.   ----------------------------------------------------------------------
  4783.  
  4784.        CHANGING FIELD NAME: Select  Item 1 (Change Database  Specs) from
  4785.        the Maintenance Menu, and use the <C>hange option.  (Also  change
  4786.        any formulas in reports which refer to the field by name.) 
  4787.  
  4788.        CHANGING FIELD TYPE:  Select Item 1 (Change  Database Specs) from
  4789.        the Maintenance  Menu,  and use  the <C>hange  option.   Changing
  4790.        field types to <C>haracter is easiest, because anything is  valid
  4791.        in a character field.  Before  changing a field to <N>umeric,  go
  4792.        through  the  database and  make  sure  the field  contains  only
  4793.        numeric  digits, spaces, optional minus sign and optional decimal
  4794.        point with the correct number of decimal places.  After  changing
  4795.        a  field to <F>ormula, select Item 6, Recalculate Entire Database
  4796.        from the Maintenance Menu.
  4797.  
  4798.        CHANGING FIELD LENGTH: Select Item 1 (Change Database Specs) from
  4799.        the Maintenance Menu, and use the <C>hange option.   When all the
  4800.        changes have been  made, File Express reads all  the data records
  4801.        in your file  and writes them back  to disk with the  new length.
  4802.        Small databases take  just a few seconds, but large ones can take
  4803.        several  minutes.   Before reducing  the  length of  a field,  go
  4804.        through the  database and  make sure none  of the  fields contain
  4805.        information  past  the  new  desired  length.    Otherwise,  this
  4806.        information  will be lost.   Also make  a backup of  the database
  4807.        before starting, because if the process is  interrupted before it
  4808.        completes, the database becomes unreadable. 
  4809.  
  4810.        CHANGING  NUMBER  OF  DECIMALS: Select  Item  1  (Change Database
  4811.        Specs) from the  Maintenance Menu, and  use the <C>hange  option.
  4812.        No  other steps  are necessary.   When a  record is  displayed or
  4813.        printed, the new number of decimals is used. 
  4814.  
  4815.        CHANGING THE CUSTOM INPUT SCREEN: Select Item 2 (Paint) from  the
  4816.        Maintenance Menu. 
  4817.  
  4818.        CHANGING A  FORMULA: Select Item  1 (Change Database  Specs) from
  4819.        the Maintenance Menu, and use the <C>hange option.
  4820.  
  4821.        ADDING A NEW FIELD: To add a field into the database, select Item
  4822.        1 (Change Database Specs) from the Maintenance Menu, and use  the
  4823.        <I>nsert option.
  4824.  
  4825.        DELETING A  FIELD: To  delete a field  from the  database, select
  4826.        Item 1 (Change Database Specs) from the Maintenance Menu, and use
  4827.        the <D>elete option.
  4828.  
  4829.  
  4830.        MOVING A FIELD: To  move a field within the database, select Item
  4831.        1 (Change Database Specs) from the Maintenance Menu, and use  the
  4832.        <M>ove option.
  4833.  
  4834.  
  4835.  
  4836.   96  DEFINE A DATABASE
  4837.   ----------------------------------------------------------------------
  4838.  
  4839.        Technical Note:  
  4840.        Several  features  of  File  Express  such  as  report and  label
  4841.        formats,   index  specifications  and   some  types   of  formula
  4842.        references are kept track of using field numbers.  
  4843.  
  4844.        If you  define  a  report  or  label  using  a  particular  field
  4845.        sequence,   and  then  change  the  database  format  by  adding,
  4846.        deleting, or moving fields, some or  all of the report and  label
  4847.        definitions may  have to be changed.  For  example, if you have a
  4848.        database defined with three fields:
  4849.  
  4850.                       FIRST NAME 
  4851.                       LAST NAME
  4852.                       ADDRESS
  4853.  
  4854.        and make a report using these three fields, the report will print
  4855.        as expected.  If you later add  a new field between the LAST NAME
  4856.        and ADDRESS fields called COMPANY so that your definition is now:
  4857.  
  4858.                       FIRST NAME
  4859.                       LAST NAME
  4860.                       COMPANY
  4861.                       ADDRESS
  4862.  
  4863.        loading and printing the same report will print FIRST NAME,  LAST
  4864.        NAME, and  COMPANY instead  of printing  FIRST  NAME, LAST  NAME,
  4865.        ADDRESS  as it did  previously.  To correct  the report, you must
  4866.        edit it to remove the third field and replace it with the ADDRESS
  4867.        field again which is now the fourth field instead of the third.
  4868.  
  4869.        If you do want to add new  fields to a database it is best  to do
  4870.        at the end of the field list so they don't effect the field order
  4871.        of existing fields above them.  Since you can set the field input
  4872.        order, this does not cause a problem with the desired field entry
  4873.        order when adding or editing records.
  4874.  
  4875.        Since index files are expected to track the specific fields  they
  4876.        were designed to, whenever you add, delete, or move fields,  File
  4877.        Express  deletes all  existing index  files  and requires  you to
  4878.        rebuild them.
  4879.  
  4880.        Field references in formulas can be affected by the rearrangement
  4881.        of fields in the definition list.   If fields are referenced in a
  4882.        formula by their number, such as F3, the fields they refer to may
  4883.        change if the original field is moved around.  Fields  referenced
  4884.        by field name are not affected by position.  SUBTOTAL * SALES TAX
  4885.        is better than F12 * F13 and much easier to read later on.
  4886.  
  4887.  
  4888.  
  4889.                                                   ADDING NEW RECORDS  97
  4890.   ----------------------------------------------------------------------
  4891.  
  4892.  
  4893.                            Adding New Records 
  4894.  
  4895.        To add records  to a File Express  database, press <2> or  <A> on
  4896.        the Main  Menu.   File Express  immediately displays  the current
  4897.        input screen for  the database with  all the fields  empty.   For
  4898.        example, adding records to the TUTORIAL database looks like this:
  4899.  
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.                  Registered Version has screen picture here
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914.  
  4915.  
  4916.  
  4917.        The tutorial  example above  is an  example of  a Painted  screen
  4918.        containing the 15 fields.   Much more  complex input layouts  are
  4919.        possible, containing up to 200 input fields on up to ten separate
  4920.        screens, or pages.  The number  of fields on the input layout  is
  4921.        determined by the number of fields  in the database.  The  number
  4922.        of pages (1 to 10) varies with the number of fields, and can also
  4923.        be changed using a custom screen layout.  
  4924.  
  4925.  
  4926.   Filling In The Blanks 
  4927.        To add a new record to the  database, just fill in the blanks  on
  4928.        the screen, then press  <F10> to save the record.   If you change
  4929.        your mind before pressing <F10> and decide not to add the record,
  4930.        press <Esc>  to return  to the  Main Menu  after confirming  your
  4931.        intention to abandon the record. 
  4932.  
  4933.        Fields may be left  blank by pressing  <Enter>, <Tab> or  <Down>.
  4934.        As the cursor moves to a field,  the total length of the field is
  4935.        indicated  by the  space  characters you  selected  in the  Setup
  4936.        program.  (The  default is an underline character.)   These space
  4937.        characters disappear when the cursor moves to the next field.  Of
  4938.        course, if  the field  is completely filled  with data,  no space
  4939.        characters appear. 
  4940.  
  4941.        The  special keys described  in the Keyboard  Conventions section
  4942.        operate as described when adding new records.  If the <Up> key is
  4943.  
  4944.  
  4945.  
  4946.   98  ADDING NEW RECORDS
  4947.   ----------------------------------------------------------------------
  4948.  
  4949.        pressed while the cursor is at the first field, the cursor  moves
  4950.        to the last field.  When the <Down> or  <Enter> key is pressed on
  4951.        the last field, File Express pops up a window:
  4952.  
  4953.                           Save changes (Y/N)? Y
  4954.                        or <C> to continue editing 
  4955.  
  4956.        Pressing <Y> or <Enter>, saves the current record.  Pressing  <C>
  4957.        resumes editing.  You can also press <L> at this point to print a
  4958.        Quick Label if you have one or more defined.
  4959.  
  4960.        When the  cursor moves to a numeric field,  the data in the field
  4961.        shifts to the left, to make it easier to change.  When the cursor
  4962.        leaves the field, the numeric  data resumes its normal right-jus-
  4963.        tified position.  Only  selected characters may  be entered in  a
  4964.        numeric field:  numeric digits  <0> to  <9>, minus  sign <->  and
  4965.        decimal point <.>.   The minus  sign, when present,  must be  the
  4966.        first character in the  field.  The decimal point  and minus sign
  4967.        may appear only once in a numeric field. 
  4968.  
  4969.        After pressing <Enter>, File Express puts the specified number of
  4970.        decimal places on the number and re-displays it.  However, if the
  4971.        resulting data is too  large to fit  in the field, fewer  decimal
  4972.        places  are displayed.   For example,  if a numeric  field is six
  4973.        characters long with two decimal places, and you enter 1234,  the
  4974.        resulting 1234.00 string does  not fit within six characters,  so
  4975.        the  field contains 1234.0  instead.  If 12345  is entered, it is
  4976.        displayed in the  field with no decimal places,  because there is
  4977.        no room  for decimals  to be  displayed.   12.345  is rounded  to
  4978.        12.35.
  4979.  
  4980.  
  4981.   Formulas Are Display-Only 
  4982.        Formulas are  display-only fields, whose contents  are determined
  4983.        by evaluating  the formula.  As  the cursor moves  past a formula
  4984.        field,  the formula  is evaluated  (computed) and  its result  is
  4985.        displayed on the screen.   Also, when a record is  saved, all the
  4986.        formulas in  the record  are re-evaluated  in case  any were  not
  4987.        calculated.
  4988.  
  4989.  
  4990.   New Records Go On The End 
  4991.        When a new record is added to  the database, it is usually placed
  4992.        at the  end of  the data  file, and  any active  index files  are
  4993.        updated.  However, if you have recently deleted any records  from
  4994.        your database, File Express attempts to re-use the space occupied
  4995.        by those deleted records, by putting new records in their place. 
  4996.  
  4997.  
  4998.   Record Numbers Are Not Data 
  4999.  
  5000.  
  5001.  
  5002.                                                   ADDING NEW RECORDS  99
  5003.   ----------------------------------------------------------------------
  5004.  
  5005.        File Express assigns a  unique record number  to every record  in
  5006.        the database.  Since this number is unique, it is tempting to use
  5007.        it as  a reference  number, customer  number, etc.   This is  not
  5008.        recommended.  As  you will discover the first  time your database
  5009.        gets cloned or appended, all the record numbers are changed.  And
  5010.        when a record is deleted, the record number is re-used for  a new
  5011.        record. 
  5012.  
  5013.        If  you  need a  reference  number  or  customer number  in  your
  5014.        database, set up  a field called Reference  or Cust Number.   You
  5015.        can enter  the record number into it if you like.  This way, when
  5016.        the time comes that the record number is no longer accurate, your
  5017.        reference number field is still intact and unchanged. 
  5018.  
  5019.  
  5020.   Multiple Pages (Screens) 
  5021.        When adding a record, there may be  too many fields to fit on the
  5022.        first page  (screen).  When  this happens, a  "1" appears in  the
  5023.        upper right  corner of  page 1, indicating  this is the  first of
  5024.        multiple pages.   There are three ways to get to the second page.
  5025.        The fastest way  is to press the  <PgDn> key.  Moving  the cursor
  5026.        off the bottom of the screen with the <Down> key also advances to
  5027.        the second and  subsequent pages.  And pressing  <Enter> or <Tab>
  5028.        on the last field of a page advances to the next page. 
  5029.  
  5030.        Likewise, if  you are  on the  second page,  <PgUp> moves  to the
  5031.        first  page.  When the <Up> key  moves off the top of the screen,
  5032.        the previous page is  also displayed.   <Shift-Tab> on the  first
  5033.        field of a page moves to the previous page. 
  5034.  
  5035.        If you find it  awkward to work with multiple pages,  it is often
  5036.        possible to  fit all your  data onto a  single page by  using the
  5037.        Paint  option.  See  the Maintenance  section for  information on
  5038.        painting custom screens. 
  5039.  
  5040.  
  5041.   Selecting Alternate Input Screens
  5042.        If you have defined one or  more Views for input, you can  change
  5043.        from one to another at any time while adding or  editing records.
  5044.        To make a change,  press <Alt-V> to bring up the View List.  From
  5045.        here you can move the highlighted bar to the View you want to use
  5046.        and press <Enter>.  The new input screen is displayed and you can
  5047.        continue  adding records.   If you  had entered  information into
  5048.        some fields  before changing Views,  the information is  still in
  5049.        the corresponding fields in the new View.
  5050.  
  5051.  
  5052.   The Flip-Field-Contents Mark 
  5053.        On character fields  the tilde <~>  character performs a  special
  5054.        function.   The tilde  acts as  a Flip-Field-Contents-Here  mark.
  5055.        When you  print reports  or mailing labels,  the contents  of the
  5056.  
  5057.  
  5058.  
  5059.   100  ADDING NEW RECORDS
  5060.   ----------------------------------------------------------------------
  5061.  
  5062.        field  are reversed  at the  tilde  mark and  the two  halves are
  5063.        printed with one space between them. 
  5064.  
  5065.        A common use of the tilde is to combine first and last names into
  5066.        a  single  field,  yet  let the  field  be  sorted  in  last name
  5067.        sequence.  For example, if a field  contains Washington~George it
  5068.        sorts  alphabetically  by last  name  but prints  on  reports and
  5069.        labels as George Washington. 
  5070.  
  5071.        The first tilde  encountered within a character field  is used as
  5072.        the flip character.  Additional tildes are ignored, and print  as
  5073.        data. 
  5074.  
  5075.        A recommended alternative to  the tilde, at  least for first  and
  5076.        last names, is to make them two separate fields.  This  lets them
  5077.        be sorted either first/last or last/first, and makes it  possible
  5078.        to search on either field separately.  The separate fields can be
  5079.        combined  on  reports  with  a   single  space  between  them  by
  5080.        concatenating them with  a <&> operator  (see the section  titled
  5081.        Formulas for more information). 
  5082.  
  5083.        Separate  first  and last  name  fields  also  aid  in  duplicate
  5084.        checking.   Last names  are the most  reliable data  to use  when
  5085.        locating duplicates in a database.  People don't abbreviate their
  5086.        last name or use a nickname for it.  A person named William Smith
  5087.        might sometimes write his name Bill Smith, sometimes W. Smith, or
  5088.        sometimes only  Mr. Smith.  The last name  is constant, and is an
  5089.        excellent field for searching or finding  duplicates, but only if
  5090.        it is in a field by itself. 
  5091.  
  5092.  
  5093.   The Repeat Keys
  5094.        Field by Field 
  5095.        If the contents of  a field are the same  from one record to  the
  5096.        next,  it is  not  necessary  to  completely  re-type  the  field
  5097.        contents each time  you add a record.   Pressing <Ctrl-R> repeats
  5098.        the field  data from  the previous  record, placing  it into  the
  5099.        field on the current record.   For example, if three new  records
  5100.        have the same city type the city name on the first record.   Then
  5101.        when you come to  the city name on the second  and third records,
  5102.        just press <Ctrl-R>.   The city is  filled in automatically,  and
  5103.        the cursor advances to the next field. 
  5104.  
  5105.        Entire Record
  5106.        Pressing <Alt-R> copies  all the fields from  the previous record
  5107.        into the current one.  You can then move around the record making
  5108.        any needed changes to individual fields.
  5109.  
  5110.  
  5111.   Quick Labels 
  5112.  
  5113.  
  5114.  
  5115.                                                  ADDING NEW RECORDS  101
  5116.   ----------------------------------------------------------------------
  5117.  
  5118.        If you have  defined a label  format and assigned  it to a  Quick
  5119.        Label key, a quick label can be printed using the data on the Add
  5120.        New Records screen.   Press <Ctrl-L> after  the data is  entered,
  5121.        but before pressing <F10>.  A quick label is immediately printed.
  5122.        For more information on defining and using quick labels, see  the
  5123.        Label Setup section in the chapter titled Printing Labels.
  5124.  
  5125.        When you  are finished  adding records  to  your database,  press
  5126.        <Esc>.  After confirmation, File Express returns you to the  Main
  5127.        Menu.
  5128.  
  5129.  
  5130.  
  5131.   102  FINDING RECORDS
  5132.   ----------------------------------------------------------------------
  5133.                                   empty
  5134.  
  5135.  
  5136.  
  5137.                                                     FINDING RECORDS  103
  5138.   ----------------------------------------------------------------------
  5139.  
  5140.                        Finding and Changing Records
  5141.  
  5142.        The information in  your database may require updating  from time
  5143.        to time.  Sometimes the  changes are simple,  such as an  address
  5144.        change  on  a single  record.   Sometimes  the changes  are  more
  5145.        complex,  such as  replacing the  field  contents in  a group  of
  5146.        related records.  Before a record can be edited, it must first be
  5147.        found  and  displayed  on the  screen.   This  screen  display is
  5148.        identical to the Add Records screen used to create the record, so
  5149.        changing it is just  a matter of moving the cursor  to each field
  5150.        and typing over the old data.
  5151.  
  5152.        To find records in  a database, and  optionally change or  delete
  5153.        them, select Item 3 from the Main Menu: Find/Edit Records.   This
  5154.        menu displays:
  5155.  
  5156.  
  5157.  
  5158.   104  FINDING RECORDS
  5159.   ----------------------------------------------------------------------
  5160.  
  5161.  
  5162.   Finding A Record 
  5163.        Type  <1>  or <F>  on the  Find  Menu, and  the  following screen
  5164.        appears: 
  5165.  
  5166.    
  5167.  
  5168.  
  5169.  
  5170.  
  5171.  
  5172.                  Registered Version has screen picture here
  5173.  
  5174.  
  5175.  
  5176.  
  5177.  
  5178.  
  5179.  
  5180.  
  5181.  
  5182.        The Record  Selection screen  is used to  tell File  Express what
  5183.        records you want to search for.
  5184.  
  5185.        The window you see  at the left of the screen  contains a list of
  5186.        all the  fields in your database  for reference. You can  use the
  5187.        <PgUp> and  <PgDn> keys to move  up and down  in the list  if you
  5188.        have  more than ten  fields.  The  right side of the  screen is a
  5189.        brief  "help screen" describing some of the common ways to find a
  5190.        record.  You can press <Alt-H> to get more helpful information if
  5191.        you need  it.  Doing so in this case brings up a complete list of
  5192.        all the functions, operators, and techniques that can be used  to
  5193.        search for records.  (For more detailed information and examples,
  5194.        refer to the Formula section of this manual).
  5195.  
  5196.  
  5197.   Viewing The Record 
  5198.        As soon as the selection criteria has been entered, File  Express
  5199.        begins searching for  records which match the criteria  using the
  5200.        current index.  The searches are usually very fast. 
  5201.  
  5202.        The first record  matching the criteria is displayed.   There are
  5203.        several options you may now select, depending on whether this  is
  5204.        the record you were looking for or not.  Most of  the options are
  5205.        displayed across the bottom of the screen: 
  5206.  
  5207.        <PgDn> If the current view of your database has more than 1 page,
  5208.        you  can use  the <PgDn>  and <PgUp>  keys to  display the  other
  5209.        pages.
  5210.  
  5211.  
  5212.  
  5213.                                                     FINDING RECORDS  105
  5214.   ----------------------------------------------------------------------
  5215.  
  5216.        <F>  Continue Searching  (Forward): When File Express  displays a
  5217.        record, there  may be  other records  further down  in the  index
  5218.        which also match the search criteria.  If this is not  the record
  5219.        you are looking for,  press <F> to  continue searching the  index
  5220.        for the next matching record.  The <Spacebar> key also  continues
  5221.        the search.
  5222.  
  5223.        <B>  Search (Backward): It is possible to search backward through
  5224.        the  index as  well as  forward.   Press <B>  to search  backward
  5225.        through the index  for another  record which  matches the  search
  5226.        criteria. 
  5227.  
  5228.        <E>  Edit: To make changes to the record, press <E>.   The cursor
  5229.        moves to the first field on the screen.  At this point, the arrow
  5230.        keys, <Enter>  key and <Tab>  key operate  just as they  did when
  5231.        adding the  record, letting  you change any  field.   For further
  5232.        information  on  entering  data, moving  around  the  screen, and
  5233.        handling multiple pages (screens), see the Add Records section. 
  5234.  
  5235.        Once the  changes have been  made to  the record, press  <F10> to
  5236.        save it to disk or <Esc> to continue without saving the changes. 
  5237.  
  5238.        <D>  Delete:  To remove the record from  the database, press <D>.
  5239.        File Express asks "Are you sure you want to destroy this record?"
  5240.        Reply <Y> to delete the record or  <N> to leave it alone.  If you
  5241.        reply <Y>, the data on the record disappears from the screen, the
  5242.        words  "Deleted  Record" begin  flashing  at  the bottom  of  the
  5243.        screen.  
  5244.  
  5245.        Technical note:   When  you delete a  record from  your database,
  5246.        reference to  it is removed  from all  the active indexes.   File
  5247.        Express  then  places the  deleted  record  number in  a  special
  5248.        Deleted  Record Index  file  so that  it can  be used  later when
  5249.        adding  new  records to  your  database.    This way,  the  space
  5250.        occupied by deleted records  can be reclaimed.   Until a  deleted
  5251.        record is reused, you  can select the  Deleted Record Index  from
  5252.        the Index  List  as the  Primary  Index and  view,  edit,  print,
  5253.        export, and undelete any of the remaining deleted records.  While
  5254.        the  Deleted Record  Index is  active,  all <D>elete  prompts are
  5255.        changed to <U>ndelete.
  5256.  
  5257.        <N>  Next:  Pressing <N> advances the display to  the next record
  5258.        in the current  index.  By  pressing <N>  several times, you  can
  5259.        "walk" through  the database looking at consecutive records.  The
  5260.        records are displayed in sorted index sequence. 
  5261.  
  5262.        <P>  Previous: Pressing  <P> backs up to  the previous record  in
  5263.        the current  index.   Use the <N>  key to  "walk" forward  in the
  5264.        database,  and the <P>  key to "walk" backward.   For example, if
  5265.        you press <N> three times, the next three records are  displayed.
  5266.  
  5267.  
  5268.  
  5269.   106  FINDING RECORDS
  5270.   ----------------------------------------------------------------------
  5271.  
  5272.        Pressing <P> three times returns you to the original record.  The
  5273.        records are displayed in sorted index sequence. 
  5274.  
  5275.        <L> or <Ctrl-L> Label: Pressing <L>  prints a Quick Label for the
  5276.        record currently  displayed.   Up to  nine different  Quick Label
  5277.        formats  may  be  defined.    See  the  Label  Section  for  more
  5278.        information on setting up Quick Labels.
  5279.  
  5280.        <R>  Re-search: Pressing <R> returns you to the Record  Selection
  5281.        screen so you can enter new search criteria.
  5282.  
  5283.        <Esc>  As always, pressing <Esc> cancels the current operation --
  5284.        in this case, returning you to the Find Menu. 
  5285.  
  5286.  
  5287.   Changing Display Order
  5288.        When the  records  you are  searching  for are  found,  they  are
  5289.        displayed in  the order of  the current Primary  index.  You  can
  5290.        change the Primary index  before starting the search  by pressing
  5291.        <Alt-P> when the Record Selection screen is displayed.
  5292.  
  5293.  
  5294.  
  5295.   Natural Language 
  5296.        As you go  through the  list of  options which may  be used  when
  5297.        selecting records, you  will notice there is often  more than one
  5298.        way to accomplish the same purpose.  For example, State is WA and
  5299.        State=WA are the same, as are State  equals WA and State is equal
  5300.        to WA. 
  5301.  
  5302.        The program  also lets you  use words  like equals and  less than
  5303.        instead of special  symbols like = and <.  This technique is used
  5304.        by  some computer programs to understand instructions phrased the
  5305.        way people talk  instead of the way computers  talk.  It's called
  5306.        "natural language".
  5307.  
  5308.        For example, in  the comparison above  we completed the  sentence
  5309.        "Find all the records where" with "state is WA".  But suppose you
  5310.        knew there were multiple records with a  state code of WA, and it
  5311.        seemed more  natural to say  "the states are  WA." It would  have
  5312.        worked. 
  5313.  
  5314.        If  it's the  way people  talk,  even if  it's not  grammatically
  5315.        correct, we want File Express to understand it.  If you give File
  5316.        Express instructions it doesn't understand or  misinterprets, and
  5317.        you feel it  should have understood them,  let us know.   We will
  5318.        periodically  give  the  software  some  grammar  lessons  so  it
  5319.        understands plain English. 
  5320.  
  5321.  
  5322.   General Rules Of Syntax 
  5323.  
  5324.  
  5325.  
  5326.                                                     FINDING RECORDS  107
  5327.   ----------------------------------------------------------------------
  5328.  
  5329.        The sentence on the screen begins: "Find all the records where:".
  5330.        To find a  record, simply complete the sentence  (adhering to the
  5331.        rules in the Formula  section).  File Express is expecting you to
  5332.        complete the sentence with a "comparison", such as Company = Acme
  5333.        or last name  sounds like smith.  In both these examples there is
  5334.        a  field  name  (company,  last name)  followed  by  a comparison
  5335.        operator  (equals,  sounds  like) and  finally  a  constant value
  5336.        (acme, smith).   This is the usual  pattern of a  search although
  5337.        not the  only pattern.   You  can also  make comparisons  between
  5338.        fields like MAIL ADDRESS  = SHIP ADDRESS  which displays all  the
  5339.        records where these two fields are the same.   Or the comparisons
  5340.        can be  more complex: STATE  = "WA" and CUST  TYPE = "D"  and TAX
  5341.        NUMBER  is blank",  to find  all  the dealers  in Washington  who
  5342.        haven't given you their tax exempt number yet.  
  5343.  
  5344.                               COMPANY = CAT 
  5345.  
  5346.        only displays records where the COMPANY field is CAT and  nothing
  5347.        else.  If you want to search  for records where the COMPANY field
  5348.        begins with CAT use:
  5349.  
  5350.                              COMPANY = CAT..
  5351.  
  5352.        The two  dots  (..) mean  anything.   A  search  for  CATanything
  5353.        displays  records   where  the   COMPANY  equals   cat,  catalog,
  5354.        catamarans,  Cat and  Dog  Clinic, Catheter  Supplies,  etc.   To
  5355.        search  for companies  ending in  a  certain string,  put the  ..
  5356.        before it:
  5357.  
  5358.                             COMPANY = ..stand
  5359.  
  5360.        displays stand, plant stand, magazine stand, understand, etc.
  5361.  
  5362.  
  5363.        If you want to view every record, simply type in the word ALL.
  5364.  
  5365.        If you want  to view all  the tagged or  untagged records in  the
  5366.        database, use the words TAGGED or UNTAGGED.
  5367.  
  5368.        As you  may  have noticed  in  the examples  above,  it  normally
  5369.        doesn't matter if  you use upper, lower or mixed case when typing
  5370.        your comparisons.   File Express treats it all  the same.  If you
  5371.        want to find records  with a specific pattern of upper  and lower
  5372.        case letters, use the EXACTLY key word.  name  is exactly "Smith"
  5373.        , only displays  records where the name field  is Smith and skips
  5374.        records with SMITH or smith or SmItH.
  5375.     
  5376.        If File  Express doesn't  understand your  instructions for  some
  5377.        reason, an error message is displayed.  If  it's not obvious what
  5378.        the message  means,  press <Alt-H>  for  a help  screen  with  an
  5379.  
  5380.  
  5381.  
  5382.   108  FINDING RECORDS
  5383.   ----------------------------------------------------------------------
  5384.  
  5385.        explanation, or see  the Troubleshooting  section for  additional
  5386.        information. 
  5387.  
  5388.  
  5389.  
  5390.                                                          QUICK SCAN  109
  5391.   ----------------------------------------------------------------------
  5392.  
  5393.  
  5394.                              Quick Scan Mode 
  5395.  
  5396.        Although  the  <N>ext and  <P>revious  keys  let  you  "walk"  or
  5397.        "browse" through a database,  they only display  one record at  a
  5398.        time.  Sometimes it is useful to see several records displayed at
  5399.        once and be able to scan them as if they were on a report.  Press
  5400.        <2> or <Q> from the Find Menu and the Quick Scan screen displays:
  5401.  
  5402.  
  5403.  
  5404.  
  5405.  
  5406.  
  5407.                  Registered Version has screen picture here
  5408.  
  5409.  
  5410.  
  5411.  
  5412.  
  5413.  
  5414.  
  5415.  
  5416.  
  5417.  
  5418.  
  5419.        Quick Scan lets you  look at your  database in columnar  fashion,
  5420.        much  like a  spreadsheet, and  you  can move  around the  screen
  5421.        editing any fields displayed.   As you edit fields  that are part
  5422.        of one or more indexes, File Express automatically keeps them  in
  5423.        order and updates the order on the screen.  
  5424.  
  5425.        You can either select up to eight specific fields to be displayed
  5426.        on the screen or you can select all the fields.  To indicate  the
  5427.        fields,  enter each  field number in  the order you  want to have
  5428.        them displayed.  To  include all the  fields, just press  <Enter>
  5429.        instead of selecting individual fields.  For example, if you want
  5430.        to display fields 6, 7, 9, and 2, in that order, you would press:
  5431.  
  5432.              <6><Enter><7><Enter><9><Enter><2><Enter><Enter> 
  5433.  
  5434.        Note the two  <Enter>'s at the  end.  The  second one is  to tell
  5435.        File Express you are finished entering field numbers and want  to
  5436.        view them  on  the  screen.   As  you  enter  numbers,  they  are
  5437.        displayed on the screen above the input line:
  5438.  
  5439.                                  /6/7/9/2
  5440.  
  5441.  
  5442.  
  5443.   110  QUICK SCAN
  5444.   ----------------------------------------------------------------------
  5445.  
  5446.        When you have  finished entering the field numbers,  the first 20
  5447.        records are displayed on the screen:
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.                  Registered Version has screen picture here
  5455.    
  5456.  
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.        When the screen is displayed, the records are listed in the order
  5464.        of the  current index which is shown in  the upper left corner of
  5465.        the screen.  Several options may be used when viewing and editing
  5466.        the Quick Scan screen: 
  5467.  
  5468.  
  5469.        <Up> <Down> Move The Cursor: The  <Up> and <Down> arrows keys may
  5470.        be used to move up  and down from one record  to the next on  the
  5471.        screen.    When the  cursor  reaches the  top  or  bottom of  the
  5472.        display,  the screen  scrolls more  records  from that  direction
  5473.        until the top or bottom of the  database is reached.  As you move
  5474.        up and down, the cursor stays in the same column.  
  5475.  
  5476.        <Alt-E>   Edit mode: Pressing <Alt-E> toggles  you in and out  of
  5477.        edit mode on the  Quick Scan screen.  When  you are in edit  mode
  5478.        you may  edit the  contents  of any  regular  field you  are  on.
  5479.        Formula fields are skipped over.
  5480.  
  5481.        <Alt-R>   Record  display: Use  the arrow  keys  to position  the
  5482.        cursor to a  line, then press <Alt-R>  to view the record  in its
  5483.        entirety.  The record  is displayed on the same  data screen used
  5484.        to Add Records and  Find/Edit Records.   When you press  <Alt-E>,
  5485.        the  record displays and  you are put  into edit mode.   When you
  5486.        want to save  the record and  return to  the Quick Scan  display,
  5487.        press <F10>.   Note that  if you  change information  in a  field
  5488.        included in  the current index,  the record is  repositioned into
  5489.        the correct order  when you save it.   This may affect  the Quick
  5490.        Scan display when you return to it.
  5491.  
  5492.  
  5493.  
  5494.                                                          QUICK SCAN  111
  5495.   ----------------------------------------------------------------------
  5496.  
  5497.  
  5498.        <PgDn> Advances the display to the next 20 records. 
  5499.  
  5500.        <PgUp> Backs up to the previous 20 records. 
  5501.  
  5502.        <Ctrl-PgDn> Advances to the last 20 records of the database.
  5503.  
  5504.        <Ctrl-PgUp>Backs up to the first 20 records of the database.
  5505.  
  5506.        <Esc> Pressing <Esc> returns to the Find Menu. 
  5507.  
  5508.        <Tab> or <Ctrl-Right>  Moves the cursor to the  next field to the
  5509.        right.  If  all the  fields you  selected do not  fit across  the
  5510.        screen it will scroll sideways.
  5511.  
  5512.        <Backtab>  and  <Ctrl-Left> Moves  the  cursor left  to  the next
  5513.        field.  
  5514.  
  5515.        <Alt-W> Change Field  Display Width: You  can change the  display
  5516.        width of the column the cursor  is in by pressing <Alt-W>.   File
  5517.        Express prompts  for a  new width, from  1 to  the length  of the
  5518.        field, and re-displays the  screen using the  new width.   Fields
  5519.        that  are displayed  narrower  than  their  actual  width  scroll
  5520.        sideways when edited.
  5521.  
  5522.        <Alt-P> Change the current primary index.  When this is done, the
  5523.        records are redisplayed on the screen in the new sort order.
  5524.  
  5525.  
  5526.   Editing Records in Quick Scan Mode
  5527.        It  is often  much  more convenient  to edit  a  large amount  of
  5528.        related data from many different records while in Quick Scan mode
  5529.        than  it  is on  a  record-by-records  basis  where each  one  is
  5530.        displayed  separately.   For  example,  if you  are  updating the
  5531.        membership status  of most of the records in your database, it is
  5532.        much  faster to  move down  the  column of  the Membership  field
  5533.        updating the entries than it is  to display the full record, move
  5534.        to the Membership field,  make the change,  save the record,  and
  5535.        move to the next record and repeat the process.
  5536.  
  5537.        As you are  moving the cursor around  the screen using  the <Up>,
  5538.        <Down>, <Tab>, and <Backtab> keys, you will notice as the  cursor
  5539.        moves to each field,  it is put into input mode  and you can edit
  5540.        its contents.   The  full editing  features of  File Express  are
  5541.        available at  all times.  If you change  the contents of a field,
  5542.        the  record  is automatically  saved when  the cursor  leaves the
  5543.        record line.   After saving the record, File  Express updates all
  5544.        active indexes  and then checks  to see  if the field  changed is
  5545.        part of the current  index.  If it is, the record is moved to its
  5546.        correct position in  the list and the screen  is redisplayed with
  5547.        the  changed record at  the top of  the screen.   Because of this
  5548.  
  5549.  
  5550.  
  5551.   112  QUICK SCAN
  5552.   ----------------------------------------------------------------------
  5553.  
  5554.        automatic movement to  re-index the record,  it can sometimes  be
  5555.        annoying when  editing a  column of  fields that is  part of  the
  5556.        current index.  We suggest that when you are doing this  that you
  5557.        temporarily change  the current  index to  some other index  that
  5558.        does not include the field you are working on or change it to the
  5559.        Record Number  order index.  This way, as  you edit the fields in
  5560.        the  column, the  display won't rearrange  itself after  you make
  5561.        each change.
  5562.  
  5563.  
  5564.  
  5565.                                                  SEARCH AND REPLACE  113
  5566.   ----------------------------------------------------------------------
  5567.                                 empty
  5568.  
  5569.  
  5570.  
  5571.   114  SEARCH AND REPLACE
  5572.   ----------------------------------------------------------------------
  5573.  
  5574.  
  5575.                            Search And Replace 
  5576.  
  5577.        Sometimes it  is necessary  to make  the same  change to  a large
  5578.        number  of records.   Use the Search and  Replace option to avoid
  5579.        the drudgery  of making the change by hand  on every record.  For
  5580.        example, a  department store owner has a  database which contains
  5581.        all the products sold by her store.  Each record contains an item
  5582.        number, description, price, current  inventory, annual sales  for
  5583.        this year, annual  sales for last year,  and the state where  the
  5584.        item was purchased. 
  5585.  
  5586.                  1 - Item Number
  5587.                  2 - Description
  5588.                  3 - Price
  5589.                  4 - Current Cnt
  5590.                  5 - ThisYr Sales
  5591.                  6 - LastYr Sales
  5592.                  7 - State
  5593.  
  5594.        At the  end of  the year  the store  owner is  confronted with  a
  5595.        problem:  since the year has ended,  all the amounts in the field
  5596.        called "ThisYr Sales"  need to be moved to  "LastYr Sales".  Then
  5597.        "ThisYr Sales" needs to be set to zero so it can start accumulat-
  5598.        ing sales for the new year. 
  5599.  
  5600.        To  do a Search  and Replace,  press <3>  while viewing  the Find
  5601.        Menu.  On  the Record Selection screen enter  the search criteria
  5602.        to select  the  records you  want to  make changes  to.   In  the
  5603.        example above, the  store owner wants to make  the replacement in
  5604.        every record so  she enters ALL.   If she wanted to  make changes
  5605.        for only  the  records  in  Florida,  she  would  enter  STATE  =
  5606.        "Florida".  For more information on the search criteria entry see
  5607.        the Finding a Record section.
  5608.  
  5609.         
  5610.  
  5611.  
  5612.  
  5613.                                                  SEARCH AND REPLACE  115
  5614.   ----------------------------------------------------------------------
  5615.  
  5616.        After  entering  the search  criteria,  the  Replacement Criteria
  5617.        screen appears:
  5618.  
  5619.  
  5620.  
  5621.  
  5622.  
  5623.  
  5624.                  Registered Version has screen picture here
  5625.  
  5626.  
  5627.  
  5628.  
  5629.  
  5630.  
  5631.  
  5632.  
  5633.  
  5634.  
  5635.        On this  screen, select each  field you  want to change  and tell
  5636.        File Express what  to replace it with.   For example, two  fields
  5637.        are to be changed on the records of the store manager's database,
  5638.        and she  recognizes  that  she  must  change  them  in  an  exact
  5639.        sequence: she must first move ThisYr Sales to LastYr Sales,  then
  5640.        set  ThisYr  Sales  to zero.    If  she did  it  in  the opposite
  5641.        sequence, she would be putting zero in both fields. 
  5642.  
  5643.        She first selects the "LastYr Sales" field by typing in its field
  5644.        number and  pressing <Enter>.   The prompt at  the bottom of  the
  5645.        screen changes to "Replace LastYr Sales with:_____________".  The
  5646.        store owner now  indicates the "ThisYr  Sales" field by  entering
  5647.        either its name or an "F"  followed by its field number, (F5  for
  5648.        example).
  5649.  
  5650.        Then she selects field number 5, ThisYr Sales, enters a 0 for the
  5651.        replacement value, and presses <F10>.  A window appears asking: 
  5652.  
  5653.                     Tag all changed records (Y/N)?  N
  5654.  
  5655.        File Express gives you  the option to place a tag  on each record
  5656.        that  has  changes made  to  it  during  the Search  and  Replace
  5657.        process.   This lets  you later  search for  or print  reports or
  5658.        labels for all the records changed.   To tag the records changed,
  5659.        press <Y>.  To skip the tagging process, press <N> or <Enter>.
  5660.  
  5661.        The next question is:
  5662.  
  5663.            Print to <S>creen only, <D>isk, <P>rinter, <A>ll   S
  5664.  
  5665.        As the records are  selected and changed,  they are displayed  on
  5666.        the screen so you  can see what they look like  and decide if the
  5667.  
  5668.  
  5669.  
  5670.   116  SEARCH AND REPLACE
  5671.   ----------------------------------------------------------------------
  5672.  
  5673.        changes are what  you actually intended.  If  you would also like
  5674.        to  have a  printed copy of  the records  changed or a  disk file
  5675.        containing this information, press <P> or <D> accordingly.
  5676.  
  5677.        Now the searching begins, and the first record is displayed.  The
  5678.        screen shows the  changed version of  the record.  The  prompt at
  5679.        the bottom of the screen is:
  5680.  
  5681.     <Y>es  <N>o  <G>o  <S>how original  <D>isplay is on  <Esc> to quit
  5682.  
  5683.        If you would like to see  what the record looked like before  the
  5684.        changes were  applied  to it,  press  <S> to  show  the  original
  5685.        version.  Pressing <S> toggles back and forth between the changed
  5686.        version  and the  original.   If  the record  displayed has  been
  5687.        changed correctly, press <Y> to tell File Express to go ahead and
  5688.        save the change and go to the next record.  If you  don't want to
  5689.        change the record shown on the screen, press <N> and File Express
  5690.        skips this record and moves on to the next.  
  5691.  
  5692.        When  you  are  changing  every  record  selected  by the  search
  5693.        criteria, it is  good practice to  look at  the first few  record
  5694.        changes  to ensure  the replacements  are  being made  correctly.
  5695.        When you confirm  the accuracy and want to go ahead and have File
  5696.        Express make  the  replacements automatically  in  the  remaining
  5697.        records, press <G>. 
  5698.  
  5699.        While you are in <G>o mode, each record displays on the screen as
  5700.        it is changed.  If you would like to turn off the screen display,
  5701.        press <D>.  Repeated  pressing of <D> toggles the  display on and
  5702.        off.   Pressing  any other  key  while in  <G>o  mode pops  up  a
  5703.        message:  <Esc> to quit or  <Spacebar> to continue.  Pressing the
  5704.        <Spacebar>   key  puts   you  back   into  the   record-by-record
  5705.        confirmation mode again.
  5706.  
  5707.         
  5708.   Formulas In Search And Replace 
  5709.  
  5710.        The most  common  usage of  Search  and Replace  is to  move  the
  5711.        contents of one  field to another or move  a value to a  field on
  5712.        selected records.  In the store manager example above we saw both
  5713.        of those: a field was moved to another field, and a value of zero
  5714.        was placed in a  field.  If you are putting text into a field, it
  5715.        must be surrounded by quotes, such as: "Past Due".  (Don't forget
  5716.        the quote marks.)
  5717.  
  5718.        Much more complex  manipulations can also be  accomplished, using
  5719.        formulas to  define  the output  of  Search and  Replace.    This
  5720.        section  uses some  examples  of  formulas, functions,  If...Then
  5721.        statements, etc. but  for a complete explanation of formulas, see
  5722.        the chapter titled Formulas.  The following paragraphs describe a
  5723.  
  5724.  
  5725.  
  5726.                                                  SEARCH AND REPLACE  117
  5727.   ----------------------------------------------------------------------
  5728.  
  5729.        complex manipulation of a database using  Search and Replace with
  5730.        formulas. 
  5731.     
  5732.        We recently  acquired a  mailing list  of several thousand  names
  5733.        which we  wanted  to combine  with  our own  list for  a  special
  5734.        mailing.  We knew there would be a large number of  duplicates in
  5735.        the two lists, and did not want to  send two mailings to the same
  5736.        person if we could avoid it.  Since the mailing was costing about
  5737.        seventy-five  cents   per  piece,  eliminating   several  hundred
  5738.        duplicates would save several hundred dollars. 
  5739.  
  5740.        But there was a  problem: Our own  list separated first and  last
  5741.        name into two separate fields,  but the new list we  had acquired
  5742.        put the first and  last names together in the same field.  As you
  5743.        will learn in the Find Duplicates section, the two best fields to
  5744.        use for  finding duplicates  in mailing lists  are Last  Name and
  5745.        City Name.  But the new list had a field called Name with "Smith,
  5746.        James" and "Doe, John" in it. 
  5747.  
  5748.        This looked  like a job  for Search and  Replace.  Since  we were
  5749.        going to be "playing" with every record in the database, we first
  5750.        made a backup of it, labeled it and  set it aside.  Then we added
  5751.        two new fields called First Name and Last Name (using the  Change
  5752.        Database Specs option of the Maintenance Menu). 
  5753.  
  5754.        Then we selected Search and Replace  from the Find Menu.  On  the
  5755.        screen asking "Select all the records where" we replied: 
  5756.  
  5757.              Select all the records where: NAME contains "," 
  5758.  
  5759.        As you will  find in the chapter on formulas,  this statement is,
  5760.        in  effect,  saying: give  me  all  the  records having  a  comma
  5761.        somewhere in  the name  field, and skip  all the  records without
  5762.        commas.   
  5763.  
  5764.        Then  on the Replacement Screen we told  File Express to make the
  5765.        following substitutions: 
  5766.  
  5767.        In the field called Last Name: left(name, instr(name, ",")-1)    
  5768.  
  5769.        In  the field  called First  Name:   ltrim(mid(name,  instr(name,
  5770.        ",")+1)) 
  5771.  
  5772.        The first formula  found the comma, and took  everything from the
  5773.        left end of the string to the character up to, but not including,
  5774.        the  comma.   The second formula  found the comma  again and than
  5775.        took everything from  one character  after it to  the end of  the
  5776.        string.   When File Express was done, we  used Quick Scan to look
  5777.        at the three  fields called Name, First  Name and Last Name.   In
  5778.        all  but about  ten  cases, the  substitution  worked exactly  as
  5779.        planned. If the Name field said "Smith, James", the new Last Name
  5780.  
  5781.  
  5782.  
  5783.   118  SEARCH AND REPLACE
  5784.   ----------------------------------------------------------------------
  5785.  
  5786.        field contained "Smith"  and the new  First Name field  contained
  5787.        "James". There were a few that needed to be handled manually, but
  5788.        only  because the  commas had  been  left out  of them.    It was
  5789.        several hundred times faster than trying to do it by hand. 
  5790.  
  5791.  
  5792.  
  5793.                                               SEARCH AND DELETE/TAG  119
  5794.   ----------------------------------------------------------------------
  5795.  
  5796.                             Search And Delete 
  5797.  
  5798.        The Search and Delete routines work just like Search and Replace,
  5799.        except  that instead  of changing  field  contents, File  Express
  5800.        deletes the matching records. 
  5801.  
  5802.        The  only screen that appears when doing Search and Delete is the
  5803.        Select Records  screen.  After  the selection criteria  have been
  5804.        entered, each record to  be deleted is  displayed on the  screen.
  5805.        Just  as  in Search  and  Replace, you  are given  the  option of
  5806.        confirming the deletion  of each record individually  by pressing
  5807.        <Y> or <N>  or automatically by pressing <G>.   These options are
  5808.        displayed on the screen.  
  5809.  
  5810.                              Search And Tag 
  5811.  
  5812.        The Search and Tag  routines work just  like Search and  Replace,
  5813.        except that instead of changing field contents, File Express tags
  5814.        the matching records. 
  5815.  
  5816.        The only screen  which appears when doing  Search And Tag is  the
  5817.        Select Records  screen, which  has been  described thoroughly  in
  5818.        other sections of this manual.  After the selection criteria have
  5819.        been  entered, each  record to  be  deleted is  displayed on  the
  5820.        screen.  Just as in Search and  Replace, you are given the option
  5821.        of confirming the tagging of each record individually by pressing
  5822.        <Y> or <N> or automatically  by pressing <G>.  These options  are
  5823.        displayed on the screen.  
  5824.  
  5825.  
  5826.  
  5827.   120  SEARCH AND DELETE/TAG
  5828.   ----------------------------------------------------------------------
  5829.                               empty
  5830.  
  5831.  
  5832.  
  5833.                                                     FIND DUPLICATES  121
  5834.   ----------------------------------------------------------------------
  5835.  
  5836.                            Finding Duplicates 
  5837.  
  5838.        Mailing  list  databases  are probably  the  most  susceptible to
  5839.        duplicate records.  A customer uses the name Bill Smith one time,
  5840.        then  uses the name W. Smith  the next.  Or  he uses his P.O. Box
  5841.        once and his street address another time--or his business address
  5842.        then his home address. 
  5843.  
  5844.        Some duplicates are  easy to identify because  they are virtually
  5845.        identical.  It is probably safe to  delete one of the two records
  5846.        for W.  Smith and Bill Smith  if they are both at the same street
  5847.        address.   It's not  quite so easy  to determine two  records are
  5848.        duplicates  if they have  different addresses, unless  the person
  5849.        has a very unique  name.  Or sometimes there may be other data in
  5850.        the database  which indicates  that it's  the same  person.   For
  5851.        example,  one record  shows the  customer  ordering File  Express
  5852.        Version 4; another record  shows the same  customer name, in  the
  5853.        same  city, but  at a  different  address, ordering  a Version  5
  5854.        upgrade.  They are probably the same. 
  5855.  
  5856.        File Express can help you identify some of the easy duplicates in
  5857.        your  databases,  but you  will  likely  have  to  manually  make
  5858.        decisions about some of the records. 
  5859.  
  5860.        The best  time to  start planning for  duplicates is  before your
  5861.        database is even set up.   What fields will you want to  compare?
  5862.        Last names  and city  names are  good duplicate  matching fields.
  5863.        First names  and zip  codes are  not as  good.   As we  mentioned
  5864.        earlier, people  don't usually abbreviate  or use a  nickname for
  5865.        their last name.  But the same person may use Bill Smith, William
  5866.        Smith, William C. Smith, W. C. Smith,  Wm. Smith or Dr. W. Smith.
  5867.        The one constant in all these is Smith. 
  5868.  
  5869.        Consequently,  when  you  plan  your  database,  plan  ahead  for
  5870.        duplicate matching.   If you will be searching  for duplicates in
  5871.        the future, make the last name a separate field.  Keeping it in a
  5872.        separate field can simplify record searches  too.  Likewise, keep
  5873.        the city name separate from the state and zip code.  Separate zip
  5874.        codes also make it possible to do zip code sorts, which are often
  5875.        desirable on mailing lists. 
  5876.  
  5877.        Look for any other fields you  might use to find duplicates, such
  5878.        as company name, and  consider their future use.  If  the company
  5879.        name is sometimes in the address, sometimes in the customer name,
  5880.        and sometimes non-existent, it can't  be used to find duplicates.
  5881.        If it is always in a field called Company Name, it can be used. 
  5882.  
  5883.        Once the database is set up, the work does not end.  The data  in
  5884.        the database must  be entered consistently to keep it well-suited
  5885.        for  finding duplicates.   It  works  best when  only one  person
  5886.        maintains a  database.   That way,  abbreviations, spacing,  etc.
  5887.  
  5888.  
  5889.  
  5890.   122  FIND DUPLICATES
  5891.   ----------------------------------------------------------------------
  5892.  
  5893.        will  be  consistent. File  Express treats  upper and  lower case
  5894.        letters the same, so the last names DEYOUNG, Deyoung and  DeYoung
  5895.        would be identified as duplicates.  De Young (with a space) would
  5896.        not.  Fort Worth and Ft. Worth would not either. 
  5897.  
  5898.        If you  anticipate doing  a lot  of duplicate  matching, then  be
  5899.        careful when entering Last  Name and City fields.   If city names
  5900.        must be  abbreviated, decide on a standard abbreviation, and post
  5901.        a list  alongside the  computer so everyone  who enters  data can
  5902.        refer to it. 
  5903.  
  5904.        If  a name  has "PhD",  "M.D.",  "Jr." etc.  following it,  avoid
  5905.        putting this suffix with the last name in the same field.  Either
  5906.        set up a special field called Suffix or Title for these, or leave
  5907.        them out of the database.  Another technique is to set up a field
  5908.        called Formal Name  with the person's name exactly  as it appears
  5909.        on  correspondence, and  then  set up  separate  name fields  for
  5910.        searching and duplicate matching.  That way, the formal name  can
  5911.        contain a  name like  "Colonel M.  Charles Smith,  Jr., PhD,  CPA
  5912.        (Ret.)" while the last name contains only Smith (for sorting  and
  5913.        duplicate matching). 
  5914.  
  5915.  
  5916.  
  5917.                                                     FIND DUPLICATES  123
  5918.   ----------------------------------------------------------------------
  5919.  
  5920.   Duplicates In One Database 
  5921.  
  5922.        To  find duplicates  within a  single  database, first  determine
  5923.        which  fields to  match to  identify duplicates,  then  select an
  5924.        index  with those fields.   For example, to  find all the records
  5925.        which contain  the same last name and  same city name, select (or
  5926.        create), an index that  keeps the database in Last  Name and City
  5927.        Name order.   Then select the item  on the Find Menu  called Find
  5928.        Duplicates in One Database.   When the following screen displays,
  5929.        select the same two fields, last name and city name. 
  5930.  
  5931.  
  5932.  
  5933.  
  5934.  
  5935.  
  5936.  
  5937.  
  5938.  
  5939.                  Registered Version has screen picture here
  5940.  
  5941.  
  5942.  
  5943.  
  5944.  
  5945.  
  5946.  
  5947.        If the database is sorted by other fields than those specified in
  5948.        the  comparison,  the  Find  Duplicates  routine  does  not  work
  5949.        properly.  It may find some duplicates, and it may appear to work
  5950.        fine, but  it is  unlikely that  most of  the duplicates  will be
  5951.        identified. 
  5952.  
  5953.        File Express finds duplicates by comparing each record to the one
  5954.        before it  in the index.  If there are two Smith/Seattle records,
  5955.        but  they  are   not  contiguous  (side-by-side),  no   match  is
  5956.        recognized.  To put  them side-by-side, the  database must be  in
  5957.        Last  Name/City  or  City/Last  Name  sequence.    (If the  whole
  5958.        database was searched  by comparing each record with  every other
  5959.        record, the search could take hours, days, or even years.)
  5960.  
  5961.        When you select a field to be compared, File Express asks for the
  5962.        length  to  be compared.   Most  of  the time  you don't  need to
  5963.        compare fields  for their entire  length.  In fact,  you may find
  5964.        that the  more characters  you compare,  the more  duplicates you
  5965.        miss.  Consider the following two records as an example.  
  5966.  
  5967.                       125 Wildwood Pl NE
  5968.                       125 Wildwood Pl. N.E.
  5969.  
  5970.  
  5971.  
  5972.   124  FIND DUPLICATES
  5973.   ----------------------------------------------------------------------
  5974.  
  5975.        If you are comparing these two ADDRESS  fields for a length of 15
  5976.        characters, a  match is found. If you compare them for their full
  5977.        length, the two fields are different because of the periods found
  5978.        in the second record.  Of course,  you must compare enough of the
  5979.        fields to uniquely identify them.
  5980.  
  5981.                       125 Wildwood Pl NE
  5982.                       125 Wildberry Lane
  5983.  
  5984.        These  two  records  are  displayed  as   duplicates  if  only  8
  5985.        characters are compared.
  5986.  
  5987.        After you  have entered all the  field numbers and  lengths to be
  5988.        compared,  press <F10>.    File Express  gives  one more  prompt,
  5989.        asking:
  5990.  
  5991.            Print to <S>creen only, <D>isk, <P>rinter, <A>ll  S
  5992.  
  5993.        As  File  Express  is  displaying  the duplicates  found  in  the
  5994.        database, you  have the option  of deleting,  tagging or  editing
  5995.        either or both of the records displayed.  If you delete or tag  a
  5996.        record, you can  have a report printed  to either a disk  file or
  5997.        your printer indicating  which records were affected.   Press <D>
  5998.        or <P> as needed.  Pressing <A> sends the report to both the disk
  5999.        and the printer.  
  6000.         
  6001.        When  File Express  finds  two records  matching  the fields  you
  6002.        selected, it displays them side-by-side on the screen.
  6003.  
  6004.  
  6005.  
  6006.                                                     FIND DUPLICATES  125
  6007.   ----------------------------------------------------------------------
  6008.  
  6009.        When  you  start  a  duplicate  search, File  Express  begins  in
  6010.        "delete" mode as indicated by the "DELETE" at the left end of the
  6011.        bottom line.  This  means the <L>eft,  <R>ight, <B>oth, <N>o  and
  6012.        <G>o keys work with deleting in mind.  If you want to place a tag
  6013.        on a record  instead of deleting it, you can tell File Express to
  6014.        switch to "TAG" mode by pressing <M>, which changes the  "DELETE"
  6015.        to  "TAG" on  the prompt  line.   Now  pressing <L>eft,  <R>ight,
  6016.        <B>oth, <N>o and <G>o keys work  with tagging in mind.   Repeated
  6017.        pressing of <M> toggles between DELETE and TAG modes.
  6018.  
  6019.        After examining the  two records to determine if  they are indeed
  6020.        duplicates, one of several commands may be entered: 
  6021.  
  6022.        <PgDn> and <PgUp> scroll  up and down through  the fields in  the
  6023.        record on the right side.
  6024.  
  6025.        <Up>  and <Down>  scroll up and  down through  the fields  in the
  6026.        record on the left side.
  6027.  
  6028.        <L> Delete or tag  the record on the left.  If  you are in DELETE
  6029.        mode,  the  record  is  flagged  as  deleted  (it  may  later  be
  6030.        <U>ndeleted), and File Express  goes on to  compare the next  two
  6031.        records. 
  6032.  
  6033.        <R> Delete or tag the record on  the right.  If you are in DELETE
  6034.        mode,  the  record  is  flagged  as  deleted  (it  may  later  be
  6035.        <U>ndeleted), and File Express  goes on to  compare the next  two
  6036.        records. 
  6037.  
  6038.        <B> Delete or tag  both of the displayed records.   If you are in
  6039.        DELETE mode, both records are flagged as deleted (either or  both
  6040.        may later be <U>ndeleted),  and File Express  goes on to  compare
  6041.        the next two records. 
  6042.  
  6043.        <N> Leave both the  records intact.   Neither record is  deleted.
  6044.        File Express goes on to compare the next two records. 
  6045.  
  6046.        <G> Automatically delete  or tag the record on  the right without
  6047.        asking  for confirmation  and continue  doing  the same  to every
  6048.        duplicate found in the remainder of the database.
  6049.  
  6050.        <E> Edit a record.  Pressing <E> prompts further for which record
  6051.        to edit.
  6052.                     Edit the <L>eft or <R>ight record?
  6053.        Pressing <L>  or <R>  puts you in  edit mode  where you  can make
  6054.        changes to any fields in the record.  When you are editing one of
  6055.        the records, the following commands available:
  6056.  
  6057.             <PgUp> and  <PgDn> can  be used  to display  any fields  not
  6058.             currently shown in the window of the record being edited.  
  6059.  
  6060.  
  6061.  
  6062.   126  FIND DUPLICATES
  6063.   ----------------------------------------------------------------------
  6064.  
  6065.             <Ctrl-R> copies the contents  from the same field  number in
  6066.             the other record.
  6067.             <Ctrl-U>  restores  the  current  field  with  its  original
  6068.             contents.
  6069.  
  6070.             <Alt-U> restores the entire record to its original contents.
  6071.  
  6072.        Press <F10>  to  save the  changes  and return  to  the  previous
  6073.        prompt.
  6074.  
  6075.        <M> Mode  change.   Pressing <M> toggles  between DELETE  and TAG
  6076.        mode as indicated at the left end  of the bottom prompt line.  In
  6077.        some cases,  it  is more  desirable  to just  tag  the  duplicate
  6078.        records instead of  deleting them.  Later, when  you are printing
  6079.        reports or mailing labels, you can choose to print just TAGGED or
  6080.        UNTAGGED records.
  6081.  
  6082.        <Esc> Exit  from the  deletion process,  and return  to the  Find
  6083.        Menu. 
  6084.  
  6085.        If there is  more than one  duplicate for  the same record,  File
  6086.        Express finds each  of them, and displays them  one after another
  6087.        so they can be  deleted.  When  duplicate matching is  completed,
  6088.        File Express returns to the Find Menu.  
  6089.  
  6090.  
  6091.  
  6092.                                                     FIND DUPLICATES  127
  6093.   ----------------------------------------------------------------------
  6094.  
  6095.  
  6096.   Duplicates In Two Databases 
  6097.  
  6098.        At times,  you may  want to  compare two  separate databases  for
  6099.        duplicate records.  For  example, you may  have occasion to  swap
  6100.        mailing lists with another person or company.  You know that most
  6101.        of the names are different but you  don't want to send two pieces
  6102.        of mail to the people who are on both lists.
  6103.  
  6104.        It is possible  to compare two databases for  duplicates, even if
  6105.        the fields being compared have different field names and lengths.
  6106.        Before starting the comparison process, make sure the indexes for
  6107.        both databases are in order by the fields to be compared.
  6108.  
  6109.        When you select the Find Duplicates In Two Databases menu option,
  6110.        File Express assumes  that the currently open database  is one of
  6111.        the two databases to be compared.  
  6112.  
  6113.        A screen displays  asking you to select the second database.  The
  6114.        screen  is similar  to the one  used to  Open A Database.   After
  6115.        selecting the database, File Express prompts for the index to use
  6116.        from the second database.  Highlight the correct index and  press
  6117.        <Enter>.   The index  from the second  database should  match the
  6118.        index from the current database.
  6119.  
  6120.  
  6121.  
  6122.   128  FIND DUPLICATES
  6123.   ----------------------------------------------------------------------
  6124.  
  6125.        As  soon  as the  second  file  has  been selected,  this  screen
  6126.        displays: 
  6127.  
  6128.  
  6129.  
  6130.  
  6131.  
  6132.  
  6133.                  Registered Version has screen picture here
  6134.  
  6135.  
  6136.  
  6137.  
  6138.  
  6139.  
  6140.  
  6141.  
  6142.  
  6143.  
  6144.        The field names in both databases are displayed side-by-side, and
  6145.        you are  prompted to  enter a field  number from  both databases.
  6146.        For example,  if you  selected LAST NAME  in the  first database,
  6147.        select the LAST  NAME field in the second  database (or the field
  6148.        which has  last names in it,  if it has a different  name).  File
  6149.        Express then asks for the length of  the fields to compare.  (See
  6150.        Duplicates in  One Database  for a  discussion on  the length  to
  6151.        compare).
  6152.  
  6153.        Continue entering  field numbers  and lengths  for each  database
  6154.        until  all your comparison fields are entered, then press <Enter>
  6155.        to continue to the  next prompt, which asks if you  want a report
  6156.        printed to the screen, printer or disk. 
  6157.  
  6158.  
  6159.  
  6160.                                                     FIND DUPLICATES  129
  6161.   ----------------------------------------------------------------------
  6162.  
  6163.        When File Express  finds matching records  from each database  it
  6164.        displays them side-by-side on the screen.
  6165.  
  6166.  
  6167.  
  6168.  
  6169.  
  6170.  
  6171.  
  6172.                  Registered Version has screen picture here
  6173.  
  6174.  
  6175.  
  6176.  
  6177.  
  6178.  
  6179.  
  6180.  
  6181.  
  6182.        After examining the  two records to determine if  they indeed are
  6183.        duplicates, one of several commands may be entered: 
  6184.  
  6185.        <PgDn> and <PgUp> scroll  up and down  through the fields in  the
  6186.        record on the right side (from the second database).
  6187.  
  6188.        <Up> and  <Down> scroll  up and  down through  the fields  in the
  6189.        record on the left side (from the current database).
  6190.  
  6191.        <L> Delete the record  on the left.  This is the  record from the
  6192.        current database.  The record is flagged as deleted (it may later
  6193.        be <U>ndeleted), and File Express goes on to compare the next two
  6194.        records. 
  6195.  
  6196.        <R> Delete the record on the right.  This is the record from  the
  6197.        second database.   The record is flagged as deleted (it may later
  6198.        be <U>ndeleted), and File Express goes on to compare the next two
  6199.        records.
  6200.  
  6201.        <B> Delete both of the displayed records.  Both records, one from
  6202.        each database, are  flagged as deleted (either or  both may later
  6203.        be <U>ndeleted), and File Express goes on to compare the next two
  6204.        records. 
  6205.  
  6206.        <N> Leave both the  records intact.   Neither record is  deleted.
  6207.        File Express goes on to compare the next two records. 
  6208.  
  6209.        <G>  Automatically delete the record on  the right without asking
  6210.        for confirmation and  continue doing the same to  every duplicate
  6211.        found in the remainder of  the databases.  The record deleted  is
  6212.        from the second database, which is displayed on the right.
  6213.  
  6214.  
  6215.  
  6216.   130  FIND DUPLICATES
  6217.   ----------------------------------------------------------------------
  6218.  
  6219.        <E> Edit a record.  Pressing <E> prompts further for which record
  6220.        to edit.
  6221.                     Edit the <L>eft or <R>ight record?
  6222.        Pressing <L> or  <R> puts  you in  edit mode where  you can  make
  6223.        changes to any fields in the  record.  The <L>eft record is  from
  6224.        the current database and  the <R>ight record  is from the  second
  6225.        database.  When you are editing one of the records, the following
  6226.        commands available:
  6227.  
  6228.             <PgUp> and  <PgDn> can  be used  to display  any fields  not
  6229.             currently shown in the window of the record being edited.  
  6230.  
  6231.             <Ctrl-PgUp> and <Ctrl-PgDn> scrolls the fields in the window
  6232.             of the record not being edited.
  6233.  
  6234.             <Ctrl-R> copies  the contents from the same  field number in
  6235.             the other record.
  6236.             <Ctrl-U>  restores  the  current  field  with  its  original
  6237.             contents.
  6238.  
  6239.             <Alt-U> restores the entire record to its original contents.
  6240.  
  6241.  
  6242.             <T> Tag a record.   Pressing <T>  prompts further for  which
  6243.             record(s) to tag.
  6244.  
  6245.                  Tag <L>eft, <R>ight, or <B>oth records.
  6246.  
  6247.        In  some cases  it is  more desirable to  just tag  the duplicate
  6248.        records instead of  deleting them.  Later, when  you are printing
  6249.        reports or mailing labels, you can choose to print just  untagged
  6250.        or tagged records.
  6251.  
  6252.        <Esc> Exit  from the  deletion process,  and return  to the  Find
  6253.        Menu. 
  6254.  
  6255.        If there  is more than  one duplicate  for the same  record, File
  6256.        Express finds each  of them, and displays them  one after another
  6257.        so  they  can be  deleted,  tagged  or  edited.   When  duplicate
  6258.        matching is complete, File Express returns to the Find Menu.  
  6259.  
  6260.        This process compares the records of one database to the  records
  6261.        of another.   It  does not  identify any  duplicates which  might
  6262.        exist within each  of the individual databases.   That process is
  6263.        performed  on each database  using the previously  discussed menu
  6264.        item, Find Duplicates In One Database. 
  6265.  
  6266.  
  6267.  
  6268.                                                     SORTING RECORDS  131
  6269.   ----------------------------------------------------------------------
  6270.  
  6271.  
  6272.                              Sorting Records 
  6273.  
  6274.        When  accessing  your  database you  often  want  the information
  6275.        presented in some kind of order.  If you are printing a telephone
  6276.        directory,  you  probably  want  the  records  to be  printed  in
  6277.        alphabetical order by the Last and First Name fields.  If you are
  6278.        printing a  mailing list to  be sent out  by bulk mail,  you will
  6279.        want the records printed in Zip Code order.
  6280.  
  6281.        File  Express lets you define up  to five indexes for a database.
  6282.        Each index  can consist of up to ten  different sort levels.  For
  6283.        example:  If  you sort by  CITY then LAST  NAME then FIRST  NAME,
  6284.        File Express  first sorts all  the CITY fields  into alphabetical
  6285.        order, then  looks at all  the LAST  NAMEs connected to  the same
  6286.        city and sorts those and then looks  at each group of FIRST NAMEs
  6287.        having the same LAST NAME and sorts those.  The results might be:
  6288.  
  6289.  
  6290.  
  6291.             CITY           LAST NAME FIRST NAME
  6292.             -------------- --------- ----------
  6293.             Los Angeles    Jones     Jack
  6294.             Los Angeles    Jones     James
  6295.             Los Angeles    Jones     Zack
  6296.             Los Angeles    Larson    Kevin
  6297.             Los Angeles    Larson    Mary
  6298.             Los Angeles    Simonson  Heidi
  6299.             Los Angeles    Simonson  Larry
  6300.             Seattle        Hunt      Albert
  6301.             Seattle        Hunt      Ken
  6302.             Seattle        Jacobs    Chris
  6303.             Seattle        Keller    Helen
  6304.             Spokane        Anderson  Dawn
  6305.             Spokane        Anderson  Graydon
  6306.             Spokane        Smith     Don
  6307.  
  6308.  
  6309.  
  6310.        As you add new records File Express automatically updates all the
  6311.        active indexes with  the new information.   At any time,  you can
  6312.        change the Primary index to be used for displaying, printing  and
  6313.        searching for records.
  6314.  
  6315.        File  Express  also  keeps  two  internal indexes  automatically.
  6316.        These are a record number index and a deleted record index.
  6317.  
  6318.        As records are added to a database, each is given a record number
  6319.        corresponding to its physical position in the data  file.  If you
  6320.        want to access the records in this order, make the  record number
  6321.        index the PRIMARY index.
  6322.  
  6323.  
  6324.  
  6325.   132  SORTING RECORDS
  6326.   ----------------------------------------------------------------------
  6327.  
  6328.        When you delete a  record from a  database, File Express  removes
  6329.        the  record reference  from all the  active indexes so  it is not
  6330.        included  in any displays,  searches, reports, labels,  etc.  The
  6331.        information that was contained in the deleted record is still  on
  6332.        disk, however, until  it is overwritten by a  newly added record.
  6333.        File Express keeps track of the locations of all deleted  records
  6334.        in your database  in a deleted record  index.  If you  change the
  6335.        PRIMARY  index to  the  deleted record  index,  all displays  and
  6336.        searches will  only use  the deleted  records.   Because all  the
  6337.        information  in  a  deleted   record  is  still  on   disk  until
  6338.        overwritten  by an added record, you  can undelete any of them at
  6339.        will.
  6340.  
  6341.  
  6342.   What Is An Index? 
  6343.        An index is simply a file containing some information about  each
  6344.        record in  your database according  to the way  it is to  be kept
  6345.        sorted.   File Express uses a balanced B-Tree format to keep this
  6346.        information.   B-Tree  indexes are  a  very fast  way  to  access
  6347.        records within a database and easily allows new information to be
  6348.        inserted at any time.
  6349.  
  6350.        When you  ask File Express  to find all  the records with  a last
  6351.        name of Smith, it is  much faster to look in the Last  Name index
  6352.        for Smith than it is to read every record in the database looking
  6353.        for the name.   Once File Express finds Smith in the index, which
  6354.        can be almost instantaneous, the record can then be displayed  on
  6355.        the screen. 
  6356.     
  6357.        The indexes are actually separate files on disk.  Their names are
  6358.        made up  of the  database name  with extensions  of .IX0  through
  6359.        .IX6.  There  is also an index  header file with an  extension of
  6360.        ".IXH" that  keeps track  of the status  and description  of each
  6361.        index. 
  6362.  
  6363.  
  6364.  
  6365.                                                     SORTING RECORDS  133
  6366.   ----------------------------------------------------------------------
  6367.  
  6368.   Defining or Changing an Index 
  6369.        To  define an  index for  the current  database  or to  change an
  6370.        existing  index definition, press <4> or <S>  on the Main Menu to
  6371.        display the Select Index screen.
  6372.  
  6373.    
  6374.  
  6375.    
  6376.  
  6377.    
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.  
  6387.  
  6388.  
  6389.        The Record Number index, Deleted Record index, and the five user-
  6390.        defined indexes are listed  in the window  along with their  Tag,
  6391.        Status and Description.
  6392.  
  6393.   Tagging An Index
  6394.        The TAG  column indicates  which indexes are  to be  rebuilt when
  6395.        <F10> is pressed.   Any index  that is not  marked UNUSED can  be
  6396.        tagged  for  rebuilding  by  pressing  <T>  while  the  index  is
  6397.        highlighted.  Pressing <T> places a check mark in the TAG column.
  6398.        If there is  already a check mark, pressing <U>  erases the mark,
  6399.        removing the index from the rebuild list.
  6400.  
  6401.        The  Status  column indicates  whether  an index  is  the PRIMARY
  6402.        index, an ACTIVE index, an INACTIVE index or an UNUSED index. 
  6403.  
  6404.   Primary Index
  6405.        A  status of  PRIMARY means  the  index is  used when  searching,
  6406.        displaying, or printing records from the current database.  There
  6407.        can only be one  index marked as PRIMARY  at any given time.   To
  6408.        change  an index  to PRIMARY,  move  the highlighted  bar to  the
  6409.        desired index and press <P>.  The Status changes to PRIMARY.  The
  6410.        Status of the previous  PRIMARY index changes  to ACTIVE.   Note:
  6411.        You can't change an UNUSED index to PRIMARY.
  6412.  
  6413.   Active Indexes
  6414.        An ACTIVE index is  kept updated by File  Express as new  records
  6415.        are added or existing records are changed.  To change an INACTIVE
  6416.        index to ACTIVE, press <A>  while it is highlighted.  The  Status
  6417.        changes to "ACTIVE"  and a check mark is placed in the TAG column
  6418.        indicating this index mustbe rebuilt beforebeing put intoservice.
  6419.  
  6420.  
  6421.  
  6422.   134  SORTING RECORDS
  6423.   ----------------------------------------------------------------------
  6424.  
  6425.   Inactive Indexes 
  6426.        An INACTIVE index is one  that has been defined but  is currently
  6427.        not being kept updated by File Express as changes are made in the
  6428.        database.  To retire an ACTIVE index, move the highlighted bar to
  6429.        it and press <I>.  The  Status changes to "INACTIVE".  A  PRIMARY
  6430.        index can't  be changed  directly to  INACTIVE.   You must  first
  6431.        select some  other index  to be PRIMARY  and then  inactivate the
  6432.        index.
  6433.  
  6434.        INACTIVE  indexes retain their definitions and can be reactivated
  6435.        and rebuilt at any time in the future.
  6436.  
  6437.   Unused Indexes
  6438.        An UNUSED index is one that has never been defined.
  6439.  
  6440.        From this screen you can do several  things with indexes.  If you
  6441.        are just  starting a new database, you  should define one or more
  6442.        indexes to  go with it.  If  you want to edit  an existing index,
  6443.        this is where you come.  
  6444.  
  6445.   Record Number Index
  6446.        File  Express automatically  keeps an  internal  index in  record
  6447.        number order.  This index is always up to date and never needs to
  6448.        be rebuilt.   Set  this index  to PRIMARY  any time  you want  to
  6449.        access or print records in record number order.
  6450.  
  6451.   Deleted Record Index
  6452.        As records are deleted from your database, their location is kept
  6453.        in a special index called the Deleted Record Index.  File Express
  6454.        always  looks in  this index  to see  if it  can use  one of  the
  6455.        abandoned records for storing new records.  If you set this index
  6456.        to PRIMARY, you can  view, print and undelete these records.   If
  6457.        the Deleted Record Index  is deleted from  your disk, or  becomes
  6458.        corrupted  for  some  reason,  File  Express  will  automatically
  6459.        rebuild it for you.
  6460.  
  6461.  
  6462.  
  6463.                                                     SORTING RECORDS  135
  6464.   ----------------------------------------------------------------------
  6465.  
  6466.   Defining A New Index
  6467.        To create  a  new  index  for  the  current  database,  move  the
  6468.        highlighted bar  using the  <Up> and  <Down> cursor  keys to  the
  6469.        first UNUSED  index entry and  press <E>  to edit and  define the
  6470.        index.  When you do, the Index Edit Screen  appears:
  6471.  
  6472.  
  6473.  
  6474.  
  6475.  
  6476.  
  6477.                  Registered Version has screen picture here
  6478.  
  6479.  
  6480.  
  6481.  
  6482.  
  6483.  
  6484.  
  6485.  
  6486.  
  6487.  
  6488.        On this screen, you tell File Express which fields to keep sorted
  6489.        in this index.  You can also indicate which part of the field you
  6490.        want to use and which order you want the fields sorted in.  
  6491.  
  6492.        The  window displayed on the left is  a list of all the fields in
  6493.        the current database along with their lengths.  The window on the
  6494.        right is  where  you  indicate  the  fields  to  be  sorted,  the
  6495.        positions within each field, and the order of the sort.   You can
  6496.        define up to ten different sort levels for each index.
  6497.  
  6498.        The process begins as you tell File Express the name of the first
  6499.        field you  want to sort  on.  The  field name window  on the left
  6500.        contains a highlighted bar that  can be moved using the  <Up> and
  6501.        <Down> arrow keys.   As you do  this the name of  the highlighted
  6502.        field appears in the  Name column of the right window.   When the
  6503.        desired  field is displayed, press <Enter>  to select that field.
  6504.        You can  also type  in the name  of the  field you want  to sort.
  6505.        File  Express searches  quickly through  the field  name  list to
  6506.        confirm the spelling and accepts the  name if correct.  If  there
  6507.        are  two  or more  fields  with  the  same  name, the  first  one
  6508.        encountered in the field name list is used.  To select the second
  6509.        or  later field with the same  name you must move the highlighted
  6510.        bar to that field and press <Enter> as described above.
  6511.  
  6512.  
  6513.        If the field  you select is a Character type  field, File Express
  6514.        asks for the Position  of the field to be sorted  with the entire
  6515.        length shown  as the default answer.   Just press <Enter> to sort
  6516.        the entire field.   To use only  a portion of the  field, specify
  6517.  
  6518.  
  6519.  
  6520.   136  SORTING RECORDS
  6521.   ----------------------------------------------------------------------
  6522.  
  6523.        the starting and ending character position  separated by a colon.
  6524.        For example,  to sort only the first three characters of a field,
  6525.        enter  1:3 (indicating  characters 1  through  3).   To sort  the
  6526.        seventh through the tenth characters of a field, enter 7:10. 
  6527.  
  6528.        If  the  field  you  select  is  a  numeric  type,  File  Express
  6529.        automatically  fills in  the  Position  column  for  you  because
  6530.        numeric fields must be sorted on their entire length.  
  6531.  
  6532.        Technical note: The number  of digits that  File Express uses  to
  6533.        sort a numeric field is equal to the length of the field plus the
  6534.        number of decimal places plus two.  If you are sorting  a numeric
  6535.        field that  is 10  digits long  and has two  decimal places,  the
  6536.        Position  column reads  1:14.   To  make the  sorting of  numbers
  6537.        faster,  File Express keeps  a specially  aligned version  in the
  6538.        indexes.    This  alignment  process  requires  some  extra  room
  6539.        depending on the number of decimal places involved.
  6540.  
  6541.        The next prompt is: 
  6542.  
  6543.                 Sort into <A>scending or <D>escending order:
  6544.  
  6545.        <A>scending means the records are sorted from smallest to largest
  6546.        or lowest to highest (for example, names are sorted A through Z).
  6547.        <D>escending  means  the  records  are  sorted  from  largest  to
  6548.        smallest or highest to  lowest (for example,  names are sorted  Z
  6549.        through A). 
  6550.  
  6551.        After responding to the three prompts, File Express asks for  the
  6552.        next field to  sort on.  If you  don't want to sort  on any other
  6553.        fields,   press  <F10>.     Otherwise,  continue  specifying  the
  6554.        additional fields (up to  10 total) and  press <Enter> when  they
  6555.        have all  been specified.   When you  are finished,  press <F10>.
  6556.        File  Express  asks,  "Save  index  format  (Y/N)?    or  <C>  to
  6557.        continue".  Press <Y> or <Enter> if everything looks all right or
  6558.        <C> to go back and make some changes to the definition.
  6559.  
  6560.        Most sorts are done on only one  field, using all the data in the
  6561.        field, and sorting  in ascending order.   In these cases,  all it
  6562.        takes to start the  sort is to indicate the field  name and press
  6563.        <Enter> two or three  times, (depending on  the field type),  and
  6564.        then <F10>. 
  6565.  
  6566.  
  6567.  
  6568.                                                     SORTING RECORDS  137
  6569.   ----------------------------------------------------------------------
  6570.  
  6571.   Editing An Existing Index Definition
  6572.        If you  want  to change  an  existing index  definition  or  make
  6573.        changes to  a new  index you  are just  defining, there are  some
  6574.        commands to make this easy.  
  6575.  
  6576.        <Tab>, <BackTab> When the cursor is in the Name column,  pressing
  6577.        <Tab> moves down to the next field name and <BackTab> moves up to
  6578.        the previous field name.
  6579.  
  6580.        <Alt-I> To insert  a sort level, make  sure the cursor is  in the
  6581.        Name column of  the level you want  to have moved down  and press
  6582.        <Alt-I>.  All the levels from the cursor position and below  move
  6583.        down and a  new level is inserted.   The new level  is pre-filled
  6584.        with the information  below it but you  can change it to  any new
  6585.        information.
  6586.  
  6587.        <Alt-D> To delete  a sort level, make  sure the cursor is  in the
  6588.        Name  column of the level  you want to  delete and press <Alt-D>.
  6589.        All sort levels below move up one line.
  6590.  
  6591.        When you have made the desired changes, press <F10> to save them.
  6592.  
  6593.  
  6594.   Saving The Index Definition
  6595.  
  6596.        After pressing  <F10> and indicating that you are finished making
  6597.        entries and changes, File Express prompts for an Index Name which
  6598.        can be up to eight characters long and a  description of up to 50
  6599.        characters.    After  entering these  and  pressing  <Enter>, you
  6600.        return to the Select Index screen with the index you were working
  6601.        on highlighted and tagged with a check mark.
  6602.  
  6603.  
  6604.   Building Or Rebuilding An Index
  6605.        When you have defined  your indexes or  made changes to  existing
  6606.        indexes,  you  must go  through  the  process that  rebuilds  the
  6607.        indexes.  This makes  them active so  they will be  automatically
  6608.        updated by File Express when records are added or changed.
  6609.  
  6610.        To  begin  the rebuild  process,  press <F10>  while  viewing the
  6611.        Select Index screen.  File Express displays a percentage scale on
  6612.        the screen showing the  progress of the  index rebuilding.   When
  6613.        the job is  finished, you  return to  the Main Menu.   Once  your
  6614.        indexes are  defined and initially built, File Express keeps them
  6615.        up to date at all times.  The rebuilding process is not generally
  6616.        needed  again unless  you want  to  change the  definition of  an
  6617.        index, add a new index or if an index becomes corrupted due to  a
  6618.        power failure, bad disk, etc.
  6619.  
  6620.    
  6621.  
  6622.  
  6623.  
  6624.   138  SORTING RECORDS
  6625.   ----------------------------------------------------------------------
  6626.  
  6627.   Sort Precedence 
  6628.        The concept of precedence is somewhat technical in nature.   It's
  6629.        not necessary to fully  understand this section  in order to  run
  6630.        File Express. 
  6631.  
  6632.        For  character fields,  File  Express  uses  the  standard  ASCII
  6633.        precedence used by IBM  PC and compatibles.   The ASCII  standard
  6634.        assigns  a  value   to  every  character,  including   the  space
  6635.        character.  The value of the character determines where it sorts:
  6636.  
  6637.  
  6638.        1. <space> has the  lowest ASCII value,  meaning it sorts  before
  6639.        anything else.  (This includes any blank or empty fields.)
  6640.  
  6641.        2. some of the special characters sort next, in this sequence:  
  6642.                       !  "  #  $  %  &  '  -  .  / 
  6643.  
  6644.        3. Numeric digits (when used in character fields) sort next: 
  6645.                       0  1  2  3  4  5  6  7  8  9 
  6646.  
  6647.        4. A few more special characters come next: 
  6648.  
  6649.                            :  ;  <  =  >  ?  @ 
  6650.  
  6651.        5.  Followed  by  alphabetic  characters  (upper/lower  case  are
  6652.        mixed):  
  6653.               A or a, B or b, C or c, D or d, E or e, etc. 
  6654.  
  6655.        6. And finally, a few more special characters: 
  6656.  
  6657.                       [  \  ]  ^  _  `  {  |  }  ~ 
  6658.  
  6659.        Technical  Note:  File  Express  also  permits  special   foreign
  6660.        characters, math  symbols and graphic symbols to  be entered into
  6661.        character  fields.   The  sort  precedence  on  these  fields  is
  6662.        determined by their  ASCII value.   See Appendix  A for an  ASCII
  6663.        chart listing.
  6664.  
  6665.        The sort precedence for Numeric fields is simply the value of the
  6666.        number.  Empty numeric  fields (all spaces) are given  a value of
  6667.        zero.  On  an ascending sort, negative numbers  are sorted first,
  6668.        then  zero, then positive  numbers.  Remember,  when dealing with
  6669.        negative numbers, -100 is considered less than -99, so -100 comes
  6670.        first in an ascending sort.  
  6671.  
  6672.        File Express does not permit you to enter a formula to be sorted,
  6673.        but there  is a way  to sort on the  result of a  formula.  Let's
  6674.        say, for  example,  you  need  a  report  printed  in  descending
  6675.        sequence using the  computation of two  fields: (OnHand *  Cost).
  6676.        To accomplish this, set up a Formula field in your database which
  6677.        contains  the formula.   As  records  are added,  the formula  is
  6678.  
  6679.  
  6680.  
  6681.                                                     SORTING RECORDS  139
  6682.   ----------------------------------------------------------------------
  6683.  
  6684.        automatically computed.  Then when a sort is necessary, just sort
  6685.        on the contents of the Formula field. 
  6686.  
  6687.        Sometimes  ASCII sort  precedence is  undesirable or  inadequate,
  6688.        because  you want, say,  spaces to come last,  or numbers to come
  6689.        after letters.  If you have a special application which  requires
  6690.        the sort precedence to be altered, define a formula field in your
  6691.        database  whose resulting value determines the new precedence you
  6692.        require.   For example, to make  blank company names sort  at the
  6693.        end of  the index  instead of  the beginning,  include a  Formula
  6694.        field in your database with this formula:  
  6695.  
  6696.                  If company is empty then 1 otherwise 0 
  6697.  
  6698.        When sorting by company name, sort this formula field first, then
  6699.        the company.  Since 1 is greater  than 0, all the blank companies
  6700.        go to the  end of the index.   This If/Then statement  could have
  6701.        been much more complex, using nested IF's to make numerous  tests
  6702.        and assign more values than 0 and 1: 
  6703.  
  6704.        IF F1 >= A AND F1 <= ZZ THEN 1 ELSE IF F1 >= 0 AND F1 <= 9 THEN 2
  6705.        ELSE IF LEFT(F1,1) <> " " THEN 3 ELSE 4 
  6706.  
  6707.        Sorting  by this formula  causes alphabetic names  to come first,
  6708.        then numeric digits, then special characters, and finally spaces.
  6709.        Of course only  the first character of the field is checked.  The
  6710.        rest of the field is sorted in straight ASCII sequence.  For more
  6711.        information  on  If/Then  and formulas,  see  the  chapter titled
  6712.        Formulas. 
  6713.  
  6714.  
  6715.   Sorting Dates 
  6716.        File  Express has a  special field type  called a Date  field.  A
  6717.        Date field is  automatically given a length of  8 or 10 depending
  6718.        on the global  date format selected in the Setup program.  When a
  6719.        Date field  is  entered, it  displays  on the  screen  in  either
  6720.        MM-DD-YY format (for example: 05-16-90), MM-DD-YYYY (05-16-1990),
  6721.        DD-MM-YY format  (25-12-90),  or DD-MM-YYYY  (25-12-1990).    All
  6722.        dates are stored in the database as in YYYYMMDD, 8 byte format so
  6723.        it  is automatically sorted  chronologically.  Whenever  they are
  6724.        displayed on  the screen or  on a report  or labels, the  date is
  6725.        reformatted in the current date format.
  6726.  
  6727.    
  6728.  
  6729.  
  6730.  
  6731.   140  SORTING RECORDS
  6732.   ----------------------------------------------------------------------
  6733.  
  6734.   Sorting By Record Number 
  6735.        File  Express automatically  keeps an  internal  index in  record
  6736.        number  order.  If you define a new database and don't set up any
  6737.        new indexes, File  Express keeps the records you  enter in record
  6738.        number order and any reports or labels printed are in that order.
  6739.  
  6740.        Sometimes it is desirable to use the record number index, such as
  6741.        when you want the records to  appear in a report in the  sequence
  6742.        in which you entered them.  Since records are added at the end of
  6743.        the  database (except  when  there  are  vacant  deleted  records
  6744.        available), record number sequence is also chronological sequence
  6745.        for new records.  
  6746.  
  6747.        The record number  can be included as one of the sub-levels of an
  6748.        index.  To do this, select  field 0 when you want to  include the
  6749.        record  number.    If it  is  used,  it must  be  the  last field
  6750.        specified because  any further  sub-levels would  not affect  the
  6751.        sort.  Sometimes it can be useful to include the record number as
  6752.        the  last  field.    For  example,   a  database  contains  dated
  6753.        transactions, many  of which have  the same  date.  You  want the
  6754.        transactions in  date sequence,  but for the  ones with  the same
  6755.        date, you  want them  sorted in the  sequence they  were entered.
  6756.        Specify the date as the first field of the sort, then specify the
  6757.        record number as the second field. 
  6758.  
  6759.    
  6760.   How Long Does It Take? 
  6761.        There are  many factors which affect the  length of time it takes
  6762.        to rebuild indexes.  Some of the variables include: 
  6763.  
  6764.        *    How many records are being sorted?         
  6765.        *    How big are the records?         
  6766.        *    How many fields are being sorted?         
  6767.        *    How long are the sorted fields?         
  6768.        *    Is the database on a hard disk, RAM disk or diskettes?  
  6769.        *    How fast is the computer?         
  6770.  
  6771.  
  6772.   Speeding Up Sorts 
  6773.        Obviously the  sort can  be made  to  run faster  by buying  more
  6774.        hardware  or faster  hardware.   But  there are  many other  less
  6775.        expensive ways to speed up the sorting process.  The rule  of the
  6776.        day for faster sorts is: "sort as little as possible". 
  6777.  
  6778.        For example, is it really necessary to sort all 30 characters  of
  6779.        a company  name?   Most company  names are unique  enough in  the
  6780.        first  15 characters.  If you specify  1:15 for the characters to
  6781.        be sorted,  instead of  sorting the complete  30 characters,  the
  6782.        sort generally  runs two  to three times  faster.   An occasional
  6783.        record  or two  may be  slightly  out of  sequence, but  probably
  6784.        nobody  will notice.  If  "in the ballpark"  is good enough, then
  6785.  
  6786.  
  6787.  
  6788.                                                     SORTING RECORDS  141
  6789.   ----------------------------------------------------------------------
  6790.  
  6791.        sort names by  only the first three  or four characters.   It can
  6792.        speed up sorts by a factor of ten or more. 
  6793.  
  6794.  
  6795.  
  6796.   142  SORTING RECORDS
  6797.   ----------------------------------------------------------------------
  6798.                                   empty
  6799.  
  6800.  
  6801.  
  6802.                                                    PRINTING REPORTS  143
  6803.   ----------------------------------------------------------------------
  6804.  
  6805.  
  6806.                             Printing Reports 
  6807.  
  6808.  
  6809.        After you have gone through all the trouble of entering mountains
  6810.        of information  into  your database,  it's time  to produce  some
  6811.        dazzling  output.  The File  Express Report Writer  is one of the
  6812.        most  powerful and full-featured report generator programs on the
  6813.        market.
  6814.  
  6815.        The Report section has two parts, a report generator  and a small
  6816.        word processor with  a mail-merge feature.  The  report generator
  6817.        focuses  on printing  information from  the  database along  with
  6818.        totals and subtotals,  whereas the word processor  lets you write
  6819.        form letters that include information from your database.
  6820.  
  6821.  
  6822.   Designing a Report or Form Letter 
  6823.        Defining a  new report  in File  Express is  simply  a matter  of
  6824.        indicating what you  want to print and where on the page you want
  6825.        it put.  Reports can include titles, headings, field information,
  6826.        text, calculated fields, subtotals, totals, and footers.  You can
  6827.        include any or all of these  pieces to make reports as simple  or
  6828.        as complex as you like. 
  6829.  
  6830.        Writing a  form letter consists  of typing  the main text  of the
  6831.        letter and  then  placing fields  where  you want  to  print  the
  6832.        information contained in  a database.   When File Express  prints
  6833.        the form letter, it is reformatted to account for varying lengths
  6834.        of field contents.
  6835.  
  6836.  
  6837.  
  6838.   144  PRINTING REPORTS
  6839.   ----------------------------------------------------------------------
  6840.  
  6841.        To  define a new report or write  a form letter, press <5> or <R>
  6842.        on the Main Menu.  The following screen displays: 
  6843.  
  6844.  
  6845.  
  6846.  
  6847.     
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.  
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859.  
  6860.  
  6861.        The choices on  this menu let you  either design a new  report or
  6862.        form letter or  choose existing reports or letters.   Choosing an
  6863.        existing  report  lets  you  change  it,  either  temporarily  or
  6864.        permanently,  then print  it.   A new  report  can also  be saved
  6865.        permanently and printed, or just printed without saving. 
  6866.  
  6867.  
  6868.  
  6869.                                                    PRINTING REPORTS  145
  6870.   ----------------------------------------------------------------------
  6871.  
  6872.   Reports
  6873.        A report consists of several different sections.  These include:
  6874.  
  6875.  
  6876.  
  6877.  
  6878.  
  6879.  
  6880.                  Registered Version has screen picture here
  6881.  
  6882.  
  6883.  
  6884.  
  6885.  
  6886.  
  6887.  
  6888.  
  6889.  
  6890.  
  6891.        Each section, except the Edit Report Format section,  has default
  6892.        answers  to  all the  questions and  can be  bypassed if  all the
  6893.        answers  are acceptable.   After  completing a  section,  you can
  6894.        either press  <Esc> to  go back to  this Report  Options Menu  or
  6895.        <F10> to continue on to the next section.
  6896.  
  6897.     
  6898.  
  6899.  
  6900.  
  6901.   146  PRINTING REPORTS
  6902.   ----------------------------------------------------------------------
  6903.  
  6904.   Starting a New Report
  6905.        To define a  new report, press <1>  or <D> from the  Report Menu,
  6906.        Design A New Report.  The following screen appears: 
  6907.  
  6908.  
  6909.  
  6910.  
  6911.  
  6912.  
  6913.                  Registered Version has screen picture here
  6914.  
  6915.  
  6916.  
  6917.  
  6918.  
  6919.  
  6920.  
  6921.  
  6922.  
  6923.  
  6924.        This screen is used to specify the placement of the report on the
  6925.        paper.
  6926.  
  6927.        Report width:   The width of the printed area on the report.  For
  6928.        example, if your paper is 8 1/2  inches wide and you want to hold
  6929.        a left  and right margin  of 3/4 inch,  the width of  the printed
  6930.        portion is 7 inches, which  is 70 characters if you are  printing
  6931.        at 10 characters per inch.  In condensed mode you can print about
  6932.        119 characters in  7 inches (7  times 17).   If you are  using 14
  6933.        inch wide paper you can print more, of course.  Keep in mind that
  6934.        the Report Width does not include the left margin setting below.
  6935.  
  6936.        Paper length:   The  number of  rows that  can be  printed on  an
  6937.        entire page.   Most printing  is done at  6 lines  per inch.   An
  6938.        eleven inch page is 66 lines high.  At 8 lines per inch, the page
  6939.        would hold 88 lines.
  6940.  
  6941.        Lines per page:  The  number of lines that actually print  before
  6942.        moving to  the next page.  This should  take into account the top
  6943.        and  bottom margin.  On an eleven  inch page with a top margin of
  6944.        1" and a bottom margin of 3/4", printed at  6 lines per inch, the
  6945.        Lines Per Page should be set at 56.
  6946.  
  6947.        Top Margin:   The number of blank  lines at the top  of each page
  6948.        before the actual printing is started.  Most of the time  you set
  6949.        this to 0  and just position the  paper in your printer  to start
  6950.        printing where you want the first line to be.  If you are using a
  6951.        sheet-feeder you can change this setting as needed.
  6952.  
  6953.        Left Margin:   The number of characters from the left edge of the
  6954.        paper to the  beginning of each line.   A setting of  0 indicates
  6955.  
  6956.  
  6957.  
  6958.                                                    PRINTING REPORTS  147
  6959.   ----------------------------------------------------------------------
  6960.  
  6961.        that printing should  begin at  the left  edge of the  paper.   A
  6962.        setting of 1 leaves one blank space before starting each line.  A
  6963.        setting  of 10 leaves a left margin of 1 inch when printing at 10
  6964.        characters per inch.
  6965.  
  6966.        When all  the settings on the Report  Size and Spacing screen are
  6967.        correct, press <F10>  to continue to the Report  Layout screen or
  6968.        <Esc> to return to the Report Sub-Menu.  The Report Layout screen
  6969.        look like this:
  6970.  
  6971.  
  6972.  
  6973.  
  6974.  
  6975.  
  6976.                  Registered Version has screen picture here
  6977.  
  6978.  
  6979.  
  6980.  
  6981.  
  6982.  
  6983.  
  6984.  
  6985.  
  6986.  
  6987.        This is  the screen you use to "paint"  your report layout.  It's
  6988.        really quite  easy.   There  are  eight possible  sections  to  a
  6989.        report, the Title, Headings, Detail, three levels of Subtotals, a
  6990.        Total section  and a Footer area.  Each  section has a line above
  6991.        it with a  title indicating  the name  of the section.   Each  of
  6992.        these areas can  be laid out any way you want and can be expanded
  6993.        as needed.
  6994.  
  6995.  
  6996.   Moving Around the Layout Screen
  6997.        Moving around the  screen is simply a matter of  using the cursor
  6998.        keys  to move  the blinking  cursor  to any  position within  the
  6999.        report layout.   As you move up  and down, the cursor  moves from
  7000.        one section  to another.   There are  position indicators  at the
  7001.        bottom right corner of  the window that  display the current  row
  7002.        and column  of the cursor  within the  current section.   If your
  7003.        report is  wider  than the  window  on the  screen,  the  display
  7004.        scrolls sideways  when the  cursor moves past  the right  or left
  7005.        edge of the window.  The  same is true if the layout grows  to be
  7006.        taller  than the  window.   The display  scrolls  up and  down as
  7007.        needed.
  7008.  
  7009.  
  7010.  
  7011.   148  PRINTING REPORTS
  7012.   ----------------------------------------------------------------------
  7013.  
  7014.        There are also several other keys that make it easier and quicker
  7015.        to move around the screen:
  7016.  
  7017.        <Enter>   Pressing the <Enter>  key moves the cursor down one row
  7018.                  and to column 1.   The display scrolls to the right  if
  7019.                  necessary.
  7020.  
  7021.        <Home>    Pressing the <Home> key moves the cursor to column 1 in
  7022.                  the  current row, shifting  the window contents  to the
  7023.                  right, if  necessary.   If the cursor  is in  column 1,
  7024.                  pressing <Home> moves the cursor to row 1, column 1  in
  7025.                  the Title section, shifting the window contents down if
  7026.                  necessary.  (If  you want to quickly move  to the Title
  7027.                  section, press <Home> twice and you are there.)
  7028.  
  7029.        <End>     Pressing the <End> key moves the cursor to the position
  7030.                  following  the last non-blank  character on the current
  7031.                  line.   If the cursor is already at  the end of a line,
  7032.                  pressing  <End> moves  the cursor  to  the lower  right
  7033.                  corner  of the window  in the Footer  section, shifting
  7034.                  the window contents up  if necessary.   If you want  to
  7035.                  move to the end of the report, press <End> twice.
  7036.  
  7037.  
  7038.        <Tab>     The  <Tab>  key moves  the  cursor 5  positions  to the
  7039.                  right.
  7040.  
  7041.        <Backtab> The <Backtab> key, (hold down the <Shift> key while you
  7042.                  press  the <Tab> key), moves the  cursor 5 positions to
  7043.                  the left.
  7044.  
  7045.        <Ctrl-PgUp>    These keys move  the cursor to the  top and bottom
  7046.        of the report 
  7047.        <Ctrl-PgDn>    in the current column.
  7048.  
  7049.        <PgUp>    These keys move  up and down through  the entire report
  7050.        layout if <PgDn>    it is taller than the window size.
  7051.  
  7052.        <Alt-D>   Pressing <Alt-D> deletes the  current line after asking
  7053.                  for permission to  do so.  All lines  below the deleted
  7054.                  line are  moved  up to  fill  the void.    The  section
  7055.                  dividing  lines cannot be  deleted nor can  a line that
  7056.                  contains a field.  To remove a line containing a field,
  7057.                  you must first remove the field.  See Removing a  Field
  7058.                  below.
  7059.  
  7060.        <Alt-I>   Pressing <Alt-I>  inserts a  new blank  line above  the
  7061.                  line  where the cursor  is, making the  current section
  7062.                  one line taller.  
  7063.  
  7064.  
  7065.  
  7066.                                                    PRINTING REPORTS  149
  7067.   ----------------------------------------------------------------------
  7068.  
  7069.        <Ctrl-R>  Pressing <Ctrl-R> repeats the last  text character that
  7070.                  was typed.
  7071.  
  7072.        <Spacebar>     The  <Spacebar> key  puts a  blank  at the  cursor
  7073.                       position and moves one position to the right.  The
  7074.                       <Spacebar> won't blank out a field.
  7075.  
  7076.        <Backspace>    The <Backspace> moves the cursor  one character to
  7077.                       the left and blanks any  text character that is in
  7078.                       that position.  Any text or  single line fields to
  7079.                       the right  of the cursor  are pulled to  the left.
  7080.                       If there  is a  window field to  the right  of the
  7081.                       cursor  that   crosses  the   current  line,   the
  7082.                       <Backspace>  key functions as a <Left> cursor key.
  7083.                       The <Backspace> key will not blank out a field.
  7084.  
  7085.        <Del>          The <Del>  key  removes the  character  under  the
  7086.                       cursor and pulls the remainder  of the line to the
  7087.                       left.  The  <Del> key does not work  if the cursor
  7088.                       is on  an input field or  to the left of  a window
  7089.                       field.
  7090.  
  7091.        <Insert>  The <Insert> key toggles  between insert and  overwrite
  7092.                  mode.    When  insert  mode is  turned  on,  the cursor
  7093.                  changes shape  from a blinking line to  a blinking box.
  7094.                  Any  characters typed while in insert mode are inserted
  7095.                  at the current cursor position and the rest of the line
  7096.                  is move to the  right.  If moving the rest  of the line
  7097.                  to the right would  cause an input  field to be  pushed
  7098.                  off the screen, inserting text is not permitted.  Also,
  7099.                  if there is a window field  to the right of the cursor,
  7100.                  inserting new characters is not allowed.
  7101.  
  7102.        <F10>     Pressing <F10> tells File Express that you are finished
  7103.                  defining the  report layout and want to continue to the
  7104.                  Optional Specification screen. 
  7105.  
  7106.        When defining a report layout,  a list of all the available  edit
  7107.        keys  and their  function is  available  by pressing  <Alt-H> for
  7108.        help.
  7109.  
  7110.  
  7111.  
  7112.   150  PRINTING REPORTS
  7113.   ----------------------------------------------------------------------
  7114.  
  7115.   Report Layout Sections
  7116.  
  7117.        Title
  7118.        The Title section  of a  report is  printed at the  top of  every
  7119.        page.   If  you would like  the title  printed on the  first page
  7120.        only,  or  not at  all,  you can  indicate  this on  the Optional
  7121.        Specification screen that is described below.
  7122.  
  7123.        The Title  section of  a report  usually contains  a title  line,
  7124.        date, and page  number.   However, you  can also  put fields  and
  7125.        formulas in  this section.   Any references  to fields  are taken
  7126.        from the next record to be printed on the report.
  7127.  
  7128.        Example:
  7129.  
  7130.                         List of Software Companies
  7131.  
  7132.        Date18                                       Page PAGE
  7133.  
  7134.  
  7135.        This title  example  was  created  by  typing  List  of  Software
  7136.        Companies as  the title on  the first line of  the Title section,
  7137.        inserting two more lines by pressing <Alt-I>, placing the current
  7138.        date on line 3 as a Calculated Field by pressing <Alt-C> and then
  7139.        selecting the DATE function.  Page numbering was added by  typing
  7140.        Page as  text and then  placing the PAGE  function next to  it by
  7141.        again pressing <Alt-C> to pop up the Calculated field window  and
  7142.        selecting the PAGE function.
  7143.  
  7144.        Example:
  7145.  
  7146.                  User Group Phone Directory    Last Name      PAGE
  7147.  
  7148.  
  7149.        This example generates a title that looks something like:
  7150.  
  7151.                  User Group Phone Directory    Williams       117
  7152.  
  7153.  
  7154.        Since any field  reference in the Title area  prints the contents
  7155.        of the field  from the next record that will print, the Last Name
  7156.        from the  top record on each page prints  in the title, forming a
  7157.        phone book type  quick index in  the upper  right corner of  each
  7158.        page.
  7159.  
  7160.        Centering Titles
  7161.        Most of the  time you will want  to have your title  lines either
  7162.        centered, left  or right  justified within the  defined width  of
  7163.        your report.  File Express offers a feature called Text Alignment
  7164.        to help  you.  Pressing <Alt-A> on  any line containing just text
  7165.        (no fields or formulas) pops up a window prompting you for <L>eft
  7166.  
  7167.  
  7168.  
  7169.                                                    PRINTING REPORTS  151
  7170.   ----------------------------------------------------------------------
  7171.  
  7172.        <C>enter or <R>ight justification.  Select the alignment you want
  7173.        by pressing the appropriate letter  and all the text on  the line
  7174.        is instantly justified for you.  
  7175.  
  7176.        Headings
  7177.        The Headings section of  a report is  normally printed below  the
  7178.        Title  section and  above the  Detail section on  each page.   It
  7179.        usually consists of column headings.  As with the Title  section,
  7180.        you can  indicate that  the Headings  section be  printed on  the
  7181.        first page, all pages, or no pages at all.
  7182.  
  7183.  
  7184.        Auto-Generate Headings
  7185.        The most  commonly used  Heading consists of  field names  with a
  7186.        dashed lines under them.
  7187.  
  7188.        Example:
  7189.  
  7190.             First Name    Last Name            Company Name
  7191.             ------------- -------------------- ----------------------
  7192.  
  7193.  
  7194.        File Express lets you automatically generate this type of heading
  7195.        by pressing <Ctrl-G> with the cursor in the Headings area,  after
  7196.        the Detail section  has been laid out.   This is done  by echoing
  7197.        the field  names found on  the first  line of the  Detail section
  7198.        into the first line of  the Headings section. The dashed line  on
  7199.        the second line  of the Heading section represents  the length of
  7200.        the field.
  7201.  
  7202.        After  a Heading  is generated,  you can  make changes  to it  by
  7203.        simply moving around  the section, typing over the  text you want
  7204.        to edit.
  7205.  
  7206.        The Headings section can be much more elaborate, containing field
  7207.        references, formulas, and text.
  7208.  
  7209.        Example:
  7210.  
  7211.             Expressware Corporation       I N V O I C E
  7212.             P.O. Box 1800
  7213.             Duvall, WA 98019
  7214.  
  7215.             206-788-0932        Date of Invoice: DATE    
  7216.  
  7217.             ____________________________________________________
  7218.  
  7219.  
  7220.  
  7221.   152  PRINTING REPORTS
  7222.   ----------------------------------------------------------------------
  7223.  
  7224.        Detail Area
  7225.        The Detail  section of a report  is where all  the information is
  7226.        printed from the fields  in each record.   The Detail section  is
  7227.        printed  once   for  every   record  and   is  usually   repeated
  7228.        continuously down the page until it is full.  
  7229.  
  7230.        To define the layout for your report, move around the Detail area
  7231.        and place the fields and text exactly where you want them.
  7232.  
  7233.        The following example  was created by placing the  BOOK TITLE and
  7234.        AUTHOR fields on line 1 of the Detail section.  
  7235.  
  7236.                  BOOK TITLE               AUTHOR               
  7237.  
  7238.        This layout produces a report like this:
  7239.  
  7240.        Example:
  7241.  
  7242.                  Macroscope               Piers Anthony
  7243.                  Foundation and Earth     Isaac Asimov
  7244.                  2001                     Arthur C. Clark
  7245.                  Starship                 Robert Heinlen
  7246.                  Ringworld                Larry Niven
  7247.  
  7248.  
  7249.        Of course, the layout can be much more intricate.  Continuing the
  7250.        example of the INVOICE in the Heading section:
  7251.  
  7252.        -----------------------------------------------------------------
  7253.        To: Full Name===============  Ship  to:   SHIP TO NAME===========           
  7254.            COMPANY NAME============              SHIP TO COMPANY======== 
  7255.            ADDRESS=================              SHIP TO ADDRESS======== 
  7256.            CITY==========, ST ZIP==              SCITY========, SS SZIP=
  7257.  
  7258.        Date Order: ODATE===               Tax Number: TAX NUMBER========
  7259.        -----------------------------------------------------------------
  7260.        Account No.   Date Shipped   Shipped Via   Terms    Your Number
  7261.  
  7262.        ACCT NUMBER    SHIP DT         VIA         TERMS     PO NUMBER
  7263.        -----------------------------------------------------------------
  7264.        Quantity             Description            Unit Price    Amount
  7265.        -----------------------------------------------------------------
  7266.        QTY1        DESCRIP1==================          EACH1     SUBTOT1
  7267.        QTY2        DESCRIP2==================          EACH2     SUBTOT2
  7268.  
  7269.                                    etc.
  7270.    
  7271.  
  7272.  
  7273.  
  7274.                                                    PRINTING REPORTS  153
  7275.   ----------------------------------------------------------------------
  7276.  
  7277.  
  7278.  
  7279.        All the  highlighted characters  represent  fields or  calculated
  7280.        fields.  
  7281.  
  7282.        Subtotals
  7283.        File Express offers three levels of subtotals on a  report.  Each
  7284.        subtotal level  can have  its own trigger  field that  determines
  7285.        when  the  subtotal is  generated  for that  level.  (See Setting
  7286.        Trigger Fields  for more  information). The  trigger field  for a
  7287.        subtotal level is typically a sort field of the same level.   For
  7288.        example, if you want a subtotal printed each time the contents of
  7289.        the CITY field changes, the current index must be in  CITY order.
  7290.        (See Example  1.)  If you are  going to print a  report with more
  7291.        than one level of subtotals, the  current index should be in  the
  7292.        same order as the  trigger fields used  to generate the  subtotal
  7293.        levels.  (See Example 2.)
  7294.  
  7295.  
  7296.        Example 1 - Level 1 subtotals:
  7297.  
  7298.             City           Amount1  Amount2
  7299.             -------------  -------- --------
  7300.             Aberdeen          23.81   710.00
  7301.             Aberdeen        8381.84  1845.82
  7302.             Aberdeen         426.20     2.00
  7303.  
  7304.                            -------- --------
  7305.                             8831.85  2557.82
  7306.  
  7307.             Cincinnati       306.88   839.95
  7308.             Cincinnati      7925.68    29.35
  7309.             Cincinnati          .34    79.95
  7310.             Cincinnati       885.33   419.45
  7311.             Cincinnati        59.24    59.15
  7312.                            -------- --------
  7313.                             9177.47  1427.85
  7314.  
  7315.  
  7316.        In this example,  the Subtotal 1 trigger is the CITY field.  This
  7317.        means that each time  the contents of  the CITY field changes,  a
  7318.        level 1 subtotal is generated.
  7319.  
  7320.  
  7321.  
  7322.   154  PRINTING REPORTS
  7323.   ----------------------------------------------------------------------
  7324.  
  7325.        Example 2 - Three levels of subtotals:
  7326.  
  7327.        State     City      Salesperson    Amount
  7328.        -------   --------  -----------    --------
  7329.        Nevada    Las Vegas Larry            84,920
  7330.                                             12,000
  7331.                                           --------
  7332.                                             96,920
  7333.  
  7334.                            Leslie            9,500
  7335.                                            102,480
  7336.                                           --------
  7337.                                            111,980
  7338.                     === $208,900 (Las Vegas) ===
  7339.  
  7340.                     Reno   Larry            72,900
  7341.                                             48,390
  7342.                                           --------
  7343.                                            121,290
  7344.  
  7345.                            Robin             3,800
  7346.                                             19,430
  7347.                                           --------
  7348.                                             23,230
  7349.                     === $144,520 (Reno) ===
  7350.  
  7351.             *** $353,420 (Nevada) ***
  7352.  
  7353.        Washington     Duvall    Margaret    45,920
  7354.                                             12,000
  7355.                                           --------
  7356.                                             57,920
  7357.  
  7358.                                 Nancy       33,910
  7359.                                             12,570
  7360.                                           --------
  7361.                                             46,480
  7362.                     === $104,400 (Duvall) ===
  7363.  
  7364.                       Seattle   Martin     204,560
  7365.                                             89,080
  7366.                                           --------
  7367.                                            293,640
  7368.  
  7369.                                 Paul        98,340
  7370.                                            142,920
  7371.                                           --------
  7372.                                            241,260
  7373.                     === $534,900 (Seattle) ===
  7374.  
  7375.             *** $639,300 (Washington) ***
  7376.  
  7377.  
  7378.  
  7379.                                                    PRINTING REPORTS  155
  7380.   ----------------------------------------------------------------------
  7381.  
  7382.  
  7383.        In this  example, the subtotals  that are between  the asterisks,
  7384.        i.e., 
  7385.                       *** $984,750 (Washington) *** 
  7386.        are level 1  subtotals and are triggered by the STATE field.  The
  7387.        subtotals between the equal signs 
  7388.                         === $768,260 (Seattle) ===
  7389.        are level 2 subtotals and are  triggered by the CITY field.   The
  7390.        level 3 subtotals are the numbers beneath the dashed lines in the
  7391.        right column and are triggered by the SALESPERSON field.
  7392.  
  7393.  
  7394.        Setting Trigger Fields
  7395.        Whenever the cursor is  in one of the Subtotal areas, the current
  7396.        trigger field is  displayed near the bottom of the  screen and an
  7397.        additional  prompt is  added, <T>rigger.   To change  the trigger
  7398.        field, press  <Alt-T>.  File  Express pops up  a list of  all the
  7399.        current fields.  Using the cursor keys, move the highlight bar to
  7400.        the name of the field you  want to use for the new trigger  field
  7401.        and press <Enter>.   You are then asked for the "Portion of field
  7402.        for trigger comparison".  A subtotal trigger can be any part of a
  7403.        field.  For example,  the month portion of a Date  field might be
  7404.        used to get  monthly subtotals.  The default  entry is the entire
  7405.        length of  the field.  Make any change desired and press <Enter>.
  7406.  
  7407.  
  7408.  
  7409.   156  PRINTING REPORTS
  7410.   ----------------------------------------------------------------------
  7411.  
  7412.        Total
  7413.        The Total section is generated at the end of a report printout.
  7414.  
  7415.        Example:
  7416.  
  7417.             Aberdeen          23.81   710.00
  7418.             Cincinnati      8381.84  1845.82
  7419.             Denver           426.20     2.00
  7420.             Fargo            306.88   839.95
  7421.             Jackson         7925.68    29.35
  7422.             Miami               .34    79.95
  7423.             New York City    885.33   419.45
  7424.             Seattle           59.24    59.15
  7425.             ============   ======== ========
  7426.             8              18009.32  3985.67
  7427.  
  7428.        In this example, the totals are under the double-dashed lines and
  7429.        were laid out  by putting the corresponding  field.TOTAL for each
  7430.        field in the Total area.
  7431.  
  7432.        Footer
  7433.        The Footer  section is  normally printed  at the  bottom of  each
  7434.        page.   You can,  however, indicate  that the  Footer section  be
  7435.        printed on the first page, all pages, or no pages at all.
  7436.  
  7437.        The Footer section  can contain page numbers,  copyright notices,
  7438.        field information, etc.
  7439.  
  7440.        Example:
  7441.  
  7442.  
  7443.        Frank      7384.20
  7444.        Helen      8392.89
  7445.        Jane      10673.60
  7446.        Larry      9901.00
  7447.        Mary       7770.45
  7448.             etc.
  7449.  
  7450.  
  7451.  
  7452.        ---------------------------------------------------------------
  7453.                  Maximum so far: 10673.60
  7454.  
  7455.        (C) Copyright 1991, Acme Parts Company            Page 1
  7456.  
  7457.  
  7458.        The  Footer above is in bold type.   The number printed following
  7459.        "Maximum so far:" was generated using  the .MAX field style.  The
  7460.        page number  was generated  using the PAGE  function.   These are
  7461.        described a little  later in this  chapter.  The dashed  line and
  7462.        other words were just typed in as text.
  7463.  
  7464.  
  7465.  
  7466.                                                    PRINTING REPORTS  157
  7467.   ----------------------------------------------------------------------
  7468.  
  7469.  
  7470.   Adding Text to the Layout
  7471.        Additional text  can be  added anywhere, in  any section,  in the
  7472.        Report  Layout window  except  on top  of fields  and  on top  of
  7473.        section divider lines.   Simply move the  cursor to the  location
  7474.        where you want to add text and type what you want.
  7475.  
  7476.        If you type past the width of your report, the text wraps to  the
  7477.        left side of the layout on the next line down.  If  you type past
  7478.        the right edge  of the window, but  have not yet reach  the right
  7479.        edge of your report, the screen scrolls sideways to display  more
  7480.        columns on the right.
  7481.  
  7482.        Inserting Text
  7483.        Text  can be  inserted into  an  existing string  by putting  the
  7484.        cursor into insert  mode.  Pressing the <Insert>  key toggles the
  7485.        cursor in and out of insert mode.   The cursor is a tall blinking
  7486.        block when  it is  in insert  mode.   File  Express won't  insert
  7487.        characters if the  cursor is to the left of a window field, or if
  7488.        a field would be pushed off the report.
  7489.  
  7490.        Deleting Text
  7491.        Text  can be deleted  by using the  <Backspace> key or  the <Del>
  7492.        key.   Both of these keys pull any trailing text to the left.  If
  7493.        the cursor is  to the left  of a window  field, these keys  don't
  7494.        work.   You  must  use  the  <Spacebar>  to  blank  out  unwanted
  7495.        characters in this case.
  7496.  
  7497.        Special Characters
  7498.        To type a  special character that is  not found on  the keyboard,
  7499.        you must know  the ASCII number  that is assigned  to it.   These
  7500.        codes can be found in the ASCII CODES appendix at the end of this
  7501.        manual.   To enter a  special character  you must  hold down  the
  7502.        <Alt> key and  while doing  so, key  in the ASCII  number on  the
  7503.        numeric keypad, and then  release the <Alt>  key.  The  character
  7504.        appears at  the current  cursor position.   To enter  the British
  7505.        Pound sign for example,  hold down the <Alt> key and  type 156 on
  7506.        the numeric keypad.   When you let up the <Alt> key the character
  7507.        appears on the screen.
  7508.  
  7509.        Control Characters
  7510.        To enter special control characters with an ASCII value less than
  7511.        32,  press <Alt-X>.   File  Express  asks you  to "Enter  literal
  7512.        character".  Either press the desired control key, such as  <Esc>
  7513.        or <Tab>, or enter the control key by holding down the  <Alt> key
  7514.        and typing  the ASCII  number on  the numeric keypad.   While  in
  7515.        Literal Character mode, <Ctrl-A> through <Ctrl-Z> corresponds  to
  7516.        the ASCII  values 1  through 26.   ASCII 27,  which is  an Escape
  7517.        character, can be entered by pressing the <Esc> key.  ASCII codes
  7518.        28 through 31 must be entered by using the <Alt> key method.
  7519.  
  7520.  
  7521.  
  7522.   158  PRINTING REPORTS
  7523.   ----------------------------------------------------------------------
  7524.  
  7525.   Placing Fields on the Screen
  7526.        File Express offers many different options when placing fields on
  7527.        your  report format.  Fields can be  placed with or without their
  7528.        field names, or as window fields that occupy a rectangular  block
  7529.        on the page and automatically word-wrap when the field is printed
  7530.        into them.   Fields can be placed anywhere  on the layout, in any
  7531.        section, as long as there is enough room.  
  7532.  
  7533.        Regular Fields
  7534.        To place a field on the report  layout, move the cursor where you
  7535.        want the field to be located and press <Alt-F>.  A window appears
  7536.        on the screen with a list of all the fields that are part of your
  7537.        current database along  with any new  calculated fields you  have
  7538.        already defined for this report.  The prompt at the bottom of the
  7539.        screen changes to:
  7540.  
  7541.          Use the arrow keys to select a field, then press <Enter>
  7542.  
  7543.        To select the  field you want  to place on  the report, move  the
  7544.        highlighted bar to the desired field by using the <Up> and <Down>
  7545.        cursor keys.  (The <Spacebar> also acts as the <Down> key.)  When
  7546.        you have highlighted the correct field, press <Enter> to bring up
  7547.        the following Field Style window.  
  7548.  
  7549.                  Field
  7550.                  Name & Field
  7551.                  Field in Window
  7552.                  Field.SUBCOUNT
  7553.                  Field.COUNT
  7554.                  Field.SUBNBCOUNT
  7555.                  Field.NBCOUNT
  7556.                  Field.SUBTOTAL
  7557.                  Field.TOTAL
  7558.                  Field.SUBMIN
  7559.                  Field.MIN
  7560.                  Field.SUBMAX
  7561.                  Field.MAX
  7562.                  Field.SUBAVERAGE
  7563.                  Field.AVERAGE
  7564.  
  7565.  
  7566.  
  7567.                                                    PRINTING REPORTS  159
  7568.   ----------------------------------------------------------------------
  7569.  
  7570.        The Field  Style window  lists the  different ways  that you  can
  7571.        print a field:
  7572.  
  7573.        Field
  7574.             This option prints only  the contents of  the field as  each
  7575.             record is printed.
  7576.             Example:
  7577.  
  7578.                  Pioneer
  7579.                  Toshiba
  7580.                  Sony
  7581.                  Epson
  7582.                  Hitachi
  7583.                  JVC
  7584.  
  7585.             In this  example, the company names were  printed by putting
  7586.             the Company field as a Field in the Detail section.
  7587.  
  7588.        Name & Field
  7589.             This  option prints  the  field name  followed by  the field
  7590.             contents.
  7591.  
  7592.  
  7593.                  First Name Marilyn
  7594.                   Last Name Monroe
  7595.                     Address 101 1st Ave.
  7596.                        City Baltimore
  7597.                       State MD
  7598.                    Zip Code 01835
  7599.  
  7600.             In this  example,  each  name and  address  was  printed  by
  7601.             putting the fields as Name & Field's in the Detail section.
  7602.  
  7603.  
  7604.        Window Field 
  7605.             If the length  of a field is  40 characters or more  you can
  7606.             place the field on  the report as a Window field.   A Window
  7607.             field is  a rectangular  block that works  much like  a mini
  7608.             word processor.  When the contents of the fields are printed
  7609.             on  the report, they are automatically word-wrapped into the
  7610.             blocked  area.   When  you  select  this  type of  style,  a
  7611.             blinking rectangle of squares appears that is  two rows tall
  7612.             and 20 characters wide.  The prompt at the bottoms tells you
  7613.             to:
  7614.  
  7615.             Use Arrow  keys to  stretch the WINDOW  to size  desired and
  7616.             then press <Enter>
  7617.  
  7618.  
  7619.  
  7620.   160  PRINTING REPORTS
  7621.   ----------------------------------------------------------------------
  7622.  
  7623.             You can  make the  block taller and  wider until  the height
  7624.             times the  width is greater than  or equal to  the length of
  7625.             the field.  You can stretch the window over text if you like
  7626.             but File Express does not let you cover over any other field
  7627.             on  the screen.   When you have sized  the block as desired,
  7628.             press <Enter>.  Example:
  7629.  
  7630.  
  7631.                  This is an example of a window field
  7632.                  that is word-wrapped into the block as
  7633.                  the field is printed.  This is a good
  7634.                  way to print fields that contain long
  7635.                  text descriptions in a column on a
  7636.                  report.
  7637.  
  7638.  
  7639.  
  7640.                                                    PRINTING REPORTS  161
  7641.   ----------------------------------------------------------------------
  7642.  
  7643.        Field.SUBCOUNT
  7644.             This option prints  the count of the records  that have been
  7645.             printed in the current level 1 subtotal group.  (Since  this
  7646.             is  just  a  count  of  records  printed  in  the  subgroup,
  7647.             regardless  of  whether this  field  is  blank or  not,  all
  7648.             .SUBCOUNT field references print the same number.   That is,
  7649.             F1.SUBCOUNT is the same as F2.SUBCOUNT which is the same  as
  7650.             F3.SUBCOUNT,  etc.).   The  contents of  the  field make  no
  7651.             difference as to  how they are counted.   Numeric fields are
  7652.             the same as character fields.  
  7653.  
  7654.             Example:
  7655.  
  7656.  
  7657.             #    Name           Company        Amount
  7658.  
  7659.  
  7660.             1    David          Expressware      23.89
  7661.             2    David                            0.00
  7662.             3    David          Microsoft       936.10 
  7663.                  ----------     -------------  -------
  7664.                  3              3              3
  7665.  
  7666.             1    Don            MCI               6.23
  7667.             2    Don            AT&T           4857.00
  7668.                  ----------     -------------  -------
  7669.                  2              2              2
  7670.  
  7671.             1    Rick                           938.09
  7672.             2    Mary           Boeing            1.11
  7673.                  ----------     -------------  -------
  7674.                  2              2              2
  7675.  
  7676.  
  7677.             In this example  the numbers in the #  column were generated
  7678.             by using Name.SUBCOUNT in the Detail section and the numbers
  7679.             below the dashed lines were generated using Name.SUBCOUNT in
  7680.             the Subtotal 1 section
  7681.  
  7682.             If  .SUBCOUNT is used in the Detail area or Subtotal 1 area,
  7683.             level 1 counts  are generated.  If used in Subtotal 2, level
  7684.             2 counts are  used.  If used  in Subtotal 3, level  3 counts
  7685.             are used.
  7686.  
  7687.  
  7688.  
  7689.   162  PRINTING REPORTS
  7690.   ----------------------------------------------------------------------
  7691.  
  7692.        Field.COUNT
  7693.             This option prints the count of the total number of  records
  7694.             that have been printed  so far in the  report.  (All  .COUNT
  7695.             reference are  identical.   F1.COUNT is  always the same  as
  7696.             F2.COUNT which is the same as F3.COUNT, etc.).  
  7697.  
  7698.             Example:
  7699.  
  7700.  
  7701.             #    Name      Company        Amount
  7702.  
  7703.  
  7704.             1    David     Expressware      23.89
  7705.             2    David                       0.00
  7706.             3    David     Microsoft       936.10 
  7707.                  --------- ---------      -------
  7708.                  3         3              3
  7709.  
  7710.             4    Don       MCI               6.23
  7711.             5    Don       AT&T           4857.00
  7712.                  --------- ---------      -------
  7713.                  2         2              2
  7714.  
  7715.             6    Rick                      938.09
  7716.             7    Mary      Boeing            1.11
  7717.                  --------- ---------      -------
  7718.                  2         2              2
  7719.  
  7720.                  ========= =========      =======
  7721.                  7         7              7
  7722.  
  7723.  
  7724.             In this example  the numbers in the #  column were generated
  7725.             by using Name.COUNT  in the Detail  section and the  numbers
  7726.             below  the double dashed lines were generated using F1.COUNT
  7727.             in the Total section.
  7728.  
  7729.             .COUNT  always generates the  same numbers, no  matter which
  7730.             section of the report it is used in.
  7731.  
  7732.  
  7733.  
  7734.                                                    PRINTING REPORTS  163
  7735.   ----------------------------------------------------------------------
  7736.  
  7737.        Field.SUBNBCOUNT
  7738.             This  option prints the count of  the non-blank records that
  7739.             have  been  printed  in the  current  subtotal  level group.
  7740.             (This  count is different from  one field to another because
  7741.             the contents of each field may or may not be blank.)  
  7742.  
  7743.             Example:
  7744.  
  7745.                  Name      Company
  7746.  
  7747.                  David     Expressware
  7748.                  David
  7749.                  David     Microsoft
  7750.                  --------- -------------
  7751.                  3         2
  7752.  
  7753.                  Don       MCI
  7754.                  Don       AT&T
  7755.                  Rick      Sprint
  7756.                            Boeing
  7757.                  --------- -------------
  7758.                  3         4
  7759.  
  7760.  
  7761.             In  this example,  the numbers below  the dashed  lines were
  7762.             generated by  using Name.SUBNBCOUNT in  the Subtotal section
  7763.             for  the Name field  and Company.SUBNBCOUNT in  the Subtotal
  7764.             section for the Company field.  
  7765.  
  7766.             If .SUBNBCOUNT  is used  in the  Detail area  or Subtotal  1
  7767.             area, level 1 non-blank  counts are generated.   If used  in
  7768.             Subtotal 2, level 2 counts are used.  If used in Subtotal 3,
  7769.             level 3 counts are used.
  7770.  
  7771.  
  7772.  
  7773.   164  PRINTING REPORTS
  7774.   ----------------------------------------------------------------------
  7775.  
  7776.        Field.NBCOUNT
  7777.             This  option prints  the  total count  of all  the non-blank
  7778.             records that have been printed so far in the report.  
  7779.  
  7780.             Example:
  7781.  
  7782.                  Name      Company
  7783.  
  7784.                  David     Expressware
  7785.                  Ken
  7786.                  Bill      Microsoft
  7787.                            MCI
  7788.                  Don       AT&T
  7789.                  Rick
  7790.                  Mary      Boeing
  7791.                  ========= =============
  7792.                  6         5
  7793.  
  7794.             In this example, the  numbers below the double  dashed lines
  7795.             were generated by using  Name.NBCOUNT and Company.NBCOUNT in
  7796.             the Total section.
  7797.  
  7798.  
  7799.  
  7800.                                                    PRINTING REPORTS  165
  7801.   ----------------------------------------------------------------------
  7802.  
  7803.        Field.SUBTOTAL
  7804.             This  option  prints  the numeric  subtotal  for  the field.
  7805.             Character fields, unless they contain numeric information or
  7806.             begin with numbers, equate to zeros.  
  7807.  
  7808.             Example:
  7809.  
  7810.  
  7811.                                 Running
  7812.                  Name      Amount    Subtotal
  7813.  
  7814.  
  7815.                  Allen            48.25      48.25
  7816.                  Allen            92.00     140.25
  7817.                  Allen          1947.72    2087.97
  7818.                  ----------     -------
  7819.                        0.00     2087.97
  7820.  
  7821.                  Carla             3.90       3.90
  7822.                  Carla              .23       4.13
  7823.                  Carla           783.26     787.39
  7824.                  Carla          8378.35    9165.74
  7825.                  ----------     -------
  7826.                        0.00     9165.74
  7827.  
  7828.  
  7829.             In this  example, the  numbers below  the dashed  lines were
  7830.             generated  by using Name.SUBTOTAL and Amount.SUBTOTAL in the
  7831.             Subtotal 1  area.  The  numbers under  the Running  Subtotal
  7832.             column were generated by using Amount.SUBTOTAL in the Detail
  7833.             area.
  7834.  
  7835.             If .SUBTOTAL is used in the Detail area or  Subtotal 1 area,
  7836.             level  1 subtotals are  generated which include  the current
  7837.             record being  printed.   If  used  in Subtotal  2,  level  2
  7838.             subtotals are  used.    If  used  in  Subtotal  3,  level  3
  7839.             subtotals are used.
  7840.  
  7841.  
  7842.  
  7843.   166  PRINTING REPORTS
  7844.   ----------------------------------------------------------------------
  7845.  
  7846.        Field.TOTAL
  7847.             This   option  prints  the  numeric  total  for  the  field.
  7848.             Character fields, unless they contain numeric information or
  7849.             begin with numbers, equate to zeros.  
  7850.             Example:
  7851.  
  7852.                                            Running
  7853.                  Name           Amount     Total
  7854.  
  7855.  
  7856.                  Allen            48.25      48.25
  7857.                  Allen            92.00     140.25
  7858.                  Allen          1947.72    2087.97
  7859.                  ----------     -------
  7860.                        0.00     2087.97
  7861.  
  7862.                  Carla             3.90    2091.87
  7863.                  Carla              .23    2092.10
  7864.                  Carla           783.26    2875.36
  7865.                  Carla          6378.35    9253.71
  7866.                  ----------     -------
  7867.                        0.00     7165.74
  7868.  
  7869.                  ==========     =======
  7870.                        0.00     9253.71
  7871.  
  7872.  
  7873.  
  7874.             In  this example, the numbers below  the double dashed lines
  7875.             at  the  bottom  were  generated  by  using  Name.TOTAL  and
  7876.             Amount.TOTAL  in  the Total  area.   The  numbers  under the
  7877.             Running Total column were generated by using Amount.TOTAL in
  7878.             the Detail area.
  7879.  
  7880.  
  7881.  
  7882.                                                    PRINTING REPORTS  167
  7883.   ----------------------------------------------------------------------
  7884.  
  7885.        Field.SUBMIN
  7886.             This  option prints the minimum numeric  value found for the
  7887.             field  in the  current subtotal  group.   Character  fields,
  7888.             unless  they  contain  numeric  information  or  begin  with
  7889.             numbers, equate to zeros.  
  7890.  
  7891.             Example:
  7892.  
  7893.  
  7894.  
  7895.                  Amount    Minimum
  7896.  
  7897.                        
  7898.                    48.25   48.25
  7899.                    92.00   48.25
  7900.                    16.00   16.00
  7901.                  -------
  7902.                    16.00
  7903.  
  7904.                     3.90    3.90
  7905.                      .23     .23
  7906.                   783.26     .23
  7907.                  9378.35     .23
  7908.                  -------
  7909.                      .23
  7910.  
  7911.  
  7912.             In this example,  the numbers  under the  dashed lines  were
  7913.             generated by  using Amount.SUBMIN  in the  Subtotal 1  area.
  7914.             The numbers under the Minimum column were generated by using
  7915.             Amount.SUBMIN in the Detail area giving a "running minimum".
  7916.  
  7917.             If .SUBMIN  is used in  the Detail area or  Subtotal 1 area,
  7918.             level 1  minimums are  generated which  include the  current
  7919.             record being  printed.   If  used  in Subtotal  2,  level  2
  7920.             minimums are used.   If used in Subtotal 3, level 3 minimums
  7921.             are used.
  7922.  
  7923.  
  7924.  
  7925.   168  PRINTING REPORTS
  7926.   ----------------------------------------------------------------------
  7927.  
  7928.        Field.MIN
  7929.             This  option prints the minimum numeric  value found for the
  7930.             field so far.
  7931.  
  7932.                  Amount    Minimum
  7933.  
  7934.                        
  7935.                    48.25   48.25
  7936.                    92.00   48.25
  7937.                    16.00   16.00
  7938.                     3.90    3.90
  7939.                      .23     .23
  7940.                   783.26     .23
  7941.                  9378.35     .23
  7942.                  =======
  7943.                      .23
  7944.  
  7945.             In this example, the number under the double dashed line was
  7946.             generated  by  using  Amount.MIN in  the  Total  area.   The
  7947.             numbers under  the Minimum  column were  generated by  using
  7948.             Amount.MIN in the Detail area.
  7949.  
  7950.  
  7951.  
  7952.                                                    PRINTING REPORTS  169
  7953.   ----------------------------------------------------------------------
  7954.  
  7955.        Field.SUBMAX
  7956.             This  option prints the maximum numeric  value found for the
  7957.             field  in the  current subtotal  group.   Character  fields,
  7958.             unless  they  contain  numeric  information  or  begin  with
  7959.             numbers, equate to zeros.  
  7960.  
  7961.             Example:
  7962.  
  7963.                  Amount    Maximum
  7964.  
  7965.                        
  7966.                    48.25     48.25
  7967.                    92.00     92.00
  7968.                    16.00     92.00
  7969.                  -------
  7970.                    92.00
  7971.  
  7972.                     3.90      3.90
  7973.                      .23      3.90
  7974.                   783.26    783.26
  7975.                  9378.35   9378.35
  7976.                  -------
  7977.                  9378.35
  7978.  
  7979.  
  7980.             In  this example,  the numbers  under the dashed  lines were
  7981.             generated by  using Amount.SUBMAX  in the  Subtotal 1  area.
  7982.             The numbers under the Maximum column were generated by using
  7983.             Amount.SUBMAX in the Detail area.
  7984.  
  7985.             If .SUBMAX  is used in the  Detail area or Subtotal  1 area,
  7986.             level  1 maximums  are generate  which  include the  current
  7987.             record being  printed.   If  used  in Subtotal  2,  level  2
  7988.             maximums are used.  If used in Subtotal 3, level 3  maximums
  7989.             are used.
  7990.  
  7991.  
  7992.  
  7993.   170  PRINTING REPORTS
  7994.   ----------------------------------------------------------------------
  7995.  
  7996.        Field.MAX
  7997.             This  option prints the maximum numeric  value found for the
  7998.             field so far in the report.
  7999.  
  8000.                  Amount    Maximum
  8001.  
  8002.                        
  8003.                    48.25     48.25
  8004.                    92.00     92.00
  8005.                    16.00     92.00
  8006.                     3.90     92.00
  8007.                      .23     92.00
  8008.                   783.26    783.26
  8009.                  9378.35   9378.35
  8010.                  =======
  8011.                  9378.35
  8012.  
  8013.             In this example, the number under the double dashed line was
  8014.             generated  by  using  Amount.MAX in  the  Total  area.   The
  8015.             numbers under  the Maximum  column were  generated by  using
  8016.             Amount.MAX in the Detail area.
  8017.  
  8018.  
  8019.  
  8020.                                                    PRINTING REPORTS  171
  8021.   ----------------------------------------------------------------------
  8022.  
  8023.        Field.SUBAVERAGE
  8024.             This option prints the average numeric value so far for  the
  8025.             field in the current subtotal group.
  8026.  
  8027.                  Amount    Sub Average
  8028.  
  8029.                        
  8030.                    48.25     48.25
  8031.                    92.00     70.13
  8032.                    16.00     52.08
  8033.                  -------
  8034.                    52.08
  8035.  
  8036.                     3.90      3.90
  8037.                      .23      2.07
  8038.                   783.26    262.46
  8039.                  9378.35   2541.44
  8040.                  -------
  8041.                  2541.44
  8042.  
  8043.             In this  example, the  numbers under the  dashed lines  were
  8044.             generated by using Amount.SUBAVERAGE in the Subtotal 1 area.
  8045.             The numbers under  the Sub Average column  were generated by
  8046.             using Amount.SUBAVERAGE in the Detail area.
  8047.  
  8048.             If .SUBAVERAGE  is used  in the  Detail area  or Subtotal  1
  8049.             area,  level  1  averages are  generated  which  include the
  8050.             current record being printed.  If used in Subtotal 2,  level
  8051.             2 averages  are  used.   If  used  in Subtotal  3,  level  3
  8052.             averages are used.
  8053.  
  8054.  
  8055.  
  8056.   172  PRINTING REPORTS
  8057.   ----------------------------------------------------------------------
  8058.  
  8059.        Field.AVERAGE
  8060.             This option prints the average numeric value so far for  the
  8061.             field in the report.
  8062.  
  8063.                  Amount    Average
  8064.  
  8065.                        
  8066.                    48.25     48.25
  8067.                    92.00     70.13
  8068.                    16.00     52.08
  8069.                     3.90     40.04
  8070.                      .23     32.08
  8071.                   783.26    157.27
  8072.                  9378.35   1474.57
  8073.                  =======
  8074.                  1474.57
  8075.  
  8076.             In this example, the number under the double dashed line was
  8077.             generated by using  Amount.AVERAGE in the  Total area.   The
  8078.             numbers under  the Average  column were  generated by  using
  8079.             Amount.AVERAGE in the Detail area.
  8080.  
  8081.  
  8082.  
  8083.                                                    PRINTING REPORTS  173
  8084.   ----------------------------------------------------------------------
  8085.  
  8086.   Calculated Fields
  8087.        File  Express lets  you  define calculated  fields  that are  not
  8088.        actually  part of  the database  record  definition but  are just
  8089.        calculated and  printed on the report.   To create such  a field,
  8090.        move the cursor to where you want the field and press <Alt-C>.  
  8091.  
  8092.        The first  choice takes  you through  the process  of defining  a
  8093.        calculated field.  
  8094.  
  8095.                      Enter NAME of field? ___________
  8096.  
  8097.        Select a name, up to twelve characters, and press <Enter>.   File
  8098.        Express asks you to:
  8099.  
  8100.             Enter TYPE of Calc field, <N>umeric, or <T>ext? N
  8101.  
  8102.        Calculated fields can be either Character or Numeric.  Select the
  8103.        appropriate field type.  Next, File Express prompts you to:
  8104.  
  8105.        Enter formula for this field, or <Alt-L>ist Quick Functions:
  8106.  
  8107.        Type in the formula you want calculated and press  <Enter>, or if
  8108.        you want to use  one of the  Quick Functions, press <Alt-L>  (see
  8109.        description of Quick Functions below).
  8110.  
  8111.        The final two inquiries are:
  8112.  
  8113.                          Enter LENGTH of field? 
  8114.  
  8115.        If the field was numeric, the final prompt is:
  8116.  
  8117.                          How many decimal places?
  8118.  
  8119.        The maximum number of decimal places is  9.  After this prompt is
  8120.        answered,  the  field is  placed  on  the  report at  the  cursor
  8121.        position.
  8122.  
  8123.  
  8124.   Quick Functions
  8125.        There are many functions in the File Express formula handler that
  8126.        require no parameters and return a single piece of information or
  8127.        control  formatting  of  your  report.   These  functions  can be
  8128.        entered as a  formula as described above  or you can select  them
  8129.        directly from the list, bypassing the additional information that
  8130.        File Express  normally asks for,  like type, length,  and decimal
  8131.        places.  We call these functions Quick Functions.
  8132.  
  8133.        For example,  if you want to put the  page number on your report,
  8134.        move the cursor to where you want the  number, press <Alt-C>, for
  8135.        a Formula  field, and  then, instead  of entering  a field  name,
  8136.  
  8137.  
  8138.  
  8139.   174  PRINTING REPORTS
  8140.   ----------------------------------------------------------------------
  8141.  
  8142.        press <Alt-L> to bring up the list of Quick Functions,  highlight
  8143.        the PAGE selection and press <Enter>.  
  8144.  
  8145.        Here is what each Quick Function does:
  8146.  
  8147.  
  8148.        BLANKLINE Forces a blank  line to be printed, even  if the Remove
  8149.                  Blank Lines option is set to YES.
  8150.  
  8151.        DAYABBV   Returns the three-character  day abbreviation from  the
  8152.                  system date.   Takes  three characters.    Note:   This
  8153.                  function  also accepts a  date parameter but  to use it
  8154.                  this  way  you must  enter  the function  as  an actual
  8155.                  formula.
  8156.  
  8157.        DAYNAME   Returns  the name  of the day  from the  current system
  8158.                  date.  Takes nine  characters.    Note:  This  function
  8159.                  also accepts a date  parameter but to  use it this  way
  8160.                  you must enter the function as an actual formula.
  8161.  
  8162.        LINE      Returns  the current line  number on the  current page.
  8163.                  Takes three characters.
  8164.  
  8165.        MILTIME   Returns  the current  system time  in  24 hour  format.
  8166.                  Takes five characters.
  8167.  
  8168.        MONTHABBV Returns the standard abbreviation of the month from the
  8169.                  system  date.   Takes  three characters.   Note:   This
  8170.                  function also  accepts a date  parameter but to  use it
  8171.                  this way  you  must enter  the  function as  an  actual
  8172.                  formula.
  8173.  
  8174.        MONTHNAME Returns the name of the  month from the current  system
  8175.                  date.    Note:    This  function  also  accepts  a date
  8176.                  parameter but  to use  it this way  you must  enter the
  8177.                  function as an actual formula.
  8178.  
  8179.        NEWPAGE   Causes File Express to move to the next  page, printing
  8180.                  Titles  and Headings  if  needed,  before printing  the
  8181.                  current line.
  8182.  
  8183.        NOLINEFEED     Suppresses  the linefeed  character normally  sent
  8184.                       out at the  end of each line sent  to the printer.
  8185.                       This  is  often  used to  underline  some  text by
  8186.                       putting the underline  characters on the following
  8187.                       line directly under the text to be underlined.
  8188.  
  8189.        PAGE      Returns the current page number.  Takes 5 characters.
  8190.  
  8191.        TIME      Returns  the current  system time  in  12 hour  format.
  8192.                  Takes five characters.
  8193.  
  8194.  
  8195.  
  8196.                                                    PRINTING REPORTS  175
  8197.   ----------------------------------------------------------------------
  8198.  
  8199.        TODAY     Prints the  current date  in the  current date  format.
  8200.                  Takes  eight or ten characters depending on the default
  8201.                  date format.
  8202.  
  8203.        YEAR      Returns the year  from the current system  date.  Takes
  8204.                  four characters.
  8205.  
  8206.  
  8207.   Using Formulas In Reports 
  8208.        This  section  describes  some highlights  of  using  formulas in
  8209.        reports.   We do not  describe exactly how  to set  up particular
  8210.        formulas  and calculations here because formulas are discussed in
  8211.        depth in the Formulas chapter, later in this manual. 
  8212.  
  8213.        Most  people  think  of  a  formula  as a  mathematical  equation
  8214.        performed on  one or  more fields,  such as  multiplying a  price
  8215.        times units  sold, or adding together some  numbers.  In the File
  8216.        Express Report Writer, a formula is exactly that, and much  more.
  8217.        Formulas can perform many functions: 
  8218.  
  8219.      
  8220.             Math calculations (+  -  *  /  ^  %  and  or  not  mod)    
  8221.             Math functions  (sine, cosine,  tangent, logarithms,  square
  8222.             root)   
  8223.             Date arithmetic (Age function, FutureDate)    
  8224.             Rounding    
  8225.             Formatting (decimals, floating $, justification, zero fill)
  8226.             Concatenation of fields, with or without a space between 
  8227.             Text string manipulation (instring, case conversion, trim)
  8228.             If/Then  comparisons (EQ   LT    LE   GT   GE   NE,  nesting
  8229.             permitted)   
  8230.             Reference field values in prior record    
  8231.             Access running  subtotals, totals, averages,  counts for all
  8232.             fields 
  8233.             Print horizontal bar graphs on reports    
  8234.             Access report variables  (page number, line counter,  top of
  8235.             page)  
  8236.             Set report switches (new page, no line feed, skip line)    
  8237.             Date and time functions (various formats, age arithmetic) 
  8238.  
  8239.        Once again, this  section does not describe  how to do  all these
  8240.        things.    See  the  chapter  titled  Formulas   for  a  detailed
  8241.        explanation.  
  8242.  
  8243.        Formula Name 
  8244.        When a  formula is  entered on  the report  format, File  Express
  8245.        prompts for some additional information.  The first prompt is for
  8246.        a name to give the  formula.  If you don't  plan to refer to  the
  8247.        formula by  name, just  press <Enter> and  leave the  name blank.
  8248.        File Express automatically assigns it  a name (Formula 1, Formula
  8249.        2, etc.) in case you decide to refer to it later. 
  8250.  
  8251.  
  8252.  
  8253.   176  PRINTING REPORTS
  8254.   ----------------------------------------------------------------------
  8255.  
  8256.        Enter  any  name  up to  twelve  characters,  preferably one  not
  8257.        already used by a field or another formula. 
  8258.  
  8259.        Formulas can refer to one another  by name.  For example, suppose
  8260.        your report includes the formula: Price * Units and you give this
  8261.        formula  the name  "Extended".   Further  down the  page you  can
  8262.        compute sales  tax with  the formula:  Extended  * .081.   A  new
  8263.        formula can  only reference another formula which comes before it
  8264.        in the report.  By "comes before it" we mean that  the referenced
  8265.        formula is calculated before the new formula in the Detail  area.
  8266.        File  Express processes formulas in the current processing order.
  8267.        This processing order  can be changed whenever you  need to.  See
  8268.        Field Order under Changing Fields on the next page.
  8269.  
  8270.  
  8271.        Formula Length and Decimals 
  8272.        After  you enter  the  formula name  (or  press <Enter>)  another
  8273.        prompt  appears asking  for the  formula  length.   A length  has
  8274.        already been filled in for you, which is File Express' best guess
  8275.        of  the length  you need.   You can  specify a longer  or shorter
  8276.        length if you like.  For example, the formula: 
  8277.  
  8278.                                 first name & last name 
  8279.  
  8280.        tells  File Express to put the first  name and last name together
  8281.        with only  a single space  between them.   If the two  fields are
  8282.        printed in separate columns, they look like: 
  8283.  
  8284.             John           Doe                               
  8285.             Jonathan       Carpenter                               
  8286.             Jim            Smith 
  8287.  
  8288.        But by  using the formula  above, the two fields  can be combined
  8289.        into a single field so they are adjacent: 
  8290.  
  8291.             John Doe                               
  8292.             Jonathan Carpenter                               
  8293.             Jim Smith 
  8294.  
  8295.        How wide should  the field be that  holds this formula?   You can
  8296.        only assume that  it is possible for both the first and last name
  8297.        to fill up their  fields.  So, add the length of  the two fields,
  8298.        add one more for the space in  between, and use the answer as the
  8299.        value in  the length  prompt.   If you  decide the  field can  be
  8300.        shorter,  and  are  willing to  take  a chance  on  losing  a few
  8301.        characters  occasionally,  you  can   specify  a  shorter  length
  8302.        instead.  You  can also  enter a larger  length value, but  there
  8303.        would be no benefit in doing so for this formula. 
  8304.  
  8305.        Formulas which  return keyword  values, such  as today's  date or
  8306.        this month's  name,  compute a  length  which holds  the  largest
  8307.  
  8308.  
  8309.  
  8310.                                                    PRINTING REPORTS  177
  8311.   ----------------------------------------------------------------------
  8312.  
  8313.        contents  the  field  can  receive.     For  example,  a  formula
  8314.        specifying  month name  has a  length  of 9,  to accommodate  the
  8315.        longest month name, September. 
  8316.  
  8317.        Formulas which return numeric results  always default to a length
  8318.        of ten.   If your number  is likely to  be more or less  than ten
  8319.        characters,  including  decimal  places,  commas, decimal  point,
  8320.        dollar sign and minus sign, change the length value. 
  8321.  
  8322.        If a formula has  a numeric result, File Express prompts  for the
  8323.        number  of decimal places.  The  default is two decimals, and may
  8324.        be changed to any value from 0 to 12. 
  8325.  
  8326.  
  8327.  
  8328.   178  PRINTING REPORTS
  8329.   ----------------------------------------------------------------------
  8330.  
  8331.   Changing Fields
  8332.        Once a field has been placed on the report format, you can remove
  8333.        it or change  its length.  To  make one of these  changes, simply
  8334.        move the cursor so that it is  on top of the desired field.  When
  8335.        you have  done this, a  new prompt appears  at the bottom  of the
  8336.        screen:
  8337.  
  8338.             <Alt>:   <R>emove  <S>ize to print  <O>rder fields
  8339.  
  8340.        Removing a Field
  8341.        To remove  the field,  press <Alt-R>.   File  Express blinks  the
  8342.        field and asks:
  8343.  
  8344.             "Are you sure you want to REMOVE THIS FIELD (Y/N)? N"
  8345.  
  8346.        If you are sure that you want  the field removed from the report,
  8347.        press <Y>.  The blinking field portion is erased.  
  8348.  
  8349.        Changing the Printed Field Length
  8350.        To change the  length of the field that is printed on the report,
  8351.        press <Alt-S> while the cursor is on top of the field.  The field
  8352.        starts blinking and the prompt at the bottom of the screen is:
  8353.  
  8354.        Actual  field  length=xx,   Maximum  Display  length=yy,  Display
  8355.        length=<zz>
  8356.  
  8357.        To change the length of the field, use the cursor keys to shorten
  8358.        or lengthen the blinking squares.  A regular field (as opposed to
  8359.        a Window field)  may be shortened to one  character or lengthened
  8360.        to whatever fits on the report line.  A field cannot be stretched
  8361.        over another field but can be stretched over existing text on the
  8362.        screen.  If  the field  is stretched  over text  and then  shrunk
  8363.        back, the overwritten text reappears.  If the field was placed as
  8364.        a Window field,  then the whole block blinks  and can be re-sized
  8365.        with the cursor keys.  
  8366.  
  8367.        Field Order
  8368.        As  you place fields  in each  area of  the report,  File Express
  8369.        keeps track of the order in which you placed them.  When it comes
  8370.        time  to print the report,  the fields are  processed in the same
  8371.        order.  The  only time this is important is when you are defining
  8372.        calculated fields that depend on the results  of other calculated
  8373.        fields.  If you  want to change the calculation order,  place the
  8374.        cursor over  any field on  the screen  and press  <Alt-O>.   File
  8375.        Express asks:
  8376.  
  8377.      Do you want to <S>et the field order or <T>est the order [S/T]?
  8378.  
  8379.        To  see the current  processing order, press  <T>.   To reset the
  8380.        processing order, press <S>.  File Express blinks all the  fields
  8381.  
  8382.  
  8383.  
  8384.                                                    PRINTING REPORTS  179
  8385.   ----------------------------------------------------------------------
  8386.  
  8387.        and asks you to  reset the order by  moving the cursor on top  of
  8388.        each field and press <Enter> in the desired calculation sequence.
  8389.  
  8390.  
  8391.   Drawing Lines
  8392.        File Express has a powerful line drawing mode that makes  it easy
  8393.        to draw lines and boxes on your report layout.  
  8394.  
  8395.        Note: Before using  the line drawing feature on  your report, you
  8396.        should make sure  your printer prints the lines  correctly.  Many
  8397.        printers substitute  another character  for each  line character.
  8398.        Sometimes there  are DIP  switches that can  be set  so that  the
  8399.        printer will print the line drawing characters.  This information
  8400.        will be located in your printer manual.
  8401.  
  8402.        There are two keys that control the line drawing option,  <Alt-L>
  8403.        and <Alt-B>.  Pressing <Alt-L> toggles the line drawing option on
  8404.        and  off.  The  status is always  displayed at the  bottom of the
  8405.        screen.  When  the Line option is ON, you can use the cursor keys
  8406.        to move around the report layout drawing lines in the current Box
  8407.        style.   Whenever  a line  intersects  another line,  the correct
  8408.        intersection character is automatically drawn for the current Box
  8409.        style.
  8410.  
  8411.  
  8412.   Changing the Box Style
  8413.        File Express provides eight different line drawing character sets
  8414.        along with an option to ERASE lines as the  cursor is moved.  The
  8415.        Box styles are:
  8416.  
  8417.                               
  8418.                  Registered Version has screen picture here
  8419.                               
  8420.  
  8421.        The current  Box style is always  displayed at the  bottom of the
  8422.        screen.  To  change the  current Box style,  press <Alt-B>.   The
  8423.        character set changes to  the next style.   Repeated pressing  of
  8424.        <Alt-B> rotates  through the eight  available Box styles  and the
  8425.        ERASE option.   When you have selected  the desired Box style and
  8426.        the Line option is turned on, you can then use the cursor keys to
  8427.        draw lines and boxes.   If the cursor is  not at the point  where
  8428.        you want to start drawing, press  <Alt-L> to turn the Line option
  8429.        OFF and then move the cursor to the desired starting position and
  8430.        then press <Alt-L> to turn the Line option back on.
  8431.  
  8432.  
  8433.  
  8434.   180  PRINTING REPORTS
  8435.   ----------------------------------------------------------------------
  8436.  
  8437.        As you are  drawing lines and  boxes you should  be aware of  the
  8438.        following rules.
  8439.  
  8440.             Lines can be drawn anywhere on the report layout except over
  8441.             fields.  This  means that you can draw a line right over any
  8442.             existing text that you have previously typed.
  8443.  
  8444.             When attempting  to draw  a line  over a  field, the  cursor
  8445.             moves normally  but no  line is drawn  until the  cursor has
  8446.             moved off the field. 
  8447.  
  8448.             Lines can't  be drawn  off the  top, bottom,  left or  right
  8449.             edges of the report.
  8450.  
  8451.  
  8452.  
  8453.                                                    PRINTING REPORTS  181
  8454.   ----------------------------------------------------------------------
  8455.  
  8456.   Optional Specifications Screen 
  8457.        After the report format has been defined, press <F10> to  display
  8458.        the Report Optional Specifications screen: 
  8459.  
  8460.  
  8461.  
  8462.  
  8463.  
  8464.  
  8465.                  Registered Version has screen picture here
  8466.  
  8467.  
  8468.  
  8469.  
  8470.  
  8471.  
  8472.  
  8473.  
  8474.  
  8475.  
  8476.        This screen contains various options which could not be specified
  8477.        in  the format definition, because they were not format-oriented.
  8478.        These  options  are  all  related to  the  report  layout;  i.e.,
  8479.        positioning the report  on the paper, printing  headings, totals,
  8480.        etc.  The next  few paragraphs list the options and describe them
  8481.        in detail. 
  8482.  
  8483.        Print TITLE on <F>irst, <A>ll or <N>o pages 
  8484.        The  first lines  to print  on  every page  normally contain  the
  8485.        information from the Title area of the Report Layout.  To include
  8486.        this title on only the first page of the report, specify <F>.  To
  8487.        exclude the title  from all pages, specify  <N>.  To restore  the
  8488.        title to all pages (the default), press <A>.
  8489.  
  8490.  
  8491.        Print HEADINGS on <F>irst, <A>ll or <N>o pages 
  8492.        The heading lines  created on the  Report Format screen  normally
  8493.        print on all pages.  If  a title was specified, it prints  first,
  8494.        followed by the heading lines.  To include these headings on only
  8495.        the  first page  of  the report,  specify  <F>.   To  exclude the
  8496.        headings from all pages, specify <N>.  To restore the headings to
  8497.        all pages (the default), press <A>.
  8498.  
  8499.  
  8500.        Print FOOTERS on <F>irst, <A>ll or <N>o pages 
  8501.        The Footer  section is  normally printed  at the  bottom of  each
  8502.        page.  To  include the Footer section  on only the first  page of
  8503.        the report, specify <F>.  To  exclude the footers from all pages,
  8504.        specify <N>.  To restore the footers to  all pages (the default),
  8505.        press <A>.
  8506.  
  8507.  
  8508.  
  8509.   182  PRINTING REPORTS
  8510.   ----------------------------------------------------------------------
  8511.  
  8512.        Print DETAIL area  <Y>es or <N>o
  8513.        The Detail area  is normally printed for each  record included on
  8514.        your  report.   If you  want  to turn  off the  printing  of this
  8515.        section, set this option  to <N>.  Example:  You  want to print a
  8516.        Zip Code report to find out  how many records there are for  each
  8517.        zip code but  you don't want  to see all the  individual records.
  8518.        Your report layout looks like this:
  8519.  
  8520.  
  8521.        Detail area:        CUSTOMER            ZIP CODE  
  8522.  
  8523.  
  8524.                                                ----------
  8525.        Subtotal 1 area:    ZIP CODE            ZIP CODE.COUNT
  8526.  
  8527.  
  8528.        If you print the Detail area,  all the records for each zip  code
  8529.        print  before the subtotal count.   Since you  don't need all the
  8530.        individual information, set the Print DETAIL area to <N>o.   Now,
  8531.        when the report is printed, only the subtotal counts are  printed
  8532.        next to the Zip Code.  The report looks something like this:
  8533.  
  8534.                              09345    16
  8535.                              10472    29
  8536.                              10529   128
  8537.                              11930     3
  8538.                              12900    89
  8539.                                 etc.
  8540.        The report,  which could end  up being many,  many pages, is  now
  8541.        very  short and  concise and  contains  only the  information you
  8542.        want.
  8543.  
  8544.  
  8545.        Print SUBTOTAL areas  <Y>es or <N>o
  8546.        If you  have a  report format including  entries in  the Subtotal
  8547.        areas, you can turn off the subtotal printing by answering <N>o.
  8548.  
  8549.  
  8550.        Print TOTAL area <Y>es or <N>o
  8551.        If  you have a report format including entries in the Total area,
  8552.        you can turn off the total printing by answering <N>o.
  8553.  
  8554.  
  8555.        Remove blank detail lines from report, <Y>es or <N>o 
  8556.        The Report Writer constructs  each detail line  from the data  in
  8557.        the record, then writes  it to the  printer.  After  substituting
  8558.        the  data from the record onto the  detail line, sometimes a line
  8559.        is completely  empty, so  it takes  up unnecessary  space on  the
  8560.        report.   If  you want  blank  lines  to be  removed  (i.e.,  not
  8561.        printed), specify <Y>es. 
  8562.  
  8563.  
  8564.  
  8565.                                                    PRINTING REPORTS  183
  8566.   ----------------------------------------------------------------------
  8567.                                      empty
  8568.  
  8569.  
  8570.  
  8571.   184  PRINTING REPORTS
  8572.   ----------------------------------------------------------------------
  8573.  
  8574.        This option  does  not remove  lines  of the  report  which  were
  8575.        intentionally left blank (i.e.,  they have no  fields or text  in
  8576.        them).   File  Express assumes  you  intended those  lines to  be
  8577.        printed,  to provide  separation between  records  or to  improve
  8578.        readability. 
  8579.  
  8580.        Sometimes a  report generates blank lines which  you want deleted
  8581.        and other blank  lines which you want  to remain.   To accomplish
  8582.        this,  specify <Y>es  to  the "Remove  blank  lines from  report"
  8583.        prompt, then on each line which is to always print blank, include
  8584.        a  formula on  the line with  the keyword  BLANKLINE in it.   The
  8585.        formula field may be anywhere on the line, and may be any length.
  8586.        The formula  displays as  spaces, but  ensures that  the line  is
  8587.        always printed, whether it is blank or not. 
  8588.  
  8589.  
  8590.        Double-space detail lines, <Y>es or <N>o 
  8591.        Detail lines are normally printed single-spaced; i.e. printed one
  8592.        after another with no blank lines between them except blank lines
  8593.        you have specifically asked  for.  Sometimes  it is desirable  to
  8594.        have a blank  line after each detail  line on a report,  to leave
  8595.        space  for  writing notes  or  just to  provide  some separation.
  8596.        Specify <Y>es for this option if double-spacing is desired. 
  8597.  
  8598.        Double-spacing may also be accomplished by including a blank line
  8599.        in the format  following each detail line.  In  either case, File
  8600.        Express  keeps  track  of   end-of-page  and  headings  properly,
  8601.        printing only half as many detail lines per page, and inserting a
  8602.        blank line between each.  
  8603.  
  8604.        One-and-a-half spacing of  Detail lines is also possible, even if
  8605.        your  printer  doesn't  support  it.     Specify  <Y>es  for  the
  8606.        double-space   option,  and   specify   line  spacing   of  eight
  8607.        lines-per-inch.  Double-spacing  at 8 lpi  prints four lines  per
  8608.        vertical inch,  which is  equivalent to 6  lpi with  a half-space
  8609.        between each detail line. 
  8610.  
  8611.  
  8612.        Split records over page break, <Y>es or <N>o 
  8613.        This message  only applies  on reports  containing more than  one
  8614.        detail line.   Specifying  <Y>es tells File  Express that  it can
  8615.        print  some of the detail  lines for a record at  the bottom of a
  8616.        page, then print the remaining lines at the top of the next page.
  8617.        If you want all the detail lines to stay  together, specify <N>o.
  8618.        File Express checks to make sure there is enough room for all the
  8619.        lines in the  record, and  if there  isn't, skips to  a new  page
  8620.        before printing them. 
  8621.  
  8622.  
  8623.  
  8624.                                                    PRINTING REPORTS  185
  8625.   ----------------------------------------------------------------------
  8626.  
  8627.        Print subtotal for single records, <Y>es or <N>o
  8628.        If a  subtotal  group  contains  only one  record,  File  Express
  8629.        normally skips printing a subtotal for it because the information
  8630.        is redundant.   If you  want to  force these subtotals  to print,
  8631.        answer <Y> to  this question.  Subtotals for  single records look
  8632.        something like this:
  8633.  
  8634.                  Bill Smith     16
  8635.                                 --
  8636.                                 16
  8637.  
  8638.                  Mary Thompson  39
  8639.                                 --
  8640.                                 39
  8641.        Record Selection:
  8642.        The final prompt on the Optional Specification screen asks  which
  8643.        records to print  on the report.   When you move to  this prompt,
  8644.        the Record Selection screen displays.  This is a familiar screen,
  8645.        identical to the one used when finding records.  To include every
  8646.        record  on your  report, enter  "ALL".   To  print only  selected
  8647.        records, enter the selection criteria.  For a detailed discussion
  8648.        of the  valid  keywords  and operands,  see  the  section  titled
  8649.        Finding Records.
  8650.  
  8651.        When you are  satisfied that  all the answers  on the screen  are
  8652.        correct, press <Esc> to return to the Report Sub-menu or <F10> to
  8653.        continue on to the Output Options screen.
  8654.  
  8655.   Report Output Options 
  8656.        The  last  screen to  display  is  one  whose fields  pertain  to
  8657.        physical  aspects of  your  report,  the  Report  Output  Options
  8658.        screen:
  8659.  
  8660.  
  8661.  
  8662.   186  PRINTING REPORTS
  8663.   ----------------------------------------------------------------------
  8664.  
  8665.        All the  fields have  the most commonly  used default  values, so
  8666.        just  press <F10>  if  all  the options  are  correct.   If  your
  8667.        computer  system uses different  options, it is  not necessary to
  8668.        change these  fields every time  you run  a report.   The default
  8669.        values on this screen (as  on many other screens) may be  changed
  8670.        to  match your  computer and  printer.   See  the chapter  titled
  8671.        Customizing  File Express  for more information.   Each  of these
  8672.        options are saved  as part of the report layout file, so when you
  8673.        reload the  report, the  answers are preserved.   The  prompts on
  8674.        this screen are discussed in the following paragraphs. 
  8675.  
  8676.        Write to <S>creen, <P>rinter, <D>isk, or <A>ll 
  8677.        The report always appears on the screen.  To write it only on the
  8678.        screen and nowhere  else, enter <S>.   To write it to  the screen
  8679.        and the printer, enter <P>.  To write it  to the screen and disk,
  8680.        enter <D>.  To  write it to the screen, disk,  and printer, press
  8681.        <A>.
  8682.  
  8683.        When <D> or <A> is entered, you  are prompted for the Output File
  8684.        name.  Any valid DOS file name may be used.  A drive letter, path
  8685.        and extension may  also be included.   If  they are omitted,  the
  8686.        file is written to  the drive and  path containing the  database,
  8687.        with no extension. 
  8688.  
  8689.        When <D>isk is  specified, the characters  written into the  disk
  8690.        file are identical to those that go to the printer when <P>rinter
  8691.        is specified.  This lets the disk file later be printed using the
  8692.        DOS PRINT command or  other spooling utility.   Consequently, the
  8693.        disk  file  may contain  control  codes  such  as form  feeds  or
  8694.        compressed print codes.  If you are writing the report to disk to
  8695.        edit with  your word  processor, these codes  appear in  the word
  8696.        processing document as special symbols, and may be removed. 
  8697.  
  8698.  
  8699.        Left column to print / Right column to print 
  8700.        With  these two options, you can print  a segment from the middle
  8701.        of your report.  This option is most commonly used when writing a
  8702.        wide report to the screen, to  see the right side of the  report.
  8703.        It can  also be used to print a wide  report on a narrow printer.
  8704.        Run the left side of the report, then run the right side and tape
  8705.        them together. 
  8706.  
  8707.        Page number for first page (0-32000) 
  8708.        File Express  usually numbers  the first  page of  the report  as
  8709.        "Page  1".  Sometimes  it is desirable  to start the  page number
  8710.        with a higher value.  For example, if  you have a series of three
  8711.        lengthy reports  which comprise  a set, the  page numbers  on the
  8712.        second report can begin where the first report ends, and likewise
  8713.        for the  third report.   Any  number from  zero to  32000 may  be
  8714.        specified.  The number  is used as  the starting number  whenever
  8715.  
  8716.  
  8717.  
  8718.                                                    PRINTING REPORTS  187
  8719.   ----------------------------------------------------------------------
  8720.  
  8721.        you have  the  page  number  printing  on  your  report,  and  is
  8722.        incremented by 1 on each subsequent page. 
  8723.  
  8724.  
  8725.  
  8726.   188  PRINTING REPORTS
  8727.   ----------------------------------------------------------------------
  8728.  
  8729.        From page number / To page number 
  8730.        The defaults for  these two operands are <1>  to <32000>, meaning
  8731.        that  the  entire  report is  to  be  printed.   Sometimes  it is
  8732.        desirable to exclude part  of a report,  maybe because a  printer
  8733.        malfunction destroyed a  few pages which must be  reprinted.  For
  8734.        example,  to  print only  pages  20 through  25  of a  fifty page
  8735.        report, enter 20 as  the From Page Number  and 25 as the  To Page
  8736.        Number.  To print from  page 10 to the end of a  report, enter 10
  8737.        in the From Page Number and 32000 in the To Page Number. 
  8738.  
  8739.        The pages  are built exactly  as they would  have printed  if the
  8740.        entire report had been run, but only those pages in the  selected
  8741.        range are actually printed.   Keep in mind that if  the From Page
  8742.        Number is greater than  1, File Express must still go through all
  8743.        the motions of printing the earlier pages, even though they don't
  8744.        get written to  the screen, printer  or disk.   There is a  pause
  8745.        while  these pages  are being  processed,  then printing  begins.
  8746.        There is no pause at the end,  even if the To Page Number is much
  8747.        smaller than 32000. 
  8748.  
  8749.        <C>ontinuous printing or <P>ause after each page 
  8750.        Selecting <C>ontinuous causes the report to print every page, one
  8751.        after  another, until  the report  is  finished.   If <P>ause  is
  8752.        selected, the first page prints, then this message appears: 
  8753.  
  8754.            Press any key to print next page, or <Esc> to exit 
  8755.  
  8756.        The <P>ause option is useful when your printer uses single sheets
  8757.        of paper.   One  page is  printed,  then File  Express pauses  so
  8758.        another sheet of paper can be inserted. 
  8759.  
  8760.  
  8761.   Printer Options
  8762.        File Express  offers some additional printer options  you may not
  8763.        need at first,  but which are very  handy when you do  need them.
  8764.        These  options  give  you  the  capability  of  changing  printer
  8765.        definition  files, printer ports, line and character spacing, and
  8766.        optional printer control strings.
  8767.  
  8768.        To pull up the Printer Options menu, press <Alt-S> while  viewing
  8769.        the Report Output Options:
  8770.  
  8771.  
  8772.  
  8773.                                                    PRINTING REPORTS  189
  8774.   ----------------------------------------------------------------------
  8775.  
  8776.        Printer Definition File
  8777.        Printer  definition files, (PDF  files), contain all  the printer
  8778.        codes used  by  File Express  to  control the  features  of  your
  8779.        printer.  If you have used the Setup program that comes with File
  8780.        Express, you have  probably selected the PDF file  that goes with
  8781.        your printer.   If you have not  selected a printer, File Express
  8782.        uses codes for an Epson MX80 printer, which are also used by many
  8783.        other makes.
  8784.  
  8785.        Many  people  have  more  than  one printer  connected  to  their
  8786.        computer and need the  capability of switching  PDF files on  the
  8787.        fly so different reports can be sent to different printers.
  8788.  
  8789.        To  select a  different printer  definition  file, press  <Alt-S>
  8790.        while  viewing the  Printer Options  window.   A  window pops  up
  8791.        containing a  list  of all  the PDF  files found  in the  program
  8792.        directory.  Move the highlighted bar to the file name you want to
  8793.        select and press <Enter>.
  8794.  
  8795.        Printer port <1>, <2>, <3>, or <D>efault (LPTx) 
  8796.        If your computer has  more than one printer, use this  command to
  8797.        route the  report to a  second or  third printer.   File  Express
  8798.        defaults to LPT1,  which is the standard port  for most printers.
  8799.        If you  have changed  your printer definition  file to  send your
  8800.        printer output to  a port  other than LPT1,  the LPTx shows  your
  8801.        default port. 
  8802.  
  8803.        Technical  Note:  Sometimes  a  computer  has  a  serial  printer
  8804.        attached to  its COM1 or  COM2 serial port.   Using the  DOS MODE
  8805.        command, it  is possible  to reassign LPT  output to a  COM port.
  8806.        The MODE command must be entered each time your system is booted,
  8807.        before printing.   The  MODE command is  usually included  in the
  8808.        AUTOEXEC.BAT file.  The command is: MODE LPT#:=COMn where # is 1,
  8809.        2  or  3 and  n  is  1  or 2.    See  your  DOS manual  for  more
  8810.        information.  Reports can only be sent to LPT devices. 
  8811.  
  8812.        Use Form Feeds, <Y>es or <N>o 
  8813.        Since  File Express knows  how long  your paper  is, and  it also
  8814.        counts the lines as it prints, the paper is normally  advanced to
  8815.        a  new page by printing  several blank lines.   Most people never
  8816.        need to change this option from  its default of <N>o.  But  there
  8817.        are a  few  applications where  counting lines  is not  adequate.
  8818.        Sometimes the printer needs  a form feed character sent to  it in
  8819.        order to properly  advance the paper.  Earlier  we mentioned that
  8820.        form feeding is necessary when using a line height which does not
  8821.        divide evenly into  the paper length.  The  form feed re-synchro-
  8822.        nizes the report with the top of the new page. 
  8823.  
  8824.        Some  laser printers  require a  form feed  character  before the
  8825.        paper  is ejected  into the  output  bin.   Some multi-bin  paper
  8826.        feeders  need a  form feed  character  to select  paper from  the
  8827.  
  8828.  
  8829.  
  8830.   190  PRINTING REPORTS
  8831.   ----------------------------------------------------------------------
  8832.  
  8833.        proper bin.   Some  printers eject  paper much  faster when  form
  8834.        feeds  are used  instead of a  series of  blank lines.   In those
  8835.        applications, specify <Y>es for this option. 
  8836.  
  8837.        When  File  Express  prints  a report  without  form  feeds,  the
  8838.        top-of-form  position of your  printer is ignored.   File Express
  8839.        simply  starts printing  wherever the  paper  is positioned,  and
  8840.        includes enough blank lines to get to the top of each page.   But
  8841.        when using  form feeds with  a regular tractor-feed  printer, the
  8842.        printer's top-of-form must  be properly set,  or else the  second
  8843.        and  subsequent   pages  do   print  in   the  proper   position.
  8844.        Top-of-form  detection is a physical aspect of your printer which
  8845.        varies from model to model.  Typically it can be set by position-
  8846.        ing the paper so  the perforation is just  above the print  head,
  8847.        then pressing a  button labelled Top or TOF.   Some printers must
  8848.        be powered off and back on to  set top-of-form.  See your printer
  8849.        operation manual for further details. 
  8850.  
  8851.        Line spacing - <6>, <8> or <S>pecial lines per inch 
  8852.        Most printers are  configured to print six lines  per inch (lpi),
  8853.        but  have  an option  for selecting  8 lpi  vertical spacing.   A
  8854.        report printed at 8 lpi is usually  a bit harder to read, because
  8855.        the lines are  much closer together.  Sometimes  8 lpi causes the
  8856.        tops of  some  upper case  characters  to touch  the  bottoms  of
  8857.        characters with descenders like p, j and y. 
  8858.  
  8859.        A 100-page report printed  at 6 lpi uses only 65 to 70 pages when
  8860.        printed at 8  lpi, because more detail  lines fit on a  page, and
  8861.        fewer overhead  lines (titles and  headings) need to  be printed.
  8862.        The report still  prints at the same  speed, although there  is a
  8863.        small time saving since fewer headings are printed. 
  8864.  
  8865.        When   an  8  lpi   report  is   double-spaced,  the   effect  is
  8866.        one-and-a-half  spacing.   Double-spacing at  8  lpi prints  four
  8867.        lines per  vertical inch,  which is  equivalent to 6  lpi with  a
  8868.        half-space between each detail line. 
  8869.  
  8870.        When you  selecting <6>  or <8>,  File Express  uses the  printer
  8871.        codes found  in the  current printer  definition file.   You  can
  8872.        override these codes by selecting <S>pecial.
  8873.  
  8874.        <R>egular, <C>ompressed, <T>welve or <S>pecial pitch 
  8875.        If  your  printer  is  capable  of  printing  in  compressed   or
  8876.        twelve-pitch  (sometimes called Elite) mode, selecting <C> or <T>
  8877.        causes special printer control  codes to be  sent to the  printer
  8878.        before the  report  begins.   Most  dot matrix  printers  have  a
  8879.        compressed  print option which produces a much narrower character
  8880.        than regular print, usually 17 characters per inch instead of the
  8881.        standard  10 characters  per inch.    Many printers  also have  a
  8882.        12-pitch or Elite font as well. 
  8883.  
  8884.  
  8885.  
  8886.                                                    PRINTING REPORTS  191
  8887.   ----------------------------------------------------------------------
  8888.  
  8889.        Selecting <S>pecial  lets you  change the  default printer  codes
  8890.        normally used from the printer definition file.  If your  printer
  8891.        has  a switch  or button  on  the front  for selecting  character
  8892.        pitch, and you have set it to  a pitch other than normal, specify
  8893.        <S>pecial and blank out the  default codes so that none are  sent
  8894.        to your printer overriding your switch settings. 
  8895.  
  8896.        If a report  is printed to disk with  compressed print specified,
  8897.        the control  codes are placed  into the  disk file at  the proper
  8898.        places, exactly  as  the data  would  have been  written  to  the
  8899.        printer.  In this way,  if a report is written to disk  for later
  8900.        printing via the DOS PRINT command or other spooling utility, the
  8901.        report  prints the  same as  it would  have  printed had  it gone
  8902.        directly to the printer from File Express. 
  8903.  
  8904.        Printer initialization string, <D>efault or <S>pecial 
  8905.        Sometimes it is desirable to send a sequence of characters to the
  8906.        printer before  the report starts  printing, to select  a special
  8907.        printer option or  font.  For example, users  with laser printers
  8908.        might use  this option  to set their  printer to  landscape mode.
  8909.        Users with color printers might use it  to select a ribbon color.
  8910.        Users with multi-bin sheet feeders might need to select a special
  8911.        form.  Any  characters may be entered into this field.  For ASCII
  8912.        values  and  special  symbols,  enclose  the  ASCII value  in  <>
  8913.        symbols.  For example, to set an Epson/IBM printer to  emphasized
  8914.        mode requires that  an <Esc> followed by an upper-case  E be sent
  8915.        to the  printer.   Enter <Esc>E in  the initialization  string so
  8916.        those codes  are sent  to the printer  before the  report starts.
  8917.        For more  information on entering  codes and characters  into the
  8918.        initialization string, see the Macro Key section.
  8919.  
  8920.        Printer reset string, <D>efault or <S>pecial
  8921.        This string is  sent to your printer  at the end of  each report.
  8922.        This can be used to reset any special printer features that  were
  8923.        set using the initialization string above.
  8924.  
  8925.        When  everything  is  correct  on  the  Printer  Options  screen,
  8926.        pressing <F10> or <Esc> returns you to the Output Options screen.
  8927.  
  8928.        When everything is  correct on the  Output Options screen,  press
  8929.        <Esc> or <F10> to return to the Report Sub-menu.
  8930.  
  8931.  
  8932.  
  8933.   192  PRINTING REPORTS
  8934.   ----------------------------------------------------------------------
  8935.  
  8936.   Index Selection
  8937.        The order in which the records are printed on a report depends on
  8938.        the order of the  Primary Index.  If you want to  change from the
  8939.        current Primary  Index  to  a different  one  for  printing  your
  8940.        report, press <I> from the Report Sub-menu.  A list of the active
  8941.        indexes is displayed and you can select any of them by moving the
  8942.        highlighted bar to the  desired index and  pressing <Enter>.   If
  8943.        you  save your  report format  after changing the  Primary Index,
  8944.        this new index is saved  as part of the report format and is used
  8945.        from then on whenever you reprint the report.
  8946.  
  8947.  
  8948.  
  8949.   Saving A Report Format 
  8950.        To save your  report format, press <S> from  the Report Sub-menu.
  8951.        File Express asks: "Save all changes (Y/N)?   Y".  If this report
  8952.        format is just a test, or if you have made some temporary changes
  8953.        to another format  which you do not  want to save, reply  <N>o to
  8954.        this prompt.   If you reply  <Y>es or press  <Enter> to take  the
  8955.        default Yes answer, File  Express prompts you  for a report  name
  8956.        and  description  and  then  saves  your  entire  report  format,
  8957.        including all the information from all the sections on the Report
  8958.        Sub-menu for future use.
  8959.  
  8960.        Report formats are saved in a file with the name of your database
  8961.        with an extension  of .R0 to .R99,  giving you up to  100 reports
  8962.        per database.    (You can  also  use report  formats  from  other
  8963.        database files if  they have the same organization.   See Loading
  8964.        Existing Report Formats for more information).
  8965.  
  8966.  
  8967.   Printing the Report
  8968.        When  all the  options on  the  Output Options  screen have  been
  8969.        selected, press <F10>.  A window appears indicating: 
  8970.  
  8971.                   When printer is ready, press any key 
  8972.  
  8973.        Make sure your printer is online and that the paper is positioned
  8974.        properly, then press a key and the report begins printing.   When
  8975.        the report finishes, this message displays: 
  8976.  
  8977.            End of Report. Printed ___ records....Press any key 
  8978.  
  8979.        If  the message  indicates that  zero records were  printed, this
  8980.        means there  were no matches  found for your  selection criteria.
  8981.        Press any key to return to the Report Sub-menu. 
  8982.  
  8983.  
  8984.  
  8985.                                                    PRINTING REPORTS  193
  8986.   ----------------------------------------------------------------------
  8987.  
  8988.   Wide Reports 
  8989.        Some  wide-platen printers  can  hold 15-inch  wide paper.   File
  8990.        Express is capable  of printing  on this wide  paper.  Just  make
  8991.        your report format wider or specify a larger value for Total Page
  8992.        Width. 
  8993.  
  8994.        Using  compressed print,  if your printer  has that  option, wide
  8995.        reports may  be produced  on regular  8.5-inch paper  (up to  132
  8996.        characters),  and  on  wide  15-inch   paper  (up  to  about  240
  8997.        characters).  These  widths may vary  slightly on some  printers.
  8998.        For compressed print,  specify <C>ompressed Print on  the Printer
  8999.        Options screen. 
  9000.  
  9001.        Reports up to 1000  characters wide can be  created.  Printing  a
  9002.        report this wide, however,  requires that you  do it in  sections
  9003.        and then tape them together.  Another option  for wide reports is
  9004.        printing them  to a disk file and  then using a sideways printing
  9005.        program such as Expressware's On-Side.
  9006.  
  9007.        Most  laser printers can print wide  reports in "landscape" mode,
  9008.        with the report turned sideways on a regular piece of paper.   If
  9009.        your printer has this  option, the report  writer can switch  the
  9010.        printer to landscape mode, select  an alternate font, change line
  9011.        spacing  and other printer  controls before printing  the report.
  9012.        To do  this, the  proper  printer initialization  string must  be
  9013.        specified in the Report Output Options section.
  9014.  
  9015.  
  9016.  
  9017.   194  PRINTING REPORTS
  9018.   ----------------------------------------------------------------------
  9019.  
  9020.                               Letter Writer
  9021.  
  9022.   Starting a New Letter
  9023.        To write a  new letter, press  <3> or <W>  from the Report  Menu,
  9024.        Write a New Form Letter.  The following screen appears: 
  9025.  
  9026.  
  9027.  
  9028.  
  9029.  
  9030.  
  9031.                  Registered Version has screen picture here
  9032.  
  9033.  
  9034.  
  9035.  
  9036.  
  9037.  
  9038.  
  9039.  
  9040.  
  9041.  
  9042.        This screen is used to specify the placement of the letter on the
  9043.        paper.
  9044.  
  9045.        Text width:   The width of the text portion  of the letter on the
  9046.        page.  For example,  if your paper is  8 1/2 inches wide and  you
  9047.        want to hold a left  and right margin of  3/4 inch, the width  of
  9048.        the printed portion is 7 inches, which is 70 characters  printing
  9049.        at 10 characters per inch.  Keep in mind that the Text Width does
  9050.        not include  the left  margin setting  below.   The maximum  text
  9051.        width is 70 characters.
  9052.  
  9053.        Paper length:   The  number of  rows that  can be  printed on  an
  9054.        entire page.   Most printing  is done at  6 lines  per inch.   An
  9055.        eleven inch page is 66 lines high.  At 8 lines per inch, the page
  9056.        would be 88 lines.
  9057.  
  9058.        Lines of text:   The number of  lines that actually print  on the
  9059.        page before  moving to the  next letter.   This should take  into
  9060.        account the top and bottom margin.  On an eleven inch page with a
  9061.        top  margin of 1" and a bottom margin of 3/4", printed at 6 lines
  9062.        per inch,  the Lines of  text should be set  at 56.   The maximum
  9063.        lines is 66.
  9064.  
  9065.        Top Margin:  The number  of blank lines at the top  of the letter
  9066.        before the actual  printing is started.  Most of the time you set
  9067.        this to 0  and just position the  paper in your printer  to start
  9068.        printing where you want the first line to be.  If you are using a
  9069.        sheet-feeder you can change this setting as needed.
  9070.  
  9071.  
  9072.  
  9073.                                                    PRINTING LETTERS  195
  9074.   ----------------------------------------------------------------------
  9075.  
  9076.        Left Margin:  The number of characters  from the left edge of the
  9077.        paper to the  beginning of each line.   A setting of  0 indicates
  9078.        that printing  should begin  at the left  edge of  the paper.   A
  9079.        setting of 1 leaves one blank space before starting each line.  A
  9080.        setting of 10 leaves a left margin of 1 inch when  printing at 10
  9081.        characters per inch.
  9082.  
  9083.        When all the settings on the  Letter Size and Spacing screen  are
  9084.        correct, press <F10>  to continue to the Letter  Writer screen or
  9085.        <Esc> to return to the Letter Sub-Menu.  Pressing <F10> (or <Esc>
  9086.        and  then select  the  Edit Form  Letter  option), the  following
  9087.        screen appears:
  9088.  
  9089.  
  9090.  
  9091.  
  9092.  
  9093.  
  9094.                  Registered Version has screen picture here
  9095.  
  9096.  
  9097.  
  9098.  
  9099.  
  9100.  
  9101.  
  9102.  
  9103.  
  9104.  
  9105.        This is the  Letter Writer section of  File Express.   From here,
  9106.        you can  write  one page  form  letters and  include  fields  and
  9107.        formulas from records in your database.
  9108.  
  9109.        The Letter Writer works much like a  mini word processor.  As you
  9110.        enter characters into the window, it automatically word wraps the
  9111.        text as  you type  it in.   At  any point  in the  text, you  can
  9112.        include field references and formulas that  will be replaced with
  9113.        the contents of the records you choose to  print the letters for.
  9114.        (You  can   also  print   letters  that   don't  contain   record
  9115.        information.)
  9116.  
  9117.        To include a field in the letter, enclose the field name or field
  9118.        number in square  brackets: [  ].   For example,  to include  the
  9119.        first  name in the salutation of  your letter enclose the name of
  9120.        the  first name field  in brackets.   If the first  name field is
  9121.        called FIRST NAME, type:
  9122.  
  9123.                             Dear [FIRST NAME],
  9124.  
  9125.        The [FIRST NAME] indicator will be replaced with the actual first
  9126.        name contents of the record being processed, for example:  
  9127.  
  9128.  
  9129.  
  9130.   196  PRINTING LETTERS
  9131.   ----------------------------------------------------------------------
  9132.  
  9133.                                 Dear Mary,
  9134.  
  9135.        You can also include  any valid formula inside the brackets.  For
  9136.        example:
  9137.  
  9138.         Dear [if FIRST NAME is blank then "Sir" else FIRST NAME],
  9139.  
  9140.        These bracketed fields and  formulas can be included anywhere  in
  9141.        the letter.   When  the letter  is to  be printed,  the bracketed
  9142.        fields  and  formulas are  replaced  with the  field  contents or
  9143.        formula answer and the  letter is reformatted  to fit within  the
  9144.        margins and then printed.
  9145.  
  9146.   Moving Around the Letter Writer
  9147.        Moving around the  screen is simply a matter of  using the cursor
  9148.        keys  to move  the blinking  cursor  to any  position within  the
  9149.        letter layout.  There are position indicators at the bottom right
  9150.        corner of the window  that display the current row  and column of
  9151.        the cursor within the letter.  If  your letter is taller than the
  9152.        window on  the screen, the display  scrolls up and down  when the
  9153.        cursor moves past the top or bottom edge of the window.
  9154.  
  9155.        There are also several other keys that make it easier and quicker
  9156.        to move around the screen:
  9157.  
  9158.        <Enter>   Pressing the  <Enter> key moves the cursor down one row
  9159.                  and to column 1.   Pressing <Enter> in the middle of  a
  9160.                  line moves everything from  the cursor to the  right to
  9161.                  the beginning of the next line.
  9162.  
  9163.        <Home>    Pressing the <Home> key moves the cursor to column 1 in
  9164.                  the current row.
  9165.  
  9166.        <End>     Pressing the <End> key moves the cursor to the position
  9167.                  following the last  non-blank character on  the current
  9168.                  line.
  9169.  
  9170.        <Tab>     The  <Tab>  key  inserts  five  spaces  at  the  cursor
  9171.                  position.
  9172.  
  9173.        <Ctrl-PgUp>    These keys move  the cursor to the  top and bottom
  9174.        of the window 
  9175.        <Ctrl-PgDn>    in the current column.
  9176.  
  9177.        <PgUp>    These keys move  up and down through  the entire letter
  9178.                  if <PgDn> it is taller than the window size.
  9179.  
  9180.        <Alt-D>   Pressing <Alt-D> deletes  the current line.   All lines
  9181.                  below the deleted line are moved up to fill the void.
  9182.  
  9183.  
  9184.  
  9185.                                                    PRINTING LETTERS  197
  9186.   ----------------------------------------------------------------------
  9187.  
  9188.        <Backspace>    The <Backspace> moves the cursor  one character to
  9189.                       the left and blanks any text character that  is in
  9190.                       that  position.  Any text or single line fields to
  9191.                       the right of  the cursor are  pulled to the  left.
  9192.                       Using the  <Backspace> key does  not automatically
  9193.                       reform the paragraph.  See <Alt-W> below.
  9194.  
  9195.        <Del>          The  <Del>  key removes  the  character  under the
  9196.                       cursor and pulls the remainder  of the line to the
  9197.                       left.  Each time a character  is deleted using the
  9198.                       <Del> key, the paragraph is reformatted as needed.
  9199.  
  9200.        <Insert>  The <Insert>  key toggles between insert  and overwrite
  9201.                  mode.    When insert  mode  is  turned on,  the  cursor
  9202.                  changes shape from a blinking  line to a blinking  box.
  9203.                  Any  characters typed while in insert mode are inserted
  9204.                  at the current cursor position and the rest of the line
  9205.                  is move to the right.  
  9206.  
  9207.        <Alt-W>   Pressing  <Alt-W> forces a reformat of  the letter.  If
  9208.                  you  have used the <Backspace> to erase characters, use
  9209.                  <Alt-W> to reformat your letter.
  9210.  
  9211.        <Alt-F>   Pressing <Alt-F> pops up a field list window from which
  9212.                  you  can select a field to put  into your letter at the
  9213.                  current cursor position.   To select a field, move  the
  9214.                  highlight bar to  the desired field and  press <Enter>.
  9215.                  The  field  is  inserted at  the  cursor  position with
  9216.                  square  brackets  surrounding  it  and  the  window  is
  9217.                  erased.
  9218.  
  9219.        <F10>     Pressing <F10> tells File Express that you are finished
  9220.                  writing the letter and want to continue to the Optional
  9221.                  Specification screen. 
  9222.  
  9223.        When writing a letter, a list of all the available edit  keys and
  9224.        their functions are available by pressing <Alt-H> for help.
  9225.  
  9226.  
  9227.   Record Selection:
  9228.        When you have finished  writing your letter,  the next screen  to
  9229.        appear is Record Selection.   Here you  indicate the records  you
  9230.        want to print letters for.  This  is a familiar screen, identical
  9231.        to  the one  used when finding  records.   To print a  letter for
  9232.        every record, enter  ALL.  To print only  selected records, enter
  9233.        the selection criteria.   For a detailed discussion  of the valid
  9234.        keywords and operands, see the section titled Finding Records.
  9235.  
  9236.        Enter your selection criteria and press <Enter>.
  9237.  
  9238.  
  9239.  
  9240.   198  PRINTING LETTERS
  9241.   ----------------------------------------------------------------------
  9242.  
  9243.   Letter Output Options 
  9244.        The last screen to display is the Letter Output Options screen:
  9245.  
  9246.  
  9247.  
  9248.  
  9249.  
  9250.  
  9251.                  Registered Version has screen picture here
  9252.  
  9253.  
  9254.  
  9255.  
  9256.  
  9257.  
  9258.  
  9259.  
  9260.        The fields have the  most commonly used  default values, so  just
  9261.        press <F10>  if all the  options are  correct.  If  your computer
  9262.        system  uses different  options, it  is not  necessary to  change
  9263.        these fields every time you print letters.  The default values on
  9264.        this  screen (as on many  other screens) may  be changed to match
  9265.        your  computer and printer.   See the  chapter titled Customizing
  9266.        File Express  for more  information.  Each  of these  options are
  9267.        saved as part  of the letter file, so when you reload the letter,
  9268.        the answers  are  preserved.   The  prompts on  this  screen  are
  9269.        discussed in the following paragraphs. 
  9270.  
  9271.  
  9272.  
  9273.                                                    PRINTING LETTERS  199
  9274.   ----------------------------------------------------------------------
  9275.  
  9276.        Write to <S>creen, <P>rinter, <D>isk, or <A>ll 
  9277.        The letter always appears on the screen.  To write it only on the
  9278.        screen and nowhere  else, enter <S>.   To write it to  the screen
  9279.        and the printer, enter <P>.  To  write it to the screen and disk,
  9280.        enter <D>.  To write it  to the screen, disk, and printer,  press
  9281.        <A>.
  9282.  
  9283.        When <D> or  <A> is entered, you are prompted for the Output File
  9284.        name.  Any valid DOS file name may be used.  A drive letter, path
  9285.        and extension may  also be included.   If  they are omitted,  the
  9286.        file is written to  the drive and  path containing the  database,
  9287.        with no extension. 
  9288.  
  9289.        When <D>isk  is specified, the  characters written into  the disk
  9290.        file are identical to those that go to the printer when <P>rinter
  9291.        is specified.  This lets the disk file later be printed using the
  9292.        DOS PRINT command or  other spooling utility.  Consequently,  the
  9293.        disk file may contain control codes such as form feeds or printer
  9294.        codes.  If you are writing  the letter to disk to edit with  your
  9295.        word  processor,  these  codes  appear  in  the  word  processing
  9296.        document as special symbols, and may be removed. 
  9297.  
  9298.        <C>ontinuous printing or <P>ause after each page 
  9299.        Selecting <C>ontinuous causes the letters to print  one after the
  9300.        other, until they  have been printed  for every record  selected.
  9301.        If  <P>ause  is  selected, the  first  letter  prints,  then this
  9302.        message appears: 
  9303.  
  9304.           Press any key to print next letter, or <Esc> to exit 
  9305.  
  9306.        The <P>ause option is useful when your printer uses single sheets
  9307.        of  paper.   One  page is  printed, then  File Express  pauses so
  9308.        another sheet of paper can be inserted. 
  9309.  
  9310.  
  9311.  
  9312.   200  PRINTING LETTERS
  9313.   ----------------------------------------------------------------------
  9314.  
  9315.   Printer Options
  9316.        File  Express offers some additional printer  options you may not
  9317.        need at first,  but which are very  handy when you do  need them.
  9318.        These  options  give  you  the  capability  of  changing  printer
  9319.        definition  files, printer ports, line and character spacing, and
  9320.        optional printer control strings.
  9321.  
  9322.        To pull up the Printer Options menu, press <Alt-S> while  viewing
  9323.        the Letter Output Options:
  9324.  
  9325.  
  9326.  
  9327.  
  9328.  
  9329.  
  9330.                  Registered Version has screen picture here
  9331.  
  9332.  
  9333.  
  9334.  
  9335.  
  9336.  
  9337.  
  9338.  
  9339.  
  9340.  
  9341.  
  9342.        Printer Definition File
  9343.        Printer  definition files, (PDF  files), contain all  the printer
  9344.        codes used  by  File Express  to  control the  features  of  your
  9345.        printer.  If you have used the Setup program that comes with File
  9346.        Express, you have  probably selected the PDF file  that goes with
  9347.        your  printer.  If you have  not selected a printer, File Express
  9348.        uses codes for an Epson MX80 printer, which are also used by many
  9349.        other makes.
  9350.  
  9351.        Many  people  have  more  than  one printer  connected  to  their
  9352.        computer and need the  capability of switching  PDF files on  the
  9353.        fly so different reports can be sent to different printers.
  9354.  
  9355.        To  select a  different printer  definition  file, press  <Alt-S>
  9356.        while  viewing the  Printer Options  window.   A  window pops  up
  9357.        containing  a  list of  all the  PDF files  found in  the program
  9358.        directory.  Move the highlighted bar to the file name you want to
  9359.        select and press <Enter>.
  9360.  
  9361.        Printer port <1>, <2>, <3>, or <D>efault (LPTx) 
  9362.        If your computer  has more than one printer, use  this command to
  9363.        route  the report to  a second  or third  printer.   File Express
  9364.        defaults to LPT1,  which is the standard port  for most printers.
  9365.        If you  have changed  your printer definition  file to  send your
  9366.  
  9367.  
  9368.  
  9369.                                                    PRINTING LETTERS  201
  9370.   ----------------------------------------------------------------------
  9371.  
  9372.        printer  output to a  port other than  LPT1, the LPTx  shows your
  9373.        default port. 
  9374.  
  9375.        Technical  Note:  Sometimes  a  computer  has  a  serial  printer
  9376.        attached to  its COM1 or  COM2 serial port.   Using the  DOS MODE
  9377.        command, it is  possible to reassign  LPT output to  a COM  port.
  9378.        The MODE command must be entered each time your system is booted,
  9379.        before printing.   The  MODE command is  usually included  in the
  9380.        AUTOEXEC.BAT file.  The command is: MODE LPT#:=COMn where # is 1,
  9381.        2  or  3 and  n  is  1  or 2.    See  your  DOS manual  for  more
  9382.        information.  Reports can only be sent to LPT devices. 
  9383.  
  9384.        Use Form Feeds, <Y>es or <N>o 
  9385.        Since File  Express knows  how long  your paper  is, and it  also
  9386.        counts the lines as it prints,  the paper is normally advanced to
  9387.        a  new page by  printing several blank lines.   Most people never
  9388.        need to change this option from  its default of <N>o.  But  there
  9389.        are  a few  applications where  counting lines  is not  adequate.
  9390.        Sometimes the printer needs a form  feed character sent to it  in
  9391.        order to properly  advance the paper.  Earlier  we mentioned that
  9392.        form feeding is necessary when using a line height which does not
  9393.        divide evenly into  the paper length.  The  form feed re-synchro-
  9394.        nizes the letter with the top of the new page. 
  9395.  
  9396.        Some laser  printers require  a  form feed  character before  the
  9397.        paper  is ejected  into the  output  bin.   Some multi-bin  paper
  9398.        feeders  need a  form feed  character  to select  paper from  the
  9399.        proper bin.   Some  printers eject  paper much  faster when  form
  9400.        feeds  are used  instead of a  series of  blank lines.   In those
  9401.        applications, specify <Y>es for this option. 
  9402.  
  9403.        When  File  Express  prints  a letter  without  form  feeds,  the
  9404.        top-of-form  position of your  printer is ignored.   File Express
  9405.        simply  starts printing  wherever the  paper  is positioned,  and
  9406.        includes enough blank lines to  get to the top of each page.  But
  9407.        when using  form feeds with  a regular tractor-feed  printer, the
  9408.        printer's top-of-form must  be properly set,  or else the  second
  9409.        and  subsequent   pages  do   print  in   the  proper   position.
  9410.        Top-of-form  detection is a physical aspect of your printer which
  9411.        varies from model to model.  Typically it can be set by position-
  9412.        ing the paper  so the perforation is  just above the  print head,
  9413.        then pressing a  button labelled Top or TOF.   Some printers must
  9414.        be powered off and back on to  set top-of-form.  See your printer
  9415.        operation manual for further details. 
  9416.  
  9417.        Line spacing - <6>, <8> or <S>pecial lines per inch 
  9418.        Most printers are  configured to print six lines  per inch (lpi),
  9419.        but  have an  option for  selecting 8  lpi vertical  spacing.   A
  9420.        letter printed at 8 lpi is usually  a bit harder to read, because
  9421.        the lines  are much closer together.   Sometimes 8 lpi causes the
  9422.  
  9423.  
  9424.  
  9425.   202  PRINTING LETTERS
  9426.   ----------------------------------------------------------------------
  9427.  
  9428.        tops of  some  upper case  characters  to touch  the  bottoms  of
  9429.        characters with descenders like p, j and y. 
  9430.  
  9431.        When you  selecting <6>  or <8>,  File Express  uses the  printer
  9432.        codes found  in the  current printer  definition file.   You  can
  9433.        override these codes by selecting <S>pecial.
  9434.  
  9435.        <R>egular, <C>ompressed, <T>welve or <S>pecial pitch 
  9436.        If  your  printer  is  capable   of  printing  in  compressed  or
  9437.        twelve-pitch  (sometimes called Elite) mode, selecting <C> or <T>
  9438.        causes special printer control  codes to be  sent to the  printer
  9439.        before the  letter  begins.   Most  dot matrix  printers  have  a
  9440.        compressed  print option which produces a much narrower character
  9441.        than regular print, usually 17 characters per inch instead of the
  9442.        standard  10 characters  per inch.    Many printers  also have  a
  9443.        12-pitch or Elite font as well. 
  9444.  
  9445.        Selecting <S>pecial  lets you  change the  default printer  codes
  9446.        normally used from the printer definition file.  If your  printer
  9447.        has  a switch  or button  on  the front  for selecting  character
  9448.        pitch, and you have set it to a pitch other than  normal, specify
  9449.        <S>pecial  and blank out the default  codes so that none are sent
  9450.        to your printer overriding your switch settings. 
  9451.  
  9452.        If a letter  is printed to disk with  compressed print specified,
  9453.        the control  codes are placed  into the  disk file at  the proper
  9454.        places, exactly  as  the data  would  have been  written  to  the
  9455.        printer.  In this way, if  a letter is written to disk  for later
  9456.        printing via the DOS PRINT command or other spooling utility, the
  9457.        letter prints  the same  as it  would have  printed  had it  gone
  9458.        directly to the printer from File Express. 
  9459.  
  9460.        Printer initialization string, <D>efault or <S>pecial 
  9461.        Sometimes it is desirable to send a sequence of characters to the
  9462.        printer before  the letter starts  printing, to select  a special
  9463.        printer option or  font.  For example, users  with laser printers
  9464.        might use  this option  to set their  printer to  landscape mode.
  9465.        Users with color printers might use it to  select a ribbon color.
  9466.        Users with multi-bin sheet feeders might need to select a special
  9467.        form.  Any characters may be entered  into this field.  For ASCII
  9468.        values  and  special  symbols,  enclose the  ASCII  value  in  <>
  9469.        symbols.  For example, to set an Epson/IBM printer to  emphasized
  9470.        mode requires that an  <Esc> followed by an upper-case E  be sent
  9471.        to the  printer.   Enter <Esc>E in  the initialization  string so
  9472.        those codes  are sent  to the printer  before the  letter starts.
  9473.        For more information  on entering codes  and characters into  the
  9474.        initialization string, see the Macro Key section.
  9475.  
  9476.        Using the  Setup program  that comes with  File Express,  you can
  9477.        enter a default initialization  printer code.   If you have  done
  9478.  
  9479.  
  9480.  
  9481.                                                    PRINTING LETTERS  203
  9482.   ----------------------------------------------------------------------
  9483.  
  9484.        this, press  <D> to use it,  or press <S>  to change the  code or
  9485.        blank it out.
  9486.  
  9487.        Printer reset string, <D>efault or <S>pecial
  9488.        This string  is sent to  your printer at  the end of  each letter
  9489.        set.  This can be used to reset any special printer features that
  9490.        were set using the initialization string above.
  9491.  
  9492.  
  9493.        When  everything  is  correct  on  the  Printer  Options  screen,
  9494.        pressing <F10> or <Esc> returns you to the Output Options screen.
  9495.  
  9496.        When everything is  correct on the  Output Options screen,  press
  9497.        <Esc> or <F10> to continue.
  9498.  
  9499.  
  9500.   Index Selection
  9501.        The order in which  the records are used to  generate the letters
  9502.        depends on the order of the Primary Index.  If you want to change
  9503.        from the current Primary  Index to a  different one for  printing
  9504.        your letters, press <I> from the Letter Sub-menu.  A list  of the
  9505.        active indexes  is displayed and  you can select  any of  them by
  9506.        moving  the highlighted  bar to  the desired  index and  pressing
  9507.        <Enter>. 
  9508.  
  9509.  
  9510.  
  9511.   Saving A Letter Format 
  9512.        To save your  letter format, press <S> from  the Letter Sub-menu.
  9513.        File Express asks: "Save all changes (Y/N)?  Y".  If  this letter
  9514.        format is just a test, or if you have made some temporary changes
  9515.        to another format  which you do not  want to save, reply  <N>o to
  9516.        this  prompt.  If  you reply <Y>es  or press <Enter>  to take the
  9517.        default Yes answer, File  Express prompts you  for a letter  name
  9518.        and  description  and  then  saves  your  entire  letter  format,
  9519.        including all the information from all the sections on the Letter
  9520.        Sub-menu for future use.
  9521.  
  9522.        Letter formats are saved in a file with the name of your database
  9523.        with an extension  of .D0 to .D99,  giving you up to  100 letters
  9524.        per database.    (You can  also  use letter  formats  from  other
  9525.        database files if they have the same organization.
  9526.  
  9527.  
  9528.   Printing the Letter
  9529.        When  all the  options on  the  Output Options  screen have  been
  9530.        selected, press <F10>.  A window appears indicating: 
  9531.  
  9532.                   When printer is ready, press any key 
  9533.  
  9534.  
  9535.  
  9536.   204  PRINTING LETTERS
  9537.   ----------------------------------------------------------------------
  9538.  
  9539.        Make sure  your printer  is online  and the  paper is  positioned
  9540.        properly, then  press  a  key  and the  letters  begin  printing.
  9541.        Before each letter is printed, a window pops up saying: 
  9542.  
  9543.                          Analyzing Letter Format
  9544.  
  9545.        while File Express goes through the letter and fills in any field
  9546.        references and formulas  from the current record.   The letter is
  9547.        then reformatted and printed.   When the  all the letters  finish
  9548.        printing, this message displays: 
  9549.  
  9550.          Printing Complete. Printed ___ records....Press any key 
  9551.  
  9552.        If the  message indicates  that zero  records were  printed, this
  9553.        means  there were no  matches found for  your selection criteria.
  9554.        Press any key to return to the Letter Sub-menu. 
  9555.  
  9556.  
  9557.  
  9558.                                                     PRINTING LABELS  205
  9559.   ----------------------------------------------------------------------
  9560.  
  9561.  
  9562.                              Printing Labels 
  9563.  
  9564.        File Express has one of the  easiest to use mailing label options
  9565.        in the industry.  Labels can be printed up to five across and any
  9566.        size from ten  characters by one  line to 1000 characters  by 200
  9567.        lines.  
  9568.  
  9569.  
  9570.   The Label Menu 
  9571.        To print mailing labels, press <L>  or <6> on the Main Menu.  The
  9572.        Label Menu appears: 
  9573.  
  9574.  
  9575.  
  9576.   206  PRINTING LABELS
  9577.   ----------------------------------------------------------------------
  9578.  
  9579.   Designing A New Label 
  9580.        Press <1>  or <D> to  design a new  label.  The  following screen
  9581.        appears: 
  9582.  
  9583.  
  9584.  
  9585.  
  9586.  
  9587.  
  9588.                  Registered Version has screen picture here
  9589.  
  9590.  
  9591.  
  9592.  
  9593.  
  9594.  
  9595.  
  9596.  
  9597.  
  9598.  
  9599.        Before the label layout can be defined,  File Express must know a
  9600.        few things about the  physical dimensions of  the labels you  are
  9601.        using. All the options are explained on the following pages. 
  9602.     
  9603.        How many labels across the page (1 to 5) 
  9604.        Some label  forms have two or more labels side  by side.  If your
  9605.        label forms have more than one label across  the page, change the
  9606.        value of this prompt to the number of labels across.  
  9607.  
  9608.        Labels which can be run through your computer's printer come in a
  9609.        variety of sizes  and shapes, and File Express can  print on them
  9610.        all.   The  most common  mailing label,  available at  stationery
  9611.        stores and usable  in just about any printer,  is one-across, one
  9612.        inch vertically from label to label, and 3.5 inches across. 
  9613.  
  9614.        However, your printer's physical constraints may prevent you from
  9615.        using some labels.   Even if  a wide label  form will go  through
  9616.        your printer, sometimes it can't  print all the way to the  right
  9617.        edge of  the last label.  Before  buying wide labels, first print
  9618.        them on a wide  piece of paper to be sure your printer can handle
  9619.        them. 
  9620.  
  9621.  
  9622.  
  9623.                                                     PRINTING LABELS  207
  9624.   ----------------------------------------------------------------------
  9625.  
  9626.        Spaces across from one label to the next 
  9627.        This  option  is  only  prompted  for  if  the previous  response
  9628.        indicates there are two or more labels across the page.  When the
  9629.        cursor moves to this prompt, the picture-prompt changes:
  9630.  
  9631.  
  9632.  
  9633.  
  9634.  
  9635.  
  9636.                  Registered Version has screen picture here
  9637.  
  9638.  
  9639.  
  9640.  
  9641.  
  9642.  
  9643.  
  9644.  
  9645.  
  9646.  
  9647.        The   line  with  the  question   mark  in  it  illustrates  this
  9648.        measurement. If you don't  know what value  to enter here, use  a
  9649.        ruler  to measure from  the left edge  of the first  label to the
  9650.        left edge of  the second  one.   If you will  be using  <R>egular
  9651.        print, multiply the length in inches  times ten.  If you will  be
  9652.        using <T>welve  pitch,  multiply by  12.   If you  will be  using
  9653.        <C>ompressed print,  multiply the  length times  seventeen.   For
  9654.        example, if the  distance across the label is 3 3/4", then 3.75 x
  9655.        10 = 37.5 so use 37 (which is the default).  
  9656.  
  9657.  
  9658.  
  9659.   208  PRINTING LABELS
  9660.   ----------------------------------------------------------------------
  9661.  
  9662.        Lines down from one label to the next 
  9663.        This is the  number of lines it takes  to go from the  top of one
  9664.        label down  to the  top of  the next  label.   Most printers  are
  9665.        configured to print  six lines per inch.   So, if the  labels are
  9666.        one inch  high, use a  value of six.   (If you are  printing at 8
  9667.        lines-per-inch, use  a value  of 8).   If  the labels  are 1  1/2
  9668.        inches high,  use  a  value of  nine  (printing at  6  LPI).  The
  9669.        illustration at the top of the screen shows the measurement to be
  9670.        made: 
  9671.  
  9672.  
  9673.  
  9674.  
  9675.  
  9676.  
  9677.                  Registered Version has screen picture here
  9678.  
  9679.  
  9680.  
  9681.  
  9682.  
  9683.  
  9684.  
  9685.  
  9686.  
  9687.  
  9688.        Note that  the measurement is not the height  of the label; it is
  9689.        the measurement from the top of one label to  the top of the next
  9690.        label.   These measurements are usually  in half inch increments.
  9691.        Multiply the inches  times six and enter  the value.   The actual
  9692.        label height is  usually a sixteenth of an inch  less, allowing a
  9693.        small space between labels. 
  9694.  
  9695.  
  9696.  
  9697.                                                     PRINTING LABELS  209
  9698.   ----------------------------------------------------------------------
  9699.  
  9700.        Printable lines per label 
  9701.        Even  though a  label may be  six lines high,  you probably don't
  9702.        want  to print all  the way  from the very  top edge  to the very
  9703.        bottom.  Six  lines probably will not  even fit on the  label.  A
  9704.        small top and bottom margin is advisable.  Four or five lines fit
  9705.        nicely on a one inch label at 6 lines per inch.
  9706.  
  9707.  
  9708.  
  9709.   210  PRINTING LABELS
  9710.   ----------------------------------------------------------------------
  9711.  
  9712.        Characters per line on each label
  9713.        Normally,  you will  not want to  print from  the left edge  of a
  9714.        label all the  way to  the right edge  without margins on  either
  9715.        side.   By specifying the number  of characters to print  on each
  9716.        line you  can control the  look of each  label.  When  the cursor
  9717.        moves to this prompt, the picture changes to:
  9718.  
  9719.  
  9720.  
  9721.  
  9722.  
  9723.  
  9724.                  Registered Version has screen picture here
  9725.  
  9726.  
  9727.  
  9728.  
  9729.  
  9730.  
  9731.  
  9732.  
  9733.  
  9734.  
  9735.        The  line  with  the  question   mark  in  it  illustrates   this
  9736.        measurement. If you don't  know what value to  enter here, use  a
  9737.        ruler to  measure the length  of the line  you want to  print and
  9738.        multiply it by ten if you will be printing in <R>egular  print or
  9739.        by 12 if  you will be  printing at <T>welve  characters-per-inch.
  9740.        If you  will be printing  with <C>ompressed  print, multiply  the
  9741.        length times seventeen.  For example, if you want to print 3 inch
  9742.        lines on  your 3 1/2 inch label in <R>egular print, then 3 x 10 =
  9743.        30, so enter 30.  
  9744.  
  9745.  
  9746.     
  9747.  
  9748.  
  9749.  
  9750.                                                     PRINTING LABELS  211
  9751.   ----------------------------------------------------------------------
  9752.  
  9753.        Tab position to first label 
  9754.        This option  is somewhat  dependent on  how the  label forms  are
  9755.        positioned in your printer. 
  9756.  
  9757.  
  9758.  
  9759.  
  9760.  
  9761.  
  9762.  
  9763.                  Registered Version has screen picture here
  9764.  
  9765.  
  9766.  
  9767.  
  9768.  
  9769.  
  9770.  
  9771.  
  9772.  
  9773.        The default  value for  this option  is 1,  meaning File  Express
  9774.        prints the  first character of  the label in the  first column on
  9775.        your printer.  If the printing is too far to  the left, specify a
  9776.        larger tab  value.  If 1 is specified and the printing is too far
  9777.        to the right, the  printer tractors must  be physically moved  to
  9778.        the right. 
  9779.  
  9780.  
  9781.  
  9782.   212  PRINTING LABELS
  9783.   ----------------------------------------------------------------------
  9784.  
  9785.   Test Printer Setup
  9786.        When all  the Label Spacing  options have  been specified,  press
  9787.        <F10>.  This window pops onto the screen: 
  9788.  
  9789.  
  9790.                      Test this setup on your printer
  9791.  
  9792.  
  9793.  
  9794.        If you have  labels in your  printer and would  like to test  the
  9795.        spacing  options you  have  specified,  indicate  <Y>es  to  this
  9796.        prompt.  File Express tells you to press any key when the printer
  9797.        is ready, then a series of slash characters are printed: 
  9798.  
  9799.  
  9800.        //////////////////////////    ////////////////////////// 
  9801.        //////////////////////////    ////////////////////////// 
  9802.        //////////////////////////    ////////////////////////// 
  9803.        //////////////////////////    ////////////////////////// 
  9804.  
  9805.        //////////////////////////    ////////////////////////// 
  9806.        //////////////////////////    ////////////////////////// 
  9807.        //////////////////////////    ////////////////////////// 
  9808.        //////////////////////////    ////////////////////////// 
  9809.  
  9810.  
  9811.        The example  above is  for two-across  labels.   By checking  the
  9812.        positions of the slashes, you can determine if your label spacing
  9813.        is correct.   If the label spacing is not correct, press <Esc> to
  9814.        return to the Label Spacing screen.  
  9815.  
  9816.  
  9817.  
  9818.                                                     PRINTING LABELS  213
  9819.   ----------------------------------------------------------------------
  9820.  
  9821.   The Label Layout Screen 
  9822.        After the  Label Spacing options  have been  entered and  tested,
  9823.        this prompt appears: 
  9824.  
  9825.  
  9826.  
  9827.  
  9828.  
  9829.  
  9830.                  Registered Version has screen picture here
  9831.  
  9832.  
  9833.  
  9834.  
  9835.  
  9836.  
  9837.  
  9838.  
  9839.  
  9840.  
  9841.        Using  the spacing options from the previous screen, File Express
  9842.        draws  a  window  according  to  the  values  you  specified  for
  9843.        characters across and lines  down.  The  cursor is placed in  the
  9844.        upper left corner.
  9845.  
  9846.        Laying out the fields and text on a label is exactly the  same as
  9847.        filling in the Detail area of a report.  You may include the same
  9848.        fields, text, and formulas.  Because the Label and Report  layout
  9849.        descriptions are the same, we won't repeat the  information again
  9850.        here.  Please refer to the following report topics:
  9851.  
  9852.                  Moving around the Layout Screen
  9853.                  Detail Area
  9854.                  Adding text to the Layout
  9855.                  Placing Fields on the Screen
  9856.                  Calculated Fields
  9857.                  Drawing Lines
  9858.  
  9859.        When you are finished laying out the label format, press <F10> to
  9860.        continue, or <Esc> to return to the Label Sub-Menu.
  9861.  
  9862.  
  9863.  
  9864.   214  PRINTING LABELS
  9865.   ----------------------------------------------------------------------
  9866.  
  9867.   The Paging Option 
  9868.        The Paging Option lets you print labels on a page-by-page  basis,
  9869.        specifying how  many rows  of labels  to print  on a page  before
  9870.        moving on to the next page.  This is important if you are using a
  9871.        laser  printer that can't  print from  the very  top to  the very
  9872.        bottom of  a page or sheet of labels  and must receive a formfeed
  9873.        character  to eject and print  the page.   The Paging Option also
  9874.        lets you print headings on each page of labels including a title,
  9875.        date and page number.  
  9876.  
  9877.        People often use the Label program to produce rosters and mailing
  9878.        lists on  paper as  well as on  label forms.   The  Mailing Label
  9879.        section  lets you  display names  and  addresses on  the page  in
  9880.        columns, up to five across, a feature which is not available with
  9881.        the Report Writer.
  9882.  
  9883.  
  9884.  
  9885.  
  9886.  
  9887.  
  9888.  
  9889.                  Registered Version has screen picture here
  9890.  
  9891.  
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.  
  9898.  
  9899.  
  9900.        This option  is not normally used when  printing continuous label
  9901.        forms,  so its default is  set to <N>o.   If you press <Y>es, you
  9902.        are asked to answer the following questions: 
  9903.  
  9904.  
  9905.  
  9906.                                                     PRINTING LABELS  215
  9907.   ----------------------------------------------------------------------
  9908.  
  9909.        1 - Enter title you would like printed:
  9910.        If you want to have a title printed at the top of each page, fill
  9911.        it in here.
  9912.  
  9913.        2 - <D>ate, <P>age numbering, <B>oth, <N>one
  9914.        If you want the date and/or page number to be printed,  press the
  9915.        appropriate letter.
  9916.  
  9917.        3 - Top margin before printing on each page
  9918.        This entry is used  to tell File Express how many  blank lines to
  9919.        send to the printer before starting to print the labels.
  9920.  
  9921.        Many laser printer have a built-in top and bottom margin of a few
  9922.        lines where  the printer  will not  print.   To accommodate  this
  9923.        restriction,  many label  sheets  made  for  laser  printers  are
  9924.        manufactured with a top  and bottom margin  of about 1/2"  before
  9925.        and after the labels.  On these printers, indicating a top margin
  9926.        of zero starts the printing on the third or fourth line  from the
  9927.        top.  If  the printing starts too  high, increase the  top margin
  9928.        setting one or two to move the top label down on the page.
  9929.  
  9930.        4 - Print how many label rows before new page
  9931.        This is the  number of labels, not  lines, to be printed  on each
  9932.        page.  Most laser printer  label pages have ten rows  of one-inch
  9933.        labels that can be printed on a page.
  9934.  
  9935.        After  the last line  on the bottom label  is printed, a formfeed
  9936.        character is sent to the printer to move to the next page.  Laser
  9937.        printers then eject  the current page and start on the next.  Dot
  9938.        matrix printers advance  the tractor feed paper to  the next top-
  9939.        of-page position before printing resumes.
  9940.  
  9941.        When  you have finished, press <F10>  to continue on to the Label
  9942.        Output Options screen, or <Esc> to return to the Label Sub-menu.
  9943.  
  9944.  
  9945.  
  9946.   216  PRINTING LABELS
  9947.   ----------------------------------------------------------------------
  9948.  
  9949.   Label Output Options 
  9950.        This screen contains various options which could not be specified
  9951.        in  the  format definition  because  they  do  not control  label
  9952.        formatting.  These  options are all related to  the label layout;
  9953.        i.e. where  to  print the  labels,  how many  to print  for  each
  9954.        record,  whether  you  want  blank lines  compressed  out  of the
  9955.        labels, and which records you want to print labels for.  The next
  9956.        few paragraphs list the options and describe them in detail. 
  9957.  
  9958.  
  9959.  
  9960.  
  9961.  
  9962.  
  9963.  
  9964.  
  9965.                  Registered Version has screen picture here
  9966.  
  9967.  
  9968.  
  9969.  
  9970.  
  9971.  
  9972.  
  9973.  
  9974.  
  9975.        All the  fields have  the most commonly  used default  values, so
  9976.        just  press  <F10> if  all  the options  are  correct.   If  your
  9977.        computer system  uses different options,  it is not  necessary to
  9978.        change  these fields  every time  you  run labels.   The  default
  9979.        values on this  screen (as on many other screens)  may be changed
  9980.        to  match your  computer and  printer.   See  the chapter  titled
  9981.        Customizing  File Express for  more information.   The prompts on
  9982.        this screen are discussed in the following paragraphs: 
  9983.  
  9984.  
  9985.  
  9986.                                                     PRINTING LABELS  217
  9987.   ----------------------------------------------------------------------
  9988.  
  9989.        Write to <S>creen, <P>rinter, <D>isk or <A>ll 
  9990.        Labels are always  displayed on the screen.  To write them to the
  9991.        screen and nowhere else, enter <S>.  To write them to  the screen
  9992.        and the printer,  enter <P>.   To  write them to  the screen  and
  9993.        disk, enter <D>.  To send them to all three places, press <A>.
  9994.  
  9995.        When <D> or <A> is entered, you  are prompted for the Output File
  9996.        name. Any valid DOS file name may be used.  A drive letter,  path
  9997.        and extension  may also be  included.   If they are  omitted, the
  9998.        file is written to  the drive and  path containing the  currently
  9999.        opened database, with no extension. 
  10000.  
  10001.        When <D>isk is  specified, the characters  written into the  disk
  10002.        file are identical  to those going to the  printer when <P>rinter
  10003.        is  specified.  Consequently,  the disk file  may contain control
  10004.        codes  such as form  feeds or compressed print.   This allows the
  10005.        disk  file to  be printed later  using the  DOS PRINT  command or
  10006.        other spooling utility.  If you are writing the labels to disk to
  10007.        edit with your word processor, these codes may appear in the word
  10008.        processing document as special symbols, and may be removed. 
  10009.  
  10010.        Number of labels to Print for each Record 
  10011.        Ordinarily only  a single  label is  printed per  record, so  the
  10012.        default is set to 1.  If an application requires more  labels per
  10013.        record, enter any number up to 999 in this field. 
  10014.        Some File Express users have discovered  a way to print their own
  10015.        personalized  labels, such as  return address labels,  using this
  10016.        option.   To do  this, define a  label and type in  your name and
  10017.        address as  text.   On the  Record Selection  Screen enter  F0=1.
  10018.        Then at  the Number  of labels to  Print for each  Record prompt,
  10019.        enter the number of labels you want  to print.  File Express then
  10020.        prints that number of personal return-address labels. 
  10021.  
  10022.        Remove blank lines found within labels, <Y>es or <N>o 
  10023.        Sometimes there are gaps printed in  a label when a field has  no
  10024.        information.   For example, if a customer  has no company name or
  10025.        lives in a small town and has no address, a blank line appears in
  10026.        the label.   Specifying  <Y>es for this  option causes  all lines
  10027.        below the blank one to be shifted upward (for that label only) so
  10028.        there are  no gaps in the  label.  If  you prefer that  the blank
  10029.        lines remain, enter <N>o for this option. 
  10030.  
  10031.  
  10032.  
  10033.   218  PRINTING LABELS
  10034.   ----------------------------------------------------------------------
  10035.  
  10036.        <C>ontinuous printing or <P>ause after a row of labels 
  10037.        <C>ontinuous printing  causes all the  labels to print  one after
  10038.        another until  they are  finished.  If  <P>ause is  selected, the
  10039.        first row of labels print, then the message appears: 
  10040.  
  10041.          Press any key to print next label row, or <Esc> to exit 
  10042.  
  10043.        By feeding envelopes into  the printer one  at a time,  addresses
  10044.        can be printed directly on them.
  10045.  
  10046.  
  10047.        Record Selection:
  10048.        The  final  prompt on  the  Output  Option  screen  controls  the
  10049.        selection of records for which to print labels.  When you move to
  10050.        this prompt,  the Record  Selection screen displays.   This  is a
  10051.        familiar screen, identical to the one used when finding  records.
  10052.        To print labels  for every record,  enter "ALL".   To print  only
  10053.        selected records, enter  the selection criteria.   For a detailed
  10054.        discussion of the  valid keywords and  operands, see the  section
  10055.        titled Finding Records. 
  10056.  
  10057.  
  10058.  
  10059.                                                     PRINTING LABELS  219
  10060.   ----------------------------------------------------------------------
  10061.  
  10062.   Printer Options
  10063.        File  Express offers some addition printer  options which you may
  10064.        not need  at first  but are  very handy  when you  do need  them.
  10065.        These  options  give  you  the  capability  of  changing  printer
  10066.        definition  files, printer ports, line and character spacing, and
  10067.        optional printer control strings.
  10068.  
  10069.        To pull up the Printer Options menu, press <Alt-S> while  viewing
  10070.        the Label Output Options:
  10071.  
  10072.  
  10073.  
  10074.  
  10075.  
  10076.  
  10077.                  Registered Version has screen picture here
  10078.  
  10079.  
  10080.  
  10081.  
  10082.  
  10083.  
  10084.  
  10085.  
  10086.  
  10087.  
  10088.  
  10089.        Printer Definition File
  10090.        Printer definition  files (PDF  files), contain  all the  printer
  10091.        codes used  by  File Express  to  control the  features  of  your
  10092.        printer.  If you do not select a printer, File Express uses codes
  10093.        for an Epson  MX80 printer,  which are  also used  by many  other
  10094.        makes.
  10095.  
  10096.        Many  people have  more  than  one  printer  connected  to  their
  10097.        computer and need the  capability of switching  PDF files on  the
  10098.        fly so different labels can be sent to different printers.
  10099.  
  10100.        To  select a printer definition file, press <Alt-S> while viewing
  10101.        the Printer Options window.   A window pops up  displaying a list
  10102.        of all the  PDF files found in  the program directory.   Move the
  10103.        highlighted bar  to the  PDF file  you want  to select  and press
  10104.        <Enter>.
  10105.  
  10106.        Printer port <1>, <2>, <3>, or <D>efault (LPTx) 
  10107.        If your computer has more  than one printer, use this  command to
  10108.        route the  labels to  a second  or third  printer.  File  Express
  10109.        defaults to LPT1,  which is the standard device  address for most
  10110.        printers.  If you  have changed your  printer definition file  to
  10111.        send  your printer  output to a  port other  than LPT1,  the LPTx
  10112.        shows your default port. 
  10113.  
  10114.  
  10115.  
  10116.   220  PRINTING LABELS
  10117.   ----------------------------------------------------------------------
  10118.  
  10119.        Technical  Note:  Sometimes  a  computer  has  a  serial  printer
  10120.        attached to  its COM1 or  COM2 serial port.   Using the  DOS MODE
  10121.        command, it is  possible to  reassign LPT output  to a COM  port.
  10122.        The MODE command must be entered each time your system is booted,
  10123.        before printing.   The  MODE command is  usually included  in the
  10124.        AUTOEXEC.BAT file of computers with serial printers.  The command
  10125.        is: MODE LPT#:=COMn where #  is 1, 2 or 3  and n is 1 or 2.   See
  10126.        your DOS manual for more information.  Labels can only be sent to
  10127.        LPT devices. 
  10128.  
  10129.        Line spacing - <6>, <8> or <S>pecial lines per inch 
  10130.        Most printers are  configured to print six lines  per inch (LPI),
  10131.        but have an option for selecting 8 LPI vertical spacing.  A label
  10132.        printed  at 8  LPI is usually  a bit  harder to read  because the
  10133.        lines are much closer together.   Sometimes 8 LPI causes the tops
  10134.        of some upper case characters to touch the bottoms of  characters
  10135.        with descenders like p, j and y. 
  10136.  
  10137.        When you select <6> or <8>,  File Express uses the printer  codes
  10138.        found in the  current printer definition file.   You can override
  10139.        these codes by selecting <S>pecial.
  10140.  
  10141.        <R>egular, <C>ompressed, <T>welve or <S>pecial pitch 
  10142.        If  your  printer  is  capable  of  printing   in  compressed  or
  10143.        twelve-pitch  (sometimes called Elite) mode, selecting <C> or <T>
  10144.        causes special printer control  codes to be  sent to the  printer
  10145.        before the  labels  begins.   Most  dot matrix  printers  have  a
  10146.        compressed  print option which produces a much narrower character
  10147.        than regular print, usually 17 characters per inch instead of the
  10148.        standard  10 characters  per inch.    Many printers  also have  a
  10149.        12-pitch or Elite font as well. 
  10150.  
  10151.        Selecting <S>pecial  lets you  change the  default printer  codes
  10152.        normally used from the printer definition file.  If your  printer
  10153.        has  a switch  or button  on  the front  for selecting  character
  10154.        pitch, and you have set it to a pitch other than  normal, specify
  10155.        <S>pecial and blank  out the default codes so that  none are sent
  10156.        to your printer overriding your switch settings. 
  10157.  
  10158.  
  10159.        Printer initialization string, <D>efault or <S>pecial 
  10160.        Sometimes it is desirable to send a sequence of characters to the
  10161.        printer  before  the labels  start  printing, maybe  to  select a
  10162.        special printer option or font.  Users with laser printers  might
  10163.        use this option to  set their printer  to landscape mode.   Users
  10164.        with color printers might use it to select a ribbon color.  Users
  10165.        with multi-bin sheet feeders might need to select a special form.
  10166.        Any characters may be entered into  this field.  For ASCII values
  10167.        and special symbols, enclose the ASCII value in  <> symbols.  For
  10168.        example, to set an Epson/IBM  printer to emphasized mode requires
  10169.        that an <Esc> followed by an upper-case E be sent to the printer.
  10170.  
  10171.  
  10172.  
  10173.                                                     PRINTING LABELS  221
  10174.   ----------------------------------------------------------------------
  10175.  
  10176.        Enter <Esc>E in the initialization string so these codes are sent
  10177.        to the  printer before the labels start.  For more information on
  10178.        entering codes and characters into the initialization string, see
  10179.        the Macro Key section.
  10180.  
  10181.        Using the  Setup program  that comes with  File Express,  you can
  10182.        enter a default initialization  printer code.   If you have  done
  10183.        this, press  <D> to use  it, or press  <S> to change  the code or
  10184.        blank it out.
  10185.  
  10186.        Printer reset string, <D>efault or <S>pecial
  10187.        This string  is  sent to  your  printer after  your  labels  have
  10188.        printed.   This can be used to reset any special printer features
  10189.        that were set using the initialization string above.
  10190.  
  10191.        When  everything  is  correct  on  the  Printer  Options  screen,
  10192.        pressing <F10> or  <Esc> returns you to the  Label Output Options
  10193.        screen.
  10194.  
  10195.        When  all the  options on  the  Output Options  screen have  been
  10196.        selected, press <F10>.  After saving the label format your labels
  10197.        begin printing. When the labels finish, this message displays: 
  10198.  
  10199.  
  10200.                                 Printing completed
  10201.  
  10202.                        x records used x labels were printed
  10203.  
  10204.  
  10205.        If the  message  indicates that  zero labels  were printed,  this
  10206.        means there were  no matches found  for your selection  criteria.
  10207.        Press any key to return to the Label Menu. 
  10208.  
  10209.  
  10210.  
  10211.   222  PRINTING LABELS
  10212.   ----------------------------------------------------------------------
  10213.  
  10214.   Labels For Other Applications 
  10215.        Mailing lists  are by far the  most popular use  of File Express.
  10216.        But there are  many other business and personal  applications for
  10217.        labels.  At Expressware we print labels from our Orders  database
  10218.        which are used as picking tickets by the shipping department.  We
  10219.        print labels from our Inventory database which are used as  shelf
  10220.        tags and case lot tags. 
  10221.  
  10222.        And it  doesn't need an adhesive  backing to be printed  with the
  10223.        Label  program.   Name  tags, postcards,  shelf tags  -- anything
  10224.        small with just  a few fields can  be printed.  One  File Express
  10225.        user  entered all  the merchandise  for  his garage  sale into  a
  10226.        database, then printed price tags for all the items on  removable
  10227.        labels.   As  each item  was sold,  he found  the  record in  the
  10228.        computer, updated the price, and  printed the customer a  receipt
  10229.        on the spot.  This  shows that new applications for File  Express
  10230.        are  limited only  by your  imagination  and the  length of  your
  10231.        extension cord. 
  10232.  
  10233.  
  10234.   Quick Labels 
  10235.        Quick Labels were briefly mentioned in the chapters on adding and
  10236.        changing records.    When  new  data  is  being  entered  into  a
  10237.        database, it is sometimes desirable to print a label for each new
  10238.        record added.   For  example, at  Expressware, we  print a  quick
  10239.        label for each customer's order as  it is entered into the Orders
  10240.        database.   The label contains  the customer's name  and shipping
  10241.        address, and also has a line across the top indicating  the order
  10242.        date and products  to ship.  To print this Quick Label, the order
  10243.        desk clerk enters  the order information, then  presses <Ctrl-L>.
  10244.        The label prints immediately. 
  10245.  
  10246.        Quick Labels can also be printed when changing or viewing records
  10247.        in the database.   For example, when mailing  correspondence to a
  10248.        customer  we search  the Customer  database for his  record, then
  10249.        press <Ctrl-L> to print a Quick Label. 
  10250.  
  10251.        The  Quick Label feature  can be used for  more than just labels.
  10252.        It can be used to print sales receipts, name tags, or  just about
  10253.        any document with a small amount of printed data.  At Expressware
  10254.        we  have a  quick label  format to  print Visa/Mastercard  charge
  10255.        slips. 
  10256.  
  10257.   Defining a Quick Label 
  10258.        A Quick  Label is  simply an ordinary  label format  that can  be
  10259.        printed anytime a record is displayed on the screen.  To assign a
  10260.        Label Format as a Quick Label, go to the Choose an Existing Label
  10261.        option on the Label Menu.  Highlight the format name you  want to
  10262.        use and  press  <Ctrl-L>.    File  Express  prompts  you  for  an
  10263.        assignment number between 1 and 9 and displays the number  on the
  10264.        selection list.  If you have more than one Quick Label assignment
  10265.  
  10266.  
  10267.  
  10268.                                                     PRINTING LABELS  223
  10269.   ----------------------------------------------------------------------
  10270.  
  10271.        made, you will be prompted for the  number when you want to print
  10272.        a Quick Label later.
  10273.                                Maintenance 
  10274.  
  10275.  
  10276.  
  10277.        This chapter covers  those functions of  File Express which  most
  10278.        people  use only  occasionally.   The  Maintenance functions  are
  10279.        "overhead" in  the sense that they  are not part of  the everyday
  10280.        data entry and report printing process.  But the occasional times
  10281.        when you need one of these  functions, you will be happy to  find
  10282.        that they are as easy to use as the rest of File Express. 
  10283.  
  10284.  
  10285.  
  10286.  
  10287.   The Maintenance Menu 
  10288.        To  select the maintenance function, press <7> or <M> on the Main
  10289.        Menu.  The Maintenance Menu displays: 
  10290.  
  10291.  
  10292.  
  10293.   224  CHANGING THE DATABASE
  10294.   ----------------------------------------------------------------------
  10295.  
  10296.   Changing Database Specifications 
  10297.  
  10298.        Menu choice <1> is  used to change the  format of your  database.
  10299.        You can change field names, field types, field lengths, number of
  10300.        decimals, formulas,  and edit  masks.   You can  add new  fields,
  10301.        delete fields  and  move them  around.   All  these  things  were
  10302.        defined originally when the database was created.
  10303.  
  10304.        It is common to define a database and start putting data into it,
  10305.        then realize that a field is missing, or is too short, or has the
  10306.        wrong format.  When this happens it is not necessary to start all
  10307.        over.  Every aspect of a database  can be changed at some time in
  10308.        the future. 
  10309.     
  10310.        Here are  some kinds  of changes  you may  need to  make, and  an
  10311.        explanation of how to make them: 
  10312.  
  10313.        FIELD NAME: Use the <C>hange option.  Also remember to change any
  10314.        formulas in reports which refer to the field by name. 
  10315.  
  10316.        FIELD TYPE: Use the <C>hange option. 
  10317.  
  10318.        FIELD LENGTH: Use the <C>hange option. 
  10319.  
  10320.        NUMBER OF DECIMALS: Use the <C>hange option. 
  10321.  
  10322.        ADDING A NEW FIELD: Use the <I>nsert option.
  10323.  
  10324.        DELETING A FIELD: Use the <D>elete option.
  10325.  
  10326.        MOVING A FIELD: Use the <M>ove option.
  10327.  
  10328.  
  10329.        Before making extensive changes to a database's specifications it
  10330.        is advisable to make a  backup copy of the database.  Data can be
  10331.        lost or  destroyed by  a simple  error in  typing.  For  example,
  10332.        intending to enlarge  an address field from 20  to 30 characters,
  10333.        if  it  were  inadvertently  entered  as  3  characters, all  the
  10334.        addresses would be lost except for the first three characters.  A
  10335.        backup copy is the  only recourse in this instance.   The chapter
  10336.        titled Backing Up Your Data gives detailed instructions on making
  10337.        backups.  
  10338.  
  10339.  
  10340.  
  10341.                                               CHANGING THE DATABASE  225
  10342.   ----------------------------------------------------------------------
  10343.  
  10344.        As  we mentioned  in the  chapter  titled Open  A Database,  this
  10345.        Change screen is the same one used for defining a new database: 
  10346.  
  10347.  
  10348.  
  10349.  
  10350.  
  10351.  
  10352.                  Registered Version has screen picture here
  10353.  
  10354.  
  10355.  
  10356.  
  10357.  
  10358.  
  10359.  
  10360.  
  10361.  
  10362.  
  10363.        To change one of the fields, press <C> and this prompt appears: 
  10364.  
  10365.                    Enter number of field to change ___ 
  10366.  
  10367.        Type in the field number, and press <Enter>.  The cursor moves to
  10368.        the line  containing that field's specifications.   To change the
  10369.        field's name, just type the new  name over the old one and  press
  10370.        <Enter>.  To leave the field name as it is, just press <Enter>. 
  10371.  
  10372.        The cursor advances  to the Type column.   A field's type  can be
  10373.        changed  to any other valid type: <C>haracter, <N>umeric, <D>ate,
  10374.        <F>ormula,  <T>ext formula or <U>ser-defined.  However, there are
  10375.        some precautions to take  when there are  already records in  the
  10376.        database and a type is changed: 
  10377.  
  10378.        Converting   to  <N>umeric:  before  changing  a  field  type  to
  10379.        <N>umeric,  be sure  all  existing  records  have  valid  numeric
  10380.        characters  (digits  0-9, decimal,  minus sign  or space)  in the
  10381.        field before converting it.  If the field  length is greater than
  10382.        14, the field can be converted to <N>umeric, but the field length
  10383.        will be shortened. 
  10384.  
  10385.        Converting  to <D>ate: Be  careful with this  kind of conversion.
  10386.        File Express stores  all dates in a YYYYMMDD  format and converts
  10387.        this format to the current default date format at display  times.
  10388.        To convert an existing field of another type to a date field, the
  10389.        field must  either be  blank or contain  valid dates  in YYYYMMDD
  10390.        format.
  10391.  
  10392.        Converting  to <U>ser-Defined:  Be  careful  with  this  kind  of
  10393.        conversion also.  File Express stores masked fields without their
  10394.        masks.  A phone  number field with an entry  of: (206)788-0932 is
  10395.  
  10396.  
  10397.  
  10398.   226  CHANGING THE DATABASE
  10399.   ----------------------------------------------------------------------
  10400.  
  10401.        stored as 2067880932.   The mask characters are  added at display
  10402.        and print times.  Any field converted to a User Defined type will
  10403.        be  handled in  the same  manner.   This  could cause  unexpected
  10404.        results.
  10405.  
  10406.        Converting to <F>ormula or <T>ext-formula: After you have entered
  10407.        all the changes  to the database specification, select  Item 4 on
  10408.        the Maintenance Menu:  Recalculate Database, which evaluates  the
  10409.        formula fields in all the records  and puts the correct result in
  10410.        them. 
  10411.  
  10412.        If a  field type  is changed and  the data is  not in  the proper
  10413.        format for  that  field  type, reports  and  searches  may  yield
  10414.        unpredictable results when referencing the field. 
  10415.  
  10416.        Next the cursor advances to  the Length field.  A field's  length
  10417.        can be changed  by simply entering  the new length.   The maximum
  10418.        value for this field varies depending on the field type, but File
  10419.        Express indicates the maximum in its prompt message.  <C>haracter
  10420.        fields,  <T>ext  Formula  fields and  <U>ser-defined  fields  are
  10421.        limited to  a length  of 1000.   <N>umeric  fields and  <F>ormula
  10422.        fields are  limited to  14.   <D>ate fields  are automatically  a
  10423.        length of  8 or 10  depending on the  current date format,  so no
  10424.        change is permitted.   File Express also verifies  that the total
  10425.        record length does not exceed 4,000 characters. 
  10426.  
  10427.        For numeric fields, or those being changed to <N>umeric type, the
  10428.        cursor stops  in the format column and  prompts for the number of
  10429.        decimal places, which may be changed at this time. 
  10430.  
  10431.        After  all the  changes have  been made,  press <S>  to save  the
  10432.        changes to disk.  The changes are  saved in the "Database Header"
  10433.        file, called databasename.HDR.  If field lengths  are not changed
  10434.        and fields have  not been added, deleted, or  moved, this process
  10435.        takes just a few seconds. 
  10436.  
  10437.  
  10438.  
  10439.                                               CHANGING THE DATABASE  227
  10440.   ----------------------------------------------------------------------
  10441.  
  10442.        If one or more field lengths are changed or if you have inserted,
  10443.        deleted or moved one or  more fields, File Express must  read the
  10444.        entire  data file and rewrite it.   This process can take several
  10445.        minutes  on large  databases.   Before the  process  begins, this
  10446.        warning message appears: 
  10447.  
  10448.  
  10449.  
  10450.  
  10451.  
  10452.  
  10453.                  Registered Version has screen picture here
  10454.  
  10455.  
  10456.  
  10457.  
  10458.  
  10459.  
  10460.  
  10461.  
  10462.  
  10463.  
  10464.  
  10465.  
  10466.        The changes you  make to  a database  format can be  made to  the
  10467.        current database  file or can  be made to  a copy of  the current
  10468.        file, thus creating a new database with the new format.
  10469.  
  10470.        If  you choose to make the changes to the current database, press
  10471.        <1> or <R>.  File Express makes all the changes you indicated and
  10472.        returns you to the Maintenance Menu.
  10473.  
  10474.        If you want to create a new database with the changes  applied to
  10475.        it, press <2> or  <C>.  File Express prompts you  to: "Enter name
  10476.        of new  database _________".   Fill  in a new  database name  and
  10477.        press <Enter>.   File  Express reads  the data  from the  current
  10478.        database and makes the changes and writes the information to  the
  10479.        new  database  file.   When  the  process  is complete,  you  are
  10480.        returned to the Main Menu with the new database open.
  10481.  
  10482.        As always, the <Esc> key exits the process.  In this case back to
  10483.        the Change Database screen.  
  10484.  
  10485.  
  10486.  
  10487.   228  CUSTOM INPUT SCREENS
  10488.   ----------------------------------------------------------------------
  10489.  
  10490.  
  10491.                       Painting Custom Input Screens
  10492.  
  10493.        The Paint  option lets  you redesigned the  input screen  so your
  10494.        custom  screen format  is  displayed when  records  are added  or
  10495.        changed.  The Paint option is reached from the Maintenance  Menu.
  10496.        To select this option  from the menu,  either move the  highlight
  10497.        bar  using the  cursor keys,  <Spacebar>  or mouse  to the  Paint
  10498.        option and press <Enter> or <P>.  The View Menu appears: 
  10499.  
  10500.  
  10501.  
  10502.                                                CUSTOM INPUT SCREENS  229
  10503.   ----------------------------------------------------------------------
  10504.  
  10505.   Editing an Existing View Screen
  10506.        If  you have previously defined Views  for your current database,
  10507.        you can display them for editing.  When you do, a list of all the
  10508.        currently defined Views appears in a selection window.  To select
  10509.        any View, move the highlighted bar to the  desired line and press
  10510.        <Enter> or type in  the name of the View in the  input area.  The
  10511.        View is displayed on the screen where  you can make changes.  The
  10512.        editing process is described below under Painting a View Screen.
  10513.  
  10514.        You can also load Views from other  databases as a starting point
  10515.        for the  current database.   While  the View  list is  displayed,
  10516.        press <Alt-U> to use a View from another database.  File  Express
  10517.        pops up a window  containing a list of all the  database files in
  10518.        the current data directory from which you can select an alternate
  10519.        database to select Views from.
  10520.  
  10521.   Deleting a View
  10522.        To delete any View from the View List, move the highlight  bar to
  10523.        the View you want to erase and press <Alt-D>.  File Express asks:
  10524.  
  10525.  
  10526.                         Delete this view [Y/N]? Y
  10527.  
  10528.        If  you are sure  you want to  delete the view,  press <Enter> or
  10529.        <Y>.  To  cancel the delete command  at this point, press  <N> or
  10530.        <Esc>
  10531.  
  10532.  
  10533.   Renaming a View
  10534.        You can  rename an  existing View  or change  its description  by
  10535.        pressing <Alt-R> while the name is highlighted.
  10536.  
  10537.  
  10538.   Defining a New View Screen
  10539.        If you want  to define a brand new View for the current database,
  10540.        type a  new name  into the input  area and  press <Enter>.   File
  10541.        Express confirms that you want to  define a new View and displays
  10542.        a new, clean View Screen for you to define.
  10543.  
  10544.  
  10545.   Set the Default View
  10546.        To  tell File Express  the View you  want to use  when adding and
  10547.        editing records move the  highlight bar to  the desired View  and
  10548.        press <Enter>.  You can also set the default View while adding or
  10549.        editing records by pressing <Alt-V>.
  10550.  
  10551.  
  10552.  
  10553.   230  CUSTOM INPUT SCREENS
  10554.   ----------------------------------------------------------------------
  10555.  
  10556.   Painting a View Screen
  10557.        Whether you are defining a new View screen or editing an existing
  10558.        View to  make changes,  the process is  the same.   A  blank View
  10559.        screen looks like this:
  10560.  
  10561.  
  10562.  
  10563.  
  10564.  
  10565.  
  10566.                  Registered Version has screen picture here
  10567.  
  10568.  
  10569.  
  10570.  
  10571.  
  10572.  
  10573.  
  10574.  
  10575.  
  10576.  
  10577.        There are 21  blank lines to  work with on  each of ten  possible
  10578.        pages that can be painted.  Each line is 80  character long.  The
  10579.        default color is  General Color as defined in  the Setup program.
  10580.        The top of the  screen has a horizontal  line defining the  upper
  10581.        limit of the  screen.  The bottom  three lines of the  screen are
  10582.        reserved  for option  prompts and  position  indicators that  are
  10583.        described below.
  10584.  
  10585.   Moving Around the View Screen
  10586.        Moving around the  screen is simply a matter of  using the cursor
  10587.        keys  to move  the blinking  cursor  to any  position within  the
  10588.        paintable portion of the screen (21 lines x 80 columns).   As you
  10589.        move the cursor around the screen, there are position  indicators
  10590.        at the bottom  right corner of the window  displaying the current
  10591.        row  and column of  the cursor.   There is also  a page indicator
  10592.        that tells which of the ten possible pages you are on.  
  10593.  
  10594.        There are also several other keys that make it easier and quicker
  10595.        to move around the screen:
  10596.  
  10597.        <Enter>   Pressing the <Enter> key moves the cursor  down one row
  10598.                  and to column 1.
  10599.  
  10600.        <Home>    Pressing the  <Home> key  moves the  cursor to  the far
  10601.                  left  side of  the screen in  the current row.   If the
  10602.                  cursor is in column 1, pressing <Home> moves the cursor
  10603.                  to the upper  left corner of the screen.   (If you want
  10604.                  to  quickly move to the  upper left corner press <Home>
  10605.                  twice and you are there).
  10606.  
  10607.  
  10608.  
  10609.                                                CUSTOM INPUT SCREENS  231
  10610.   ----------------------------------------------------------------------
  10611.  
  10612.        <End>     Pressing the <End> key moves the cursor to the position
  10613.                  following the last non-blank  character on the  current
  10614.                  line.   If the cursor is already at  the end of a line,
  10615.                  pressing  <End>  moves  the cursor  to  the  lower left
  10616.                  corner of the screen.
  10617.  
  10618.        <Tab>     The  <Tab>  key moves  the  cursor 5  positions  to the
  10619.                  right.
  10620.  
  10621.        <Backtab> The <Backtab> (Shift-Tab), moves the cursor 5 positions
  10622.                  to the left.
  10623.  
  10624.        <Ctrl-PgUp>
  10625.        <Ctrl-PgDn>    These keys move  the cursor to the  top and bottom
  10626.                       of the screen in the current column.
  10627.  
  10628.        <PgUp>
  10629.        <PgDn>    These keys  move up and  down through the  ten possible
  10630.                  paint pages.
  10631.  
  10632.        <Alt-D>   Pressing  <Alt-D> deletes the current line after asking
  10633.                  for confirmation to do so.  All lines below the deleted
  10634.                  line are moved up to fill the void.  Lines containing a
  10635.                  field cannot be deleted.  To remove a line containing a
  10636.                  field, you must first delete the field.  See Removing a
  10637.                  Field below.
  10638.  
  10639.        <Alt-I>   Pressing <Alt-I>  inserts a  new blank  line above  the
  10640.                  line  where the  cursor is.   If there  is text  on the
  10641.                  bottom line (line  21), it is forced off  the bottom of
  10642.                  the screen and is lost.  If the bottom line contains an
  10643.                  input field,  File Express  does not  let you  insert a
  10644.                  line.
  10645.  
  10646.        <Ctrl-R>  Pressing  <Ctrl-R>  repeats  the  last  text  character
  10647.                  typed.
  10648.  
  10649.        <Alt-Y>   Pressing <Alt-Y> deletes the current page  after asking
  10650.                  for confirmation.  All pages below the deleted page are
  10651.                  moved up to fill the void.
  10652.  
  10653.        <Alt-N>   Pressing <Alt-N> inserts  a new page above  the current
  10654.                  page and all  subsequent pages are  moved down to  make
  10655.                  room.    If  page ten  is  painted,  File  Express asks
  10656.                  permission before discarding it.
  10657.  
  10658.        <Spacebar>     The  <Spacebar> key  puts a  blank  at the  cursor
  10659.                       position and moves one position to the right.  The
  10660.                       <Spacebar> will not blank out an input field.
  10661.  
  10662.  
  10663.  
  10664.   232  CUSTOM INPUT SCREENS
  10665.   ----------------------------------------------------------------------
  10666.  
  10667.        <Backspace>    The <Backspace> moves the cursor  one character to
  10668.                       the left  and blanks  any text  character in  that
  10669.                       position.   Any  text characters  or  single  line
  10670.                       fields to the  right of the  cursor are pulled  to
  10671.                       the left.  If there is a window field to the right
  10672.                       of the cursor  that crosses the current  line, the
  10673.                       <Backspace> key  only works as a <Left>  key.  The
  10674.                       <Backspace> key does not blank out an input field.
  10675.  
  10676.        <Del>          The <Del>  key  removes the  character  under  the
  10677.                       cursor and pulls the remainder of the line  to the
  10678.                       left.  The  <Del> key does not work  if the cursor
  10679.                       is on top  of an input field  or to the left  of a
  10680.                       window field.
  10681.  
  10682.        <Insert>  The <Insert> key toggles on and off the insert mode  of
  10683.                  the cursor.  When insert mode is turned on, the  cursor
  10684.                  changes shape from  a blinking line to  a blinking box.
  10685.                  Any  characters typed while in insert mode are inserted
  10686.                  at the current cursor position and the rest of the line
  10687.                  is moved to the right.  If moving the rest of  the line
  10688.                  to the right would  cause an input  field to be  pushed
  10689.                  off  the screen,  inserting  of  further  text  is  not
  10690.                  permitted.   Also, if  there is a  window field  to the
  10691.                  right of the cursor, inserting new characters is not be
  10692.                  allowed.
  10693.  
  10694.        <F10>     Pressing  <F10>  tells File  Express  you are  finished
  10695.                  painting screens and want to save them. 
  10696.  
  10697.        When  you  are painting  an  input  screen,  a  list of  all  the
  10698.        available edit keys and  their purpose is  available on the  help
  10699.        screen by pressing <Alt-H>
  10700.  
  10701.  
  10702.   Adding Text to the Input Screen
  10703.        Additional text can be added anywhere on the input screen  except
  10704.        on top of fields.  Simply  move the cursor to the location  where
  10705.        you want to add text and type what you want.
  10706.  
  10707.        If you type off the right  edge of the screen, the text  wraps to
  10708.        the left side of the screen on the next line down.
  10709.  
  10710.        Inserting Text
  10711.        Text  can be  inserted into  an  existing string  by putting  the
  10712.        cursor into insert  mode.  Pressing the <Insert>  key toggles the
  10713.        cursor in and out of insert mode.  The cursor is a tall  blinking
  10714.        block when  in insert mode.   If the cursor  is to the left  of a
  10715.        window field, or  if inserting characters would push  a field off
  10716.        the screen, File Express does not let you insert characters.
  10717.  
  10718.  
  10719.  
  10720.                                                CUSTOM INPUT SCREENS  233
  10721.   ----------------------------------------------------------------------
  10722.  
  10723.        Deleting Text
  10724.        Text can be deleted on a  line by using the <Backspace> or  <Del>
  10725.        key.   Both of these keys pull any trailing text to the left.  If
  10726.        the cursor is  to the left of  a window field, these  keys do not
  10727.        work.   You  must  use  the  <Spacebar>  to  blank  out  unwanted
  10728.        characters in this case.
  10729.  
  10730.        Colored Text
  10731.        You  can change the  color of the  text being typed  by using the
  10732.        Paint and  Color  options.   These  are described  below  in  the
  10733.        section called Painting Color on the Screen.
  10734.  
  10735.        Special Characters
  10736.        To type special characters  that are not  found on the  keyboard,
  10737.        you  must know the  ASCII number that  is assigned to  it.  These
  10738.        codes can  be found in Appendix B at the  end of this manual.  To
  10739.        enter a  special character you must hold  down the <Alt> key and,
  10740.        while doing so, type  in the ASCII number on  the numeric keypad,
  10741.        and then let  the <Alt>  key up.   The character  appears at  the
  10742.        current cursor  position.   To enter the  British Pound  sign for
  10743.        example, hold down  the <Alt>  key and  type 156  on the  numeric
  10744.        keypad.  When you  let up the <Alt> key the  character appears on
  10745.        the screen.
  10746.  
  10747.  
  10748.   Placing Fields on the Screen
  10749.        File Express offers many different options when placing fields on
  10750.        the View screens.   Fields can  be placed with  or without  their
  10751.        field names,  as sideways scrolling  fields, or as  window fields
  10752.        that occupy a  rectangular block on the screen  and automatically
  10753.        word-wraps when  you are  entering text.   Fields  can be  placed
  10754.        anywhere on the  screen if  there is  enough room  for the  field
  10755.        style selected.   Fields can  also be placed  as either  INPUT or
  10756.        DISPLAY.   A field  placed for INPUT  lets you  enter information
  10757.        into it when adding or editing records and can only be placed one
  10758.        time in any particular database view.  DISPLAY fields are a view-
  10759.        only picture of  a field that shows whatever  has previously been
  10760.        entered in an  INPUT version of the same field.  For example, you
  10761.        might place your NAME field as an INPUT field on page one  and as
  10762.        a DISPLAY field at  the top of page  two and three to remind  you
  10763.        what record you are entering.   DISPLAY fields can be placed  any
  10764.        number of times on any page.
  10765.  
  10766.  
  10767.   Regular Input Fields
  10768.        To place an INPUT  field on the screen, move the  cursor to where
  10769.        you  want the field located and press  <Alt-F>.  A window appears
  10770.        on the  screen with  a list  of all  the fields  for the  current
  10771.        database.  The prompt at the bottom of the screen changes to:
  10772.  
  10773.          Use the arrow keys to select a field then press <Enter>
  10774.  
  10775.  
  10776.  
  10777.   234  CUSTOM INPUT SCREENS
  10778.   ----------------------------------------------------------------------
  10779.  
  10780.        To select the  field you want  to place on  the screen, move  the
  10781.        highlighted bar to the desired field by using the <Up> and <Down>
  10782.        cursor keys.  (The <Spacebar> also acts as the <Down> key).  When
  10783.        you have highlighted the correct field, press <Enter>.
  10784.  
  10785.        File Express displays  another window containing all  the options
  10786.        for the field.
  10787.  
  10788.                            Field
  10789.                            Name & Field
  10790.                            Field in Window
  10791.  
  10792.  
  10793.        To  choose an  option, move  the highlight  bar to  it  and press
  10794.        <Enter> (or  the left  mouse button).   Each option  is described
  10795.        below:
  10796.  
  10797.        Field
  10798.             Places  just  the field  portion on  the screen  without the
  10799.             field name.  File Express then asks if you want the field to
  10800.             be an INPUT or DISPLAY field.  Press <I> or <D> accordingly.
  10801.             The field is placed  on the screen  at the cursor  position.
  10802.             If the  full length  field does not  fit between  the cursor
  10803.             position and  any field to the  right, or the  right side of
  10804.             the report, File Express prompts:
  10805.  
  10806.         Field will not fit here, press <L> to change its display length
  10807.  
  10808.             Pressing  <L> puts the  field into "rubber  band" mode where
  10809.             you can use  the <Right> and <Left> cursor  keys to contract
  10810.             or  expand  the field  within  the  area available.    Press
  10811.             <Enter> to "drop" the field in place.  A field that has been
  10812.             shortened  in this manner becomes a sideways scrolling field
  10813.             when  input is  done later.   You  can  still enter  text or
  10814.             numbers  to the full length of the  field but the field will
  10815.             scroll sideways as needed.
  10816.  
  10817.        Both Field Name and Field
  10818.             Displays the field name, followed by the field itself.  File
  10819.             Express asks if you want the field to be an INPUT or DISPLAY
  10820.             field.   Press <I> or <D>  accordingly.  The field  name and
  10821.             field  are placed  on  the  screen  starting at  the  cursor
  10822.             position.   The field name  itself is just  text and  can be
  10823.             changed at any time by just typing over it.  The  field name
  10824.             and field are separated by one space.
  10825.  
  10826.        Window Field
  10827.             If the length  of a field is  40 characters or more  you can
  10828.             place the field on the screen  as a Window field.  A  Window
  10829.             field is  a rectangular  block that works  much like  a mini
  10830.  
  10831.  
  10832.  
  10833.                                                CUSTOM INPUT SCREENS  235
  10834.   ----------------------------------------------------------------------
  10835.  
  10836.             word processor.  When you are entering information into this
  10837.             type of field,  it automatically word wraps the  text as you
  10838.             type it in.   To create  this type of  field, press <W>.   A
  10839.             blinking rectangle of  squares appears that is two rows tall
  10840.             and 20 characters wide.  The prompt at the bottoms tells you
  10841.             to:
  10842.  
  10843.             Use Arrow  keys to  stretch the WINDOW  to size  desired and
  10844.             then press <Enter>
  10845.  
  10846.             You  can make  the  block taller  and wider  as long  as the
  10847.             height times width  does not become greater than  the length
  10848.             of the field.   You can stretch the window over  text on the
  10849.             screen if you like,  but File Express does not let you cover
  10850.             over any other field on the screen.  When you have sized the
  10851.             block as desired, press <Enter>.  File Express then asks  if
  10852.             you want the field to be  an INPUT or DISPLAY field.   Press
  10853.             <I> or <D>.    
  10854.  
  10855.        Display-Only Calculated Fields
  10856.             File  Express lets you define calculated fields that are not
  10857.             actually part of the database record definition but are just
  10858.             calculated and  placed on  the screen  whenever a  record is
  10859.             being  displayed.  To  create such  a field,  press <Alt-C>.
  10860.             File Express prompts to:
  10861.  
  10862.             Enter NAME of field? ___________
  10863.  
  10864.             Type in a name, up to twelve characters, and press  <Enter>.
  10865.             File Express asks you to:
  10866.  
  10867.             Enter TYPE of Calc field, <N>umeric or <T>ext? N
  10868.  
  10869.             Select  the  appropriate  field type.    Next,  File Express
  10870.             prompts you to:
  10871.  
  10872.             Enter FORMULA for this field:
  10873.  
  10874.             Type in the  formula you want calculated and  press <Enter>.
  10875.             If you want  help or examples on the  formula handler, press
  10876.             <Alt-H>.  The final two inquiries are:
  10877.  
  10878.             Enter LENGTH of field? 
  10879.  
  10880.             and, if the field was numeric,
  10881.  
  10882.             How many DECIMAL places?
  10883.  
  10884.             The  field  is then  placed  on  the  screen at  the  cursor
  10885.             position.
  10886.  
  10887.  
  10888.  
  10889.   236  CUSTOM INPUT SCREENS
  10890.   ----------------------------------------------------------------------
  10891.                                      empty
  10892.  
  10893.  
  10894.  
  10895.                                                CUSTOM INPUT SCREENS  237
  10896.   ----------------------------------------------------------------------
  10897.  
  10898.  
  10899.                              Changing Fields
  10900.  
  10901.   Changing Field Attributes
  10902.        Once a  field  has been  placed on  the painted  screen, you  can
  10903.        remove  it or change  its display length.   To make  one of these
  10904.        changes, move the  cursor so  that it  is on top  of the  desired
  10905.        field.   When  you have done  this, a  new prompt appears  at the
  10906.        bottom of the screen:
  10907.  
  10908.        <Alt>:               <R>emove  <S>ize to display  <O>rder fields 
  10909.  
  10910.   Removing a Field
  10911.        To remove  the field,  press <Alt-R>.   File  Express blinks  the
  10912.        field and asks:
  10913.  
  10914.             "Are you sure you want to REMOVE THIS FIELD (Y/N)? N"
  10915.  
  10916.        If you are sure that you want  the field removed from the painted
  10917.        screen, press <Y>.  The blinking  field is erased.  If the  field
  10918.        was preceded by  the field name, the  name remains on the  screen
  10919.        because it is  just considered text.   If you want to  remove it,
  10920.        you must blank it out using the <Spacebar>.
  10921.  
  10922.   Changing the Field Display Length
  10923.        To change the length of the  field that is displayed on the  View
  10924.        screen,  press <Alt-S> while  the cursor is on  top of the field.
  10925.        The field starts  blinking and the  prompt at the  bottom of  the
  10926.        screen changes to:
  10927.  
  10928.        Actual  field  length=xx,  Maximum   Display  length=yy,  Display
  10929.   length=<zz>
  10930.  
  10931.        To change the display length of the field, use the cursor keys to
  10932.        shorten or lengthen the  blinking squares.   A regular field  (as
  10933.        opposed  to a Window field) may be  shortened to one character or
  10934.        lengthened  to whatever  fits on  the  screen or  to its  defined
  10935.        length, whichever is less.  (Note that the actual defined  length
  10936.        of the field is not being changed, just the length displayed.)  A
  10937.        field cannot be  stretched over another field but  can be stretch
  10938.        over existing text on the screen.  If the field is stretched over
  10939.        text and then shrunk  back, the overwritten  text reappears.   If
  10940.        the field was  placed as a Window  field, the whole block  blinks
  10941.        and can be re-sized with the cursor keys.  The minimum size for a
  10942.        Window field is 2 rows high by 20 characters long.
  10943.  
  10944.        A regular field, whose  display length on the screen is less than
  10945.        its defined length,  becomes a sideways scrolling field.   Excess
  10946.        text that is  entered at the  right end of  the field causes  the
  10947.        existing text to slide to  the left.  A Window field that  has an
  10948.  
  10949.  
  10950.  
  10951.   238  CUSTOM INPUT SCREENS
  10952.   ----------------------------------------------------------------------
  10953.  
  10954.        input block that is  smaller than the  size of the defined  field
  10955.        scrolls up and down like a word processor.
  10956.  
  10957.  
  10958.   Input Order
  10959.        As you place fields on the View screen, File Express  keeps track
  10960.        of their order.   Later, when you  are entering information  into
  10961.        the records of  your database,  File Express  presents each field
  10962.        in this same order.  You can, however, change this input order by
  10963.        pressing the <Alt-O> key.  File Express asks:
  10964.  
  10965.      Do you want to <S>et the field order or <T>est the order  [S/T]?
  10966.  
  10967.  
  10968.   Changing Field Input Order
  10969.        To change the field input order, press <S>.   File Express blinks
  10970.        every field on the current page  and the prompt at the bottom  of
  10971.        the screen changes to:
  10972.     
  10973.        "Press <Enter>  on each blinking  field in new  processing order.
  10974.        <F10>-Finished"
  10975.  
  10976.        Move  the cursor  to the field  on the  screen where you  want to
  10977.        begin  input  and  press  <Enter>.   That  field  stops blinking.
  10978.        Continue to move  the cursor to successive fields  in the desired
  10979.        input order and press <Enter> on each one to freeze the blinking.
  10980.        When you have  completed every field on the  screen, File Express
  10981.        remembers the new order and tells you:
  10982.  
  10983.        "All  fields have been assigned new processing order ...press any
  10984.        key".
  10985.  
  10986.        This re-ordering applies only to the fields that are displayed on
  10987.        the current screen.   The input order of  fields on other screens
  10988.        are not affected.  To change them, you must go to the other pages
  10989.        and go through the same process.
  10990.  
  10991.  
  10992.   Testing Input Order
  10993.        To  test the  current input  order of the  fields on  the current
  10994.        screen, press <T>.   File Express blinks  the first field  in the
  10995.        input loop and prompts you to:
  10996.  
  10997.        "Use arrow  keys to  loop through processing  order.   <Esc> when
  10998.        done"
  10999.  
  11000.        Pressing <Down>  moves through the  fields in their  input order.
  11001.        When the bottom is reached, File Express says:
  11002.  
  11003.        "This is the LAST field on this page...press any key". 
  11004.  
  11005.  
  11006.  
  11007.                                                CUSTOM INPUT SCREENS  239
  11008.   ----------------------------------------------------------------------
  11009.  
  11010.        To go back up  through the fields  in reverse input order,  press
  11011.        <Up>.  When you have reached  the first input field on the  page,
  11012.        File Express says: 
  11013.  
  11014.        "This is the 1st field on this page...press any key"
  11015.  
  11016.        Press <Esc> when you are done.
  11017.  
  11018.  
  11019.   Painting Color on the Screen
  11020.  
  11021.  
  11022.        File Express lets you change the color of text on the View screen
  11023.        pages.   Each  individual character  can be  changed if  desired.
  11024.        Press <Alt-P>.  The prompt at the bottom of the screen indicates:
  11025.  
  11026.                Paint mode is OFF, to toggle it ON press <P>
  11027.                         To change colors press <C>
  11028.  
  11029.  
  11030.        Turning Paint  On and Off:  Press <P>  to toggle the Paint option
  11031.        ON and OFF.   The current  status of the  Paint option is  always
  11032.        displayed at the  bottom of the screen.  When the Paint option is
  11033.        ON, any  characters that  are typed  or any  characters that  are
  11034.        passed over with the  cursor change to the  current color.   When
  11035.        the  Paint option  is OFF,  any characters typed  remain whatever
  11036.        color  is in effect  at the  positions where  the text  is typed.
  11037.        Moving  the cursor  around with  the  Paint option  OFF does  not
  11038.        change any existing colors.
  11039.  
  11040.  
  11041.        Changing  The  Current  Color:    To  change  the  current  color
  11042.        selection, press <C>.  The current color combination is displayed
  11043.        at the bottom of the screen along with the prompt:
  11044.  
  11045.    UP/DOWN change foreground, LEFT/RIGHT change background, then press
  11046.   <Enter>
  11047.  
  11048.        Use the  <Up> and <Down> keys to  change the foreground color and
  11049.        <Left>  and <Right>  to change  the background.   As you  do, the
  11050.        color combination display  changes.  There are  sixteen available
  11051.        foreground colors and eight background colors:
  11052.  
  11053.  
  11054.  
  11055.   240  CUSTOM INPUT SCREENS
  11056.   ----------------------------------------------------------------------
  11057.  
  11058.             Foreground Colors        Background Colors
  11059.  
  11060.             Black                    Black
  11061.             Blue                Blue
  11062.             Green                    Green
  11063.             Cyan                Cyan
  11064.             Red                 Red
  11065.             Magenta             Magenta
  11066.             Brown                    Brown
  11067.             White                    White
  11068.             Gray
  11069.             Lt Blue
  11070.             Lt Green
  11071.             Lt Cyan
  11072.             Lt Red
  11073.             Lt Magenta
  11074.             Yellow
  11075.             Lt White
  11076.  
  11077.        If the foreground color is the  same as the background color, you
  11078.        won't  be  able to  see the  color names  printed in  the window.
  11079.        These color combinations should be avoided.
  11080.  
  11081.  
  11082.   Drawing Lines
  11083.        File Express has a powerful line  drawing mode that makes it easy
  11084.        to draw lines and boxes anywhere on your input screens.  Two keys
  11085.        control the Line options, <Alt-L> and  <Alt-B>.  Pressing <Alt-L>
  11086.        toggles the Line  option ON and OFF.   The current status  of the
  11087.        option is always displayed at the bottom of the screen.  When the
  11088.        Line option is ON, you can use the cursor keys to move around the
  11089.        screen drawing lines in  the current Box style.  Whenever  a line
  11090.        intersects another  line, the correct  intersection character  is
  11091.        automatically drawn for the current Box style.
  11092.  
  11093.  
  11094.   Changing the Box Style
  11095.        File Express provides eight different line drawing character sets
  11096.        along with an option to ERASE lines as the cursor is moved.   The
  11097.        Box styles are:
  11098.  
  11099.                               
  11100.                  Registered Version has screen picture here
  11101.                               
  11102.  
  11103.        The current  Box style is always  displayed at the  bottom of the
  11104.        screen.   To change the style, press  <Alt-B>.  The character set
  11105.        changes to the next style.  Repeated pressing of <Alt-B>  rotates
  11106.        through  the eight  available Box  styles and  the  ERASE option.
  11107.        When you have selected the desired Box style and the  Line option
  11108.        is turned on, you can then use  the cursor keys to draw lines and
  11109.  
  11110.  
  11111.  
  11112.                                                CUSTOM INPUT SCREENS  241
  11113.   ----------------------------------------------------------------------
  11114.  
  11115.        boxes.  If the cursor is not at the point where you want to start
  11116.        drawing, press  <Alt-L> to turn the Line option OFF and then move
  11117.        the cursor to the desired starting position and press <Alt-L>  to
  11118.        turn the Line option back on.
  11119.  
  11120.        As  you are drawing  lines and boxes  you should be  aware of the
  11121.        following rules.
  11122.  
  11123.             Lines  can  be drawn  anywhere  on  the screen  except  over
  11124.             fields.  This means that you can  draw a line right over any
  11125.             existing  text that you have previously  typed.  Since Field
  11126.             Names are considered text, they too can be overwritten by  a
  11127.             line or box.
  11128.  
  11129.             When attempting  to draw  a line  over an  input field,  the
  11130.             cursor moves normally but no line is drawn until the  cursor
  11131.             moves off the input field.  This also applies to Display and
  11132.             Calculated fields.
  11133.  
  11134.             Lines cannot  be drawn  off the top,  bottom, left  or right
  11135.             edge of the screen.
  11136.  
  11137.             If the Paint option  is ON, lines  are drawn in the  current
  11138.             color.
  11139.  
  11140.             If the  Paint option  is OFF,  lines are  drawn in  whatever
  11141.             colors are on the screen in the positions the lines cross.
  11142.  
  11143.  
  11144.   Saving or Canceling the View Screens
  11145.        When you have finished laying out your input screen and are ready
  11146.        to save it, press <F10>.  File Express asks if you would like to:
  11147.  
  11148.  
  11149.  
  11150.                         Save all changes (Y/N)? Y 
  11151.                            or <C> to continue
  11152.  
  11153.  
  11154.        To resume editing the View screen, press <C>.
  11155.  
  11156.        To exit without saving the View screens, press <N>.
  11157.  
  11158.        To  save the View  screens, press <Y>  or <Enter>.   File Express
  11159.        prompts for a View name and description and then saves everything
  11160.        in the current data directory and returns to the View Menu.
  11161.  
  11162.        A maximum of ten different views can be defined.
  11163.  
  11164.  
  11165.  
  11166.   242  MACRO KEYS
  11167.   ----------------------------------------------------------------------
  11168.  
  11169.  
  11170.                              Macro Key Setup
  11171.  
  11172.        File  Express  has  built-in keyboard  macro  routines.  Keyboard
  11173.        macros  provide an  alternative to  typing long  strings of  data
  11174.        repeatedly.   If  the same  data  is entered  repeatedly in  your
  11175.        database,  you can  define a  keyboard  macro that  automatically
  11176.        types the  data when  you press  a function  key.   For  example,
  11177.        suppose you are constantly typing Fort Lauderdale, Florida into a
  11178.        field in  your database.   You can set  up a macro so  that every
  11179.        time the <F1> key is pressed, the words Fort Lauderdale,  Florida
  11180.        appear on the screen as if you typed them yourself. 
  11181.  
  11182.        There are two ways  to define macro keys in File Express.  One is
  11183.        to type in the keys in the Macro Key  Setup section and the other
  11184.        is  to record  your keystrokes  as  you actually  go through  the
  11185.        process you want the macro to duplicate.
  11186.  
  11187.  
  11188.  
  11189.                                                          MACRO KEYS  243
  11190.   ----------------------------------------------------------------------
  11191.  
  11192.   Defining a Macro
  11193.        To go to the Macro Key Setup section where you can define a Macro
  11194.        or  to  edit  an existing  Macro,  press  <M>  or  <4>  from  the
  11195.        Maintenance Menu to bring up the Macro Key List:
  11196.  
  11197.  
  11198.  
  11199.  
  11200.  
  11201.  
  11202.                  Registered Version has screen picture here
  11203.  
  11204.  
  11205.  
  11206.  
  11207.  
  11208.  
  11209.  
  11210.  
  11211.  
  11212.  
  11213.  
  11214.        There are  36 Macro  Keys that can  be defined  in File  Express.
  11215.        They are <F1> through <F9>, <Shift-F1> through <Shift-F9>, <Ctrl-
  11216.        F1> through  <Ctrl-F9>, and  <Alt-F1> through  <Alt-F9>.   <F10>,
  11217.        <Shift-F10>,  <Ctrl-F10>,  and  <Alt-F10>  are  reserved  by File
  11218.        Express and cannot be use for Macro keys.
  11219.  
  11220.        To edit an existing  Macro key or to define a new  Macro key, use
  11221.        the <Up> and <Down> cursor keys and <PgDn> and <PgUp> to move the
  11222.        highlighted bar to the desired Macro key and then press <Enter>.
  11223.  
  11224.        When you  press <Enter>, the  prompt at the bottom  of the screen
  11225.        changes to:
  11226.  
  11227.        Type in macro contents...then press <Enter>.  <Alt-H> for Help.
  11228.  
  11229.        You can now type  in the contents of the Macro  key.  This should
  11230.        contain exactly  what you want to have typed  as if it were being
  11231.        entered from  the keyboard when  you press the  Macro key in  the
  11232.        future.   This  can include  any  key on  the keyboard  including
  11233.        cursor keys, tab keys, enter keys etc.  It can even include other
  11234.        Macro keys.  
  11235.  
  11236.        Text: Normal text  and punctuation keys are typed  in just as you
  11237.        would enter them from the keyboard.  If you want the Macro key to
  11238.        enter Seattle, Washington, for example, you would just type: 
  11239.  
  11240.                            Seattle, Washington
  11241.  
  11242.  
  11243.  
  11244.   244  MACRO KEYS
  11245.   ----------------------------------------------------------------------
  11246.  
  11247.        Control  Keys:  All other  keys  are  entered  by their  name  or
  11248.        abbreviation and enclosed within angle brackets, <>.  Below is  a
  11249.        list of all the available control keys that can be entered into a
  11250.        Macro key:
  11251.  
  11252.          Key:           Description:
  11253.        -------------- --------------------------------------------------
  11254.  
  11255.        <Enter>   The Enter key,  often shown  as a  left pointing  arrow
  11256.                  with a right angle to it.
  11257.  
  11258.        <Esc>     The Esc or Escape key.
  11259.        <Up>      The Up cursor key.
  11260.        <Down>    The Down cursor key.
  11261.        <Left>    The Left cursor key.
  11262.        <Right>   The Right cursor key.
  11263.        <Home>    The Home key.
  11264.        <End>     The End key.
  11265.        <PgDn>    The Page Down key.
  11266.        <PgUp>    The Page Up key.
  11267.        <Tab>     The Tab key.
  11268.        <BTab>    The Backtab key.  Also known as <Shift-Tab>.
  11269.  
  11270.        <Alt-A>   Various option keys.
  11271.         through 
  11272.        <Alt-Z>
  11273.  
  11274.        <Ctrl-A>  Various option keys.
  11275.         through
  11276.        <Ctrl-Z>
  11277.  
  11278.        <F1>      Macro keys.
  11279.         through
  11280.        <F9>
  11281.  
  11282.        <F10>     Used throughout File Express to indicate that a process
  11283.                  is finished.
  11284.  
  11285.        <Shift-F1>     Macro keys.
  11286.         through
  11287.        <Shift-F9>
  11288.  
  11289.        <Ctrl-F1> Macro keys.
  11290.         through
  11291.        <Ctrl-F9>
  11292.  
  11293.  
  11294.                                                          MACRO KEYS  245
  11295.   ----------------------------------------------------------------------
  11296.  
  11297.        <Alt-F1>  Macro keys.
  11298.         through
  11299.        <Alt-F9>
  11300.  
  11301.        <Ins>          The Insert key.
  11302.        <Del>          The Delete key.
  11303.        <Backspace>    The Backspace key.
  11304.  
  11305.        <MainMenu>     This is a  special macro command that  enables you
  11306.                       to start a macro from any  location in the program
  11307.                       and have  the macro  execute correctly.   Whenever
  11308.                       this command is  encountered, File Express returns
  11309.                       you  to the Main Menu  and then continues with any
  11310.                       further commands.
  11311.  
  11312.        <Input>   When  this  command  is encountered  in  a  Macro, File
  11313.                  Express pauses,  pops up a small input window, and lets
  11314.                  you type  in  up to  50  characters.   When  you  press
  11315.                  <Enter>, the characters are played back  as part of the
  11316.                  Macro.
  11317.  
  11318.  
  11319.        File Express translates the  } symbol to  an <Enter> key.   Since
  11320.        the <Enter> key is probably  the most popular control key,  the }
  11321.        symbol (without  brackets)  is the  same  as <Enter>.    If  your
  11322.        keyboard macro  needs to actually enter  the } symbol as  part of
  11323.        its data, enclose the symbol in brackets: <}>. 
  11324.  
  11325.        Complex  keyboard  macros   can  perform  an  entire   series  of
  11326.        operations with a  single keystroke.  For example,  with a single
  11327.        macro key you can  tell File Express to return to  the Main Menu,
  11328.        go to the Report section, select an existing report format,  make
  11329.        certain the  Primary  index is  correct,  print the  report,  and
  11330.        return again to  the Main Menu.   This Macro key might  look like
  11331.        this:
  11332.  
  11333.                  <MainMenu>RCAnnual<Enter>PPxx<MainMenu>
  11334.  
  11335.        Translated, this Macro means:  
  11336.  
  11337.             1.   No matter where you are, return to the Main Menu.
  11338.             2.   Select the Report section by pressing <R>.
  11339.             3.   <C>hoose an existing report.
  11340.             4.   Type  in the  name of  the desired report,  Annual, and
  11341.                  press <Enter>.
  11342.             5.   Press <P> to print the report.
  11343.             6.   Press <P> again to send the output to the printer.
  11344.             7.   Press any key, <x> to start the printing.
  11345.             8.   Press any  key again,  <x>, at  the end  of the  report
  11346.                  printout.
  11347.             9.   Return to the Main Menu again.
  11348.  
  11349.  
  11350.   246  MACRO KEYS
  11351.   ----------------------------------------------------------------------
  11352.  
  11353.  
  11354.  
  11355.        With a lengthy macro  such as this one, it is sometimes necessary
  11356.        to interrupt the  processing before it finishes. While a keyboard
  11357.        macro is running, press the <Esc> key to abort it.  The remaining
  11358.        macro  keystrokes are  flushed  from  the  keyboard  buffer,  and
  11359.        control  is returned to the keyboard.  If an operation is already
  11360.        in process, such  as printing a report, press <Esc> a second time
  11361.        to cancel it. 
  11362.  
  11363.        If  you have  made  changes to  existing macros  and you  want to
  11364.        revert to the set last saved to disk, press <R> to read them in.
  11365.  
  11366.   The Keyboard Recorder 
  11367.        It is  difficult  and time-consuming  to create  large macros  by
  11368.        writing down the keystrokes then entering them one-at-a-time into
  11369.        the text string  on the Macro Setup  screen.  There is  an easier
  11370.        way to  define macros  without even  leaving the  screen you  are
  11371.        currently on. 
  11372.  
  11373.        Press <Alt-M> anywhere in  File Express when you want to  turn on
  11374.        the Macro Recorder and have File Express automatically "remember"
  11375.        each keystroke  you make.   When <Alt-M>  is pressed  this window
  11376.        pops onto the screen: 
  11377.  
  11378.  
  11379.                     Press Function Key to record into
  11380.  
  11381.                   F1 - F9 or Alt-F1- F9 or Ctrl-F1 - F9
  11382.                              or Shift-F1 - F9
  11383.  
  11384.  
  11385.        Select one of  the available Macro keys by  pressing the function
  11386.        key, and from that  point forward, every  keystroke you enter  is
  11387.        recorded  into that  Macro.  When  the macro recorder  is on, you
  11388.        will notice a low "blip" sound each time a key  is pressed.  This
  11389.        serves as  a reminder that  macro recording  is in progress.   To
  11390.        turn off the  macro recorder after all your  keystrokes have been
  11391.        entered,   press  <Alt-M>  a  second  time.    A  window  appears
  11392.        indicating that macro recording has ended and asks: 
  11393.  
  11394.                        Save macro to disk (Y/N)? Y
  11395.  
  11396.  
  11397.        If you would like  to save your  Macro recording for future  use,
  11398.        and have it loaded automatically each time you open the  database
  11399.        you are currently working with, press  <Y>.  If the macro is  not
  11400.        saved at this point, the macro  is still available for use during
  11401.        this session only.  It will be lost when you exit File Express.
  11402.  
  11403.  
  11404.                                                          MACRO KEYS  247
  11405.   ----------------------------------------------------------------------
  11406.  
  11407.        Using <Alt-M> you can quickly and easily define a keyboard  macro
  11408.        without  even leaving  the screen  you are  on.   For  example, a
  11409.        database has several records which need to be changed because the
  11410.        state  code has erroneously been  abbreviated AL for both Alabama
  11411.        and Alaska.  You start through the records,  changing them one at
  11412.        a time, and soon realize there are several hundred records  to be
  11413.        reviewed and changed.  You could possibly use Search and Replace,
  11414.        but you decide it's faster to do it with a keyboard macro. 
  11415.  
  11416.        You  are  in the  Find/Edit Records  section, looking  at records
  11417.        where STATE IS AL when you realize that a keyboard macro would be
  11418.        helpful.   You  press <Alt-M>  then  <F1> to  turn  on the  macro
  11419.        recorder.  Then you edit the current  record and change it to AK.
  11420.        Next you press <F10> to save the changes, and press <F> to search
  11421.        forward and display the next record. 
  11422.  
  11423.        You have  just recorded  your first  keyboard macro.   Now  press
  11424.        <Alt-M> to turn off the recorder.  When asked if you want to save
  11425.        the macro, answer  <N> because this is a one-time-only macro.  If
  11426.        the next record  is also supposed to be changed to AK, just press
  11427.        <F1>.  The  following macro is played  back so you don't  have to
  11428.        type all the keystrokes by hand: 
  11429.  
  11430.                        E<Home><Enter><Enter><Enter>AK<F10>F 
  11431.  
  11432.        Granted  it's a  small  macro, and  if  you had  to  exit to  the
  11433.        Maintenance  Menu  to  define  it,  you  probably  wouldn't  have
  11434.        bothered.   But  you were  going  to make  these nine  keystrokes
  11435.        anyway,   so  by  simply  preceding  them  with  <Alt-M><F1>  and
  11436.        following them with a second <Alt-M><N>, a macro was created. 
  11437.  
  11438.        It is not  likely that macros like this one would be saved, since
  11439.        it is small and performs a temporary, limited function.   But the
  11440.        Macro Recorder is  often used for much more  complex macros which
  11441.        definitely need to be saved.  For example, an inventory  database
  11442.        needs some maintenance done to it at  the end of each year.   The
  11443.        maintenance is easy, but since it's only done once a year, nobody
  11444.        remembers the  exact sequence.   So  this year-end  they play  it
  11445.        smart,  turning on the  Macro Recorder to  permanently record the
  11446.        exact process.  Then, when next year-end rolls around, they  only
  11447.        need to remember that they made a macro a year ago. 
  11448.  
  11449.  
  11450.   248  RECALCULATING
  11451.   ----------------------------------------------------------------------
  11452.  
  11453.  
  11454.   Recalculating The Database 
  11455.  
  11456.        If your database has formulas in it, sometimes it is necessary to
  11457.        recalculate all of  them.  Formulas are  automatically calculated
  11458.        when a new record is added  or when a record is changed, so  most
  11459.        of the time  their contents  are correct.   But if  a formula  is
  11460.        changed or  added using  the Change  Database  Specs option,  the
  11461.        formula values  on the records need to be  updated.  Press <4> or
  11462.        <R> to start the recalculation process.  This process starts  out
  11463.        with a  display of the  Record Selection screen  that is  used to
  11464.        specify the  records you  want to have  recalculated.   Enter the
  11465.        appropriate  selection criteria.   For  example, if  you  want to
  11466.        recalculate the entire  database, type  in ALL.   If you want  to
  11467.        recalculate just  tagged  records, type  in  TAGGED.   (For  more
  11468.        detailed  information on  selection  criteria,  see  the  section
  11469.        titled, Finding and Changing Records.) 
  11470.  
  11471.        After specifying the records to recalculate, the following screen
  11472.        appears: 
  11473.  
  11474.                  recalculating....   Progress: 19 
  11475.  
  11476.        Allow  several minutes on  large databases, because  File Express
  11477.        must search  through the entire database looking  for the records
  11478.        you have selected, recalculated them, and rewrite them to disk. 
  11479.  
  11480.  
  11481.   Untagging All Records
  11482.        To have File Express go through the entire database and clear all
  11483.        the  tags  from  all  the  records,  press  <5>  or  <U>  on  the
  11484.        Maintenance Menu.
  11485.  
  11486.  
  11487.                                                       RECALCULATING  249
  11488.   ----------------------------------------------------------------------
  11489.  
  11490.   Printing The Database Format 
  11491.        There are  times when you would like to remember the exact format
  11492.        of your database.  How many fields are there?  How long are they?
  11493.        What  formulas are  used?   To print  the format  of the  current
  11494.        database to either the screen  or your printer, press <6> or  <D>
  11495.        on the Maintenance Menu.  File Express asks: 
  11496.  
  11497.                     Print to <S>creen or <P>rinter?  
  11498.  
  11499.        Pressing <S>  causes the  format report to  be displayed  on your
  11500.        screen.   Pressing <P> sends it  to your printer.  When  a key is
  11501.        pressed,  a report  is produced  like  this one  of the  TUTORIAL
  11502.        database: 
  11503.  
  11504.  
  11505.  
  11506.  
  11507.  
  11508.  
  11509.                  Registered Version has screen picture here
  11510.  
  11511.  
  11512.  
  11513.  
  11514.  
  11515.  
  11516.  
  11517.  
  11518.  
  11519.  
  11520.  
  11521.        The one-character "overhead per record" added to the total record
  11522.        length is an extra byte that File Express uses to mark tagged and
  11523.        deleted records.  It is automatically placed at the end of  every
  11524.        record. 
  11525.  
  11526.  
  11527.   250  PRINTER DEFINITION FILES
  11528.   ----------------------------------------------------------------------
  11529.   Printer Definition Files
  11530.        File Express supports hundreds of printers.  The printer commands
  11531.        for  all these printers are contained in Printer Definition Files
  11532.        (PDF's).  The Printer Definition File Utility lets you select the
  11533.        default PDF file, define new PDF files for  printers that are not
  11534.        included with  the  File Express  package,  and edit  and  delete
  11535.        existing PDF files.
  11536.  
  11537.        The Printer Definition File Utility menu looks like this:
  11538.  
  11539.  
  11540.                                            PRINTER DEFINITION FILES  251
  11541.   ----------------------------------------------------------------------
  11542.   Adding a PDF File
  11543.        Press  <1> or <A>  to define a  new PDF file  to be  used by File
  11544.        Express.  A PDF file consists of a printer port and seven printer
  11545.        code strings:
  11546.  
  11547.  
  11548.  
  11549.  
  11550.  
  11551.  
  11552.                  Registered Version has screen picture here
  11553.  
  11554.  
  11555.  
  11556.  
  11557.  
  11558.  
  11559.  
  11560.  
  11561.  
  11562.  
  11563.        Fill in  the appropriate printer  port on line 1  and the printer
  11564.        codes for the listed features.  The printer codes can be found in
  11565.        your printer  manual.  Enter the codes in  the same manner as you
  11566.        would in a Macro.  (See the  Macro Key Setup section for complete
  11567.        information).  For  example, the code for landscape mode  on a HP
  11568.        Laserjet II is an  escape character followed  by an ampersand,  a
  11569.        lower case  l, the  number one,  and the  number zero.   This  is
  11570.        entered as:
  11571.  
  11572.                                 <Esc>&l1O
  11573.  
  11574.        Enter the commands for all the printer features, pressing <Enter>
  11575.        at  the end  of  each one.    If you  want  to test  the  printer
  11576.        commands, press <Alt-P>.  A  test page will be printed  using all
  11577.        the codes.   When you are satisfied, press  <F10> to save the new
  11578.        file to disk.  If you want to select this file as the Default PDF
  11579.        file, use option 4 on the Printer Definition File Utility menu.  
  11580.  
  11581.  
  11582.   Editing a PDF File
  11583.        To edit an existing  printer definition file,  press <2> or  <E>.
  11584.        The file is  loaded and displayed on  the screen.  The  window is
  11585.        the same as  the one used when adding  a new PDF file.   Make any
  11586.        changes as needed.  If you want to test the printer  commands you
  11587.        have entered, press <Alt-P>.   A test page will be  printed using
  11588.        all the codes.  Press <F10> to save the file.
  11589.  
  11590.  
  11591.   252  PRINTER DEFINITION FILES
  11592.   ----------------------------------------------------------------------
  11593.  
  11594.        To delete a  printer definition file, press <3> or <D>.  A window
  11595.        pops  up displaying a list of the  existing PDF files.  Highlight
  11596.        the  one  you  want   to  delete  and   press  <Enter>.     After
  11597.        confirmation, the file is deleted.
  11598.  
  11599.   Default PDF File
  11600.        The  default printer  definition  file is  used  by File  Express
  11601.        whenever  it prints  anything.   This  includes reports,  labels,
  11602.        database format printout, search & replace reports, etc.  If  you
  11603.        have not selected a PDF or File Express can't find any PDF files,
  11604.        it uses Epson printer commands as a default.
  11605.  
  11606.        To select a  printer definition file, press <4> or <S>.  A window
  11607.        appears  listing the  names of  all the  PDF files  found in  the
  11608.        Program directory (where FE.EXE resides).  Move the highlight bar
  11609.        to the PDF file name you want to use and press <Enter>. 
  11610.  
  11611.  
  11612.                                                 IMPORT/EXPORT/CLONE  253
  11613.   ----------------------------------------------------------------------
  11614.  
  11615.                            Import/Export/Clone 
  11616.  
  11617.  
  11618.        File  Express  offers  many  capabilities  for  bringing  outside
  11619.        information  into  a  database,   putting  out  information  from
  11620.        databases to  other file formats and creating  new databases from
  11621.        existing ones.   We use the words "Import",  "Export" and "Clone"
  11622.        because  they are  commonly  used in  many  software programs  to
  11623.        denote the following functions: 
  11624.  
  11625.        IMPORT means  to load  data into File  Express from  another data
  11626.        source which  is in  a  different format.    Maybe the  data  was
  11627.        created  by a  spreadsheet  program or  word  processor, or  even
  11628.        another database program.  In some  cases for example, if you are
  11629.        converting from  another database to File Express,  you may first
  11630.        have to  unload your  data from  the other  database using  their
  11631.        export utility, creating an intermediate  file, perhaps in DIF or
  11632.        SDF format.  Then you import the intermediate file into your File
  11633.        Express database.   In other cases, you can  directly import data
  11634.        files from other programs into File Express.
  11635.  
  11636.        EXPORT means  to write data  out to  a file in  a format that  is
  11637.        readable  by  other  software programs.    File  Express supports
  11638.        several of the industry standard formats for moving data  between
  11639.        programs, including  ASCII Mail-Merge format,  DIF format, Dbase,
  11640.        Lotus 123,  SDF format, and more.  For  example, if you want data
  11641.        from your  database to  be loaded into  a spreadsheet,  you might
  11642.        export the data to a DIF format, then load it into ExpressCalc or
  11643.        another spreadsheet program that reads DIF formats. 
  11644.  
  11645.        CLONE  means  to use  the data  in one  File Express  database to
  11646.        create a new File Express database.  For example, you might clone
  11647.        your database  called CUSTOMERS to another one  called SCHOOLS by
  11648.        selecting only those records where: 
  11649.  
  11650.             name contains college or name contains university
  11651.  
  11652.        Cloning may  be  used for  much  more than  creating  subsets  of
  11653.        databases.  You can  leave out some fields and add  new ones into
  11654.        the cloned database.   You can change  the lengths of  fields and
  11655.        move them  around.   You might  use cloning  to copy  your entire
  11656.        database to a  new one, and rearrange  some of the fields  into a
  11657.        new sequence. 
  11658.  
  11659.  
  11660.   254  IMPORT/EXPORT/CLONE
  11661.   ----------------------------------------------------------------------
  11662.  
  11663.        pressing <Enter>, or pressing 8  from the Main Menu takes  you to
  11664.        the Import/Export  Menu where  you can  then choose  to Import  a
  11665.        file, Export  a file,  or Clone  a file.   A  quicker way  to get
  11666.        directly to  one of these sub-menus is  to press I, E,  or C from
  11667.        the Main Menu.  The first menu looks like this:
  11668.  
  11669.  
  11670.  
  11671.  
  11672.  
  11673.  
  11674.                  Registered Version has screen picture here
  11675.  
  11676.  
  11677.  
  11678.  
  11679.  
  11680.  
  11681.  
  11682.  
  11683.        From this menu you can press <1> or <I> to go to the Import Menu,
  11684.        <2>  or <E> to go to the Export Menu,  or <3> or <C> to go to the
  11685.        Clone Menu  or <4>  to select  a different  Primary Index  to use
  11686.        while here.
  11687.  
  11688.  
  11689.                                                 IMPORT/EXPORT/CLONE  255
  11690.   ----------------------------------------------------------------------
  11691.  
  11692.        We mentioned earlier that there are a number of industry standard
  11693.        formats  for  moving data  around  between  programs.   A  format
  11694.        usually becomes  a "standard" format because  well-known software
  11695.        packages use it. 
  11696.  
  11697.        Mail Merge (sequential)
  11698.        File Express  supports three different types of mail merge files.
  11699.        The most common is the one  we call "Standard Mail merge" format,
  11700.        which is used  by Microsoft BASIC, WordStar, and  many other word
  11701.        processors.   Because of the  popularity of  BASIC and  WordStar,
  11702.        this format  has become  a standard for  importing and  exporting
  11703.        data in most software programs.  This format is sometimes  called
  11704.        comma-delimited, sequential, CDF, or standard ASCII format.  Each
  11705.        data field in a standard mail-merge file is separated by a comma,
  11706.        and each record is on a new line (i.e. terminated with a carriage
  11707.        return and line feed).  Sometimes text has quotation marks around
  11708.        it.  Here are two examples of Standard Mail-merge files: 
  11709.  
  11710.        "John","Doe","123 Fourth Street, Apt 101","Seattle","WA","98119" 
  11711.  
  11712.        John,Doe,123 Fourth Street,Seattle,WA,98119 
  11713.  
  11714.        In  the first  example  the  address field  has  a comma  in  it.
  11715.        Because  the field  is  enclosed  in  quote marks,  File  Express
  11716.        interprets the comma correctly as part of the address as  opposed
  11717.        to  the beginning of  a new field.   The second  example does not
  11718.        have quotes surrounding the field contents so every comma is read
  11719.        as the beginning of  the next field.  If the address  field had a
  11720.        comma in  it, as it does in the  first example, 123 Fourth Street
  11721.        would  be read as the address field and  Apt 101 would be read as
  11722.        the city field.   Of course, every field after that in the record
  11723.        would be  shifted down one  field, as would  every record  in the
  11724.        rest of the database.
  11725.  
  11726.        The second file type  supported by File  Express is the  "Special
  11727.        Mail merge"  file, in which the  comma is replaced by  some other
  11728.        character such as a slash or asterisk.  For example: 
  11729.  
  11730.        "John"/"Doe"/"123 Fourth Street, Apt 101"/"Seattle"/"WA"/"98119" 
  11731.  
  11732.        John*Doe*123 Fourth Street*Seattle*WA*98119 
  11733.  
  11734.  
  11735.   256  IMPORT/EXPORT/CLONE
  11736.   ----------------------------------------------------------------------
  11737.  
  11738.        This type of file has one field per line:
  11739.  
  11740.                  John
  11741.                  Doe
  11742.                  NWA Corporation
  11743.                  123 Fourth Street, Apt 101
  11744.                  Seattle
  11745.                  WA
  11746.                  98119
  11747.                  Mary
  11748.                  Smith
  11749.  
  11750.                  34 South 22nd Ave.
  11751.                  Seattle
  11752.                  WA
  11753.                  98167
  11754.  
  11755.        This example contains seven fields per record.  File Express  can
  11756.        only tell where  a new record begins  by counting the fields.   A
  11757.        blank line still  counts as a field.   The first seven  lines are
  11758.        the first  record, the  next seven lines  are the  second record,
  11759.        etc.   In  this example,  Mary  Smith's record  does not  contain
  11760.        information in the Company field.
  11761.  
  11762.  
  11763.        WordPerfect Merge Files
  11764.        The WordPerfect word processor from WordPerfect Corp. has its own
  11765.        unique format  for  mail  merge  data, which  File  Express  also
  11766.        supports. 
  11767.  
  11768.  
  11769.        DIF Files
  11770.        The DIF file format (DIF stands for Data Interchange Format)  was
  11771.        created  by  the  developers of  the  first  spreadsheet program,
  11772.        VisiCalc,   to  support   interchanging  data   between  software
  11773.        packages.  It has  become  a  popular  standard  for  spreadsheet
  11774.        programs,  and is supported by Lotus  1-2-3, ExpressCalc and many
  11775.        others. 
  11776.  
  11777.  
  11778.                                                 IMPORT/EXPORT/CLONE  257
  11779.   ----------------------------------------------------------------------
  11780.  
  11781.        Another format  which File  Express supports  when importing  and
  11782.        exporting is the Fixed Length file. This is a file in  which each
  11783.        piece of information  is contained in a specific  number of bytes
  11784.        or character positions regardless of how long the information is.
  11785.        For example: 
  11786.  
  11787.                  John   Doe        Portland     OR97034
  11788.                  Jim    Smith      San FranciscoCA90356    
  11789.                  WilliamJohnson    New York     NY06756 
  11790.  
  11791.        If  you type a  fixed length file  out to the  screen, the fields
  11792.        will rarely line up  in nice columns like the example  above.  We
  11793.        have  lined them up for you to  show that each field takes up the
  11794.        same amount of  room.  Typed to  the screen, the file  would look
  11795.        more like this:
  11796.  
  11797.  
  11798.        John    Doe         Portland       OR97034Jim     Smith       San
  11799.        FranciscoCA90356WilliamJohnson    New York     NY06756 
  11800.  
  11801.  
  11802.        Technical Note: If  you are exporting Fixed Length  files, it may
  11803.        be of interest  to you that your  File Express data is  stored in
  11804.        fixed length format.   Each record in your  database is contained
  11805.        in a file called xxxxxx.DTA (where xxxxxx is your database  name)
  11806.        as a  fixed length record.  Each field  is stored adjacently as a
  11807.        fixed  length  field,  and  the  record  is  terminated  with  an
  11808.        additional byte  that is  used to  tag  records or  mark them  as
  11809.        deleted.   Some  users who  require  their data  in fixed  length
  11810.        format can use the xxx.DTA file which contains their data without
  11811.        doing an export. 
  11812.  
  11813.  
  11814.        SDF or Text Files 
  11815.        The SDF  format is a variant of the  Fixed Length format, and can
  11816.        also be imported  into or exported from File Express.   SDF files
  11817.        are fixed length, but have a carriage return and line feed at the
  11818.        end of each  record.  This carriage return/line  feed combination
  11819.        is "invisible" when  viewing the file with a  word processor, but
  11820.        actually  occupies   an  additional   two  character   positions.
  11821.        Sometimes when  importing a  fixed length file,  the data  in the
  11822.        fields is  offset by  one or more  characters in  each successive
  11823.        record.This  is usually because the length  of one or more of the
  11824.        fields  was incorrectly specified,  or because invisible carriage
  11825.        returns and  line feeds were not accounted for.  If this happens,
  11826.        either try again specifying SDF format, or specify an extra field
  11827.        at the end of the record format for these unseen characters. 
  11828.  
  11829.        Lotus 123 Files
  11830.        File format used by Lotus' spreadsheet program.
  11831.  
  11832.  
  11833.   258  IMPORT/EXPORT/CLONE
  11834.   ----------------------------------------------------------------------
  11835.  
  11836.        File format used by Ashton Tate's database program dBASE III  and
  11837.        dBASE III Plus
  11838.  
  11839.        File Express Files
  11840.        And last  but  not least,  File  Express supports  the  extremely
  11841.        popular File Express Format.  Using Import Menu choice number  7,
  11842.        you  can append  another  File Express  database  to the  current
  11843.        database.  Using the  Clone function  you can  copy databases  to
  11844.        other drives and directories and rearrange their contents. 
  11845.  
  11846.  
  11847.                                                           IMPORTING  259
  11848.   ----------------------------------------------------------------------
  11849.  
  11850.                         Importing Into A Database 
  11851.  
  11852.        Press  <I>  from the  Main  Menu or  press  <1> or  <I>  from the
  11853.        Import/Export Menu, and the following menu is displayed: 
  11854.  
  11855.  
  11856.  
  11857.  
  11858.  
  11859.  
  11860.                  Registered Version has screen picture here
  11861.  
  11862.  
  11863.  
  11864.  
  11865.  
  11866.  
  11867.  
  11868.  
  11869.  
  11870.  
  11871.  
  11872.        Before importing a file, be sure that the currently open database
  11873.        is the one  you want to import  into.  Data is  imported directly
  11874.        into the database that is currently open.  
  11875.  
  11876.        The Import Menu  lists eight  different file  formats which  File
  11877.        Express can read and import. These formats were discussed in  the
  11878.        previous section. If you aren't sure what format your data is in,
  11879.        consult the manual of the program that created them. 
  11880.  
  11881.        After  selecting the type of file  format to be imported, you are
  11882.        asked for the name of the file.  File Express automatically fills
  11883.        in the  path to the current  data drive and/or  subdirectory.  If
  11884.        the  file  you  wish  to  import  is  in  a  different  drive  or
  11885.        subdirectory, you can change it.  Type in the complete file name,
  11886.        including any extension, of the file to import and press <Enter>.
  11887.        When importing records  you can either have File  Express add the
  11888.        new records onto any  existing records in  your database or  have
  11889.        the new records  replace the existing ones.  To indicate that you
  11890.        want to replace all existing records with the new ones, put  a /R
  11891.        at the end of the name of the import file.  Example:
  11892.  
  11893.                                 BOATLIST/R
  11894.  
  11895.        The next screen varies  depending on the file type selected.  For
  11896.        example, if you selected the "Mail merge" file type, File Express
  11897.        asks you if all the fields of  each record are on the same  line.
  11898.        If you  are importing a "Standard mail  merge" file or a "Special
  11899.        mail merge" file, answer <Y>es.  If you are importing a Peachtext
  11900.  
  11901.  
  11902.   260  IMPORTING
  11903.   ----------------------------------------------------------------------
  11904.  
  11905.        answer  <Y>es,  the  next  piece  of  information  needed is  the
  11906.        character  used to separate each field on  the line.  A "Standard
  11907.        mail merge" file uses  a comma, which is the default  answer.  If
  11908.        the file  you are  importing uses  a different  character, answer
  11909.        <N>o to the question and type in the new character.  
  11910.  
  11911.        File Express now  begins the importing process by  reading in the
  11912.        first record and displaying it on the screen.  For example:
  11913.  
  11914.  
  11915.  
  11916.  
  11917.  
  11918.  
  11919.                  Registered Version has screen picture here
  11920.  
  11921.  
  11922.  
  11923.  
  11924.  
  11925.  
  11926.  
  11927.  
  11928.  
  11929.  
  11930.  
  11931.        Take a look at the  record to ensure that  all the fields are  in
  11932.        the correct place.  If they are not correct, then either you have
  11933.        selected the wrong  type of file to  import or the format  of the
  11934.        file does  not match  the database  format you  are pulling  them
  11935.        into.  If either of these are the case, press <Esc> to cancel the
  11936.        import, determine the  error, correct it, and start  again.  Some
  11937.        of  the commonly  encountered problems  and  their solutions  are
  11938.        discussed in the Troubleshooting section of the manual. 
  11939.  
  11940.        If  everything  looks  alright  and  you   want  to  import  this
  11941.        particular  record, press  <Y>es.   File  Express then  reads and
  11942.        displays the next record.  If you are satisfied that  the records
  11943.        are  being read correctly and you want to import the entire file,
  11944.        you can press <G>o  to have File  Express continue importing  the
  11945.        remainder  of the file  without asking you  about each individual
  11946.        record.  While this is happening, you  can press any key to pause
  11947.        the import and  go back to the individual  record permission mode
  11948.        of operation.
  11949.  
  11950.        While importing a file, each record is displayed on the screen so
  11951.        that you can  see that everything is progressing  smoothly.  Even
  11952.        if  you have pressed  <G>o, each record is  flashed to the screen
  11953.        momentarily.  Since  this takes a  little time, you can  turn off
  11954.  
  11955.  
  11956.                                                           IMPORTING  261
  11957.   ----------------------------------------------------------------------
  11958.  
  11959.        <D> toggles the display feature on and off).
  11960.  
  11961.        Note  the  message line  near  the  bottom  of the  screen  which
  11962.        indicates the total number of records in the current database and
  11963.        the number of records that have been imported.  Keep in mind that
  11964.        if  importing is  interrupted, the records  imported so  far have
  11965.        been added  to  your  database,  and  remain  there.    When  the
  11966.        importing  process  is  complete, this  progress  screen remains,
  11967.        showing how many  records were imported and how  many records the
  11968.        database  contains  now.    Press  any  key  to  return  to   the
  11969.        Import/Export Menu. 
  11970.  
  11971.  
  11972.   262  EXPORTING
  11973.   ----------------------------------------------------------------------
  11974.  
  11975.                         Exporting From A Database
  11976.  
  11977.        Press  <E>  from the  Main  Menu or  press  <2> or  <E>  from the
  11978.        Import/Export Menu, and the following sub-menu is displayed: 
  11979.  
  11980.  
  11981.  
  11982.  
  11983.  
  11984.  
  11985.                  Registered Version has screen picture here
  11986.  
  11987.  
  11988.  
  11989.  
  11990.  
  11991.  
  11992.  
  11993.  
  11994.  
  11995.  
  11996.        Before  coming to  this menu,  be  sure that  the currently  open
  11997.        database  is the one  you want to  export from.   The Export Menu
  11998.        lists seven different file formats which File Express can  write.
  11999.        These  formats were  discussed in  an  earlier section.   If  you
  12000.        aren't  sure what  format you  need,  consult the  manual of  the
  12001.        program you are exporting data to.  
  12002.  
  12003.  
  12004.                                                           EXPORTING  263
  12005.   ----------------------------------------------------------------------
  12006.  
  12007.        displays: 
  12008.  
  12009.  
  12010.  
  12011.  
  12012.  
  12013.  
  12014.                  Registered Version has screen picture here
  12015.  
  12016.  
  12017.  
  12018.  
  12019.  
  12020.  
  12021.  
  12022.  
  12023.  
  12024.  
  12025.        This screen  lets you  select the  fields to  send to  the output
  12026.        file.   Enter the  field numbers in  the sequence they  are to be
  12027.        exported.   A string of  fields may be specified  by entering the
  12028.        from/to range of field numbers separated by a dash.  For example,
  12029.        1-5 is the same as entering 1<Enter> then 2<Enter> then  3<Enter>
  12030.        then  4<Enter> then  5<Enter>.   If you  want to  select  all the
  12031.        fields in the database, just type a dash <-> and press <Enter>.
  12032.  
  12033.        When all the  field numbers have  been entered that  you want  to
  12034.        export, press  <F10> or <Enter>.   The standard  Record Selection
  12035.        screen is displayed, asking you to Export all the records where:.
  12036.        This screen is the same as the one used to find records and print
  12037.        reports.   Specify the criteria  for selecting records,  and only
  12038.        those records which  match the criteria are exported.   Enter ALL
  12039.        if  you want  all the  records  in the  database to  be exported.
  12040.        Enter  TAGGED  or  UNTAGGED to  export  just  tagged  or untagged
  12041.        records.
  12042.  
  12043.  
  12044.   264  EXPORTING
  12045.   ----------------------------------------------------------------------
  12046.  
  12047.        file types.  For  example, if you  selected "Fixed Length",  File
  12048.        Express gives you a  chance to change any  field lengths.   After
  12049.        responding to these  special prompts, this screen  displays next,
  12050.        asking for the name of the file where the data is to be written: 
  12051.  
  12052.  
  12053.  
  12054.  
  12055.  
  12056.  
  12057.                  Registered Version has screen picture here
  12058.  
  12059.  
  12060.  
  12061.  
  12062.  
  12063.  
  12064.  
  12065.  
  12066.  
  12067.  
  12068.        If no drive  or path is specified,  the data is written  into the
  12069.        subdirectory  where the currently  open database resides.   If an
  12070.        extension is  included, the file is written  with that extension.
  12071.        If  no extension  is  included,  the file  is  given  one of  the
  12072.        following default extensions: 
  12073.  
  12074.             Standard Mail-merge      .WS
  12075.             Special Mail-merge       .MM
  12076.             Word Perfect merge       .WP
  12077.             DIF                 .DIF
  12078.             Fixed length             .FIX
  12079.             Text Editor              .SDF
  12080.             Lotus 123           .WK1
  12081.             dBASE               .DBF
  12082.  
  12083.  
  12084.        If  you  have  used  the  tilde  character  in  any  fields as  a
  12085.        "flip-field-contents-here" mark,  File Express can  flip the data
  12086.        while exporting.  To enable the flip feature, put a /F at the end
  12087.        of the output file name.  Example:
  12088.  
  12089.                               MAILLIST.WS/F
  12090.  
  12091.  
  12092.                                                           EXPORTING  265
  12093.   ----------------------------------------------------------------------
  12094.  
  12095.        you  want to  have all the  fields from  each record on  the same
  12096.        line.  See  the section  titled Some Common  File Formats if  you
  12097.        have any questions about how the file should look.
  12098.  
  12099.        The exporting process now begins, and this screen displays: 
  12100.  
  12101.  
  12102.  
  12103.  
  12104.  
  12105.  
  12106.                  Registered Version has screen picture here
  12107.  
  12108.  
  12109.  
  12110.  
  12111.  
  12112.  
  12113.  
  12114.  
  12115.  
  12116.  
  12117.  
  12118.        When  the exporting  process is  finished,  this progress  screen
  12119.        remains, showing the record  counts. Press any  key to return  to
  12120.        the Import/Export Menu. 
  12121.  
  12122.  
  12123.   266  CLONING
  12124.   ----------------------------------------------------------------------
  12125.  
  12126.                            Cloning A Database 
  12127.  
  12128.        In its simplest  form, the Clone option can copy  a database from
  12129.        one  drive or  subdirectory to  another.   By specifying  various
  12130.        options, the  soon-to-be-created database  format can  be changed
  12131.        from the original.  It can have  fewer records, the fields can be
  12132.        shortened or  lengthened, and  fields can  be  added, deleted  or
  12133.        moved to a different sequence. 
  12134.  
  12135.        File Express offers two ways to clone a database into a new form.
  12136.        Each has  advantages  over the  other.   The  first  method,  and
  12137.        perhaps the  easiest one,  is to  use the  Change Database  Specs
  12138.        option on the Maintenance Menu.  This lets you add fields, delete
  12139.        fields, move  them around  and change the  types and  lengths and
  12140.        then  write them out to a new database.  This option does not let
  12141.        you select which records are to be included in the  new database.
  12142.        All the  records  are  copied.    The  second  option,  which  is
  12143.        described here, lets you do everything the first option does  and
  12144.        also select which records to include.   It does not, however, let
  12145.        you change field  types or calculated fields.   This can be  done
  12146.        after  the clone is complete,  however, using the Change Database
  12147.        Specs option.
  12148.  
  12149.  
  12150.                                                             CLONING  267
  12151.   ----------------------------------------------------------------------
  12152.  
  12153.        database is the one you want  to clone from.  Press <C>  from the
  12154.        Main Menu or press  <3> or <C> from  the Import/Export Menu,  and
  12155.        the following screen displays: 
  12156.  
  12157.  
  12158.  
  12159.  
  12160.  
  12161.  
  12162.                  Registered Version has screen picture here
  12163.  
  12164.  
  12165.  
  12166.  
  12167.  
  12168.  
  12169.  
  12170.  
  12171.  
  12172.  
  12173.  
  12174.        The box on  the left lists all  the fields in the  currently open
  12175.        database.  The box on the right displays the fields of the output
  12176.        database as you select  them.  Enter each field number to include
  12177.        in the output database and press  <Enter>.  The field number with
  12178.        its  name and length  appears in the  box on  the right and  an X
  12179.        appears  in  the box  on  the left  showing  the  field has  been
  12180.        selected.   A string of  fields may be  specified by entering the
  12181.        from/to range of field numbers separated by a dash.  For example,
  12182.        <1-5><Enter> is the  same as entering 1<Enter> then 2<Enter> then
  12183.        3<Enter> then 4<Enter> then 5<Enter>.  If you want to include all
  12184.        the fields, just type a dash, <->, and press <Enter>.
  12185.  
  12186.        Whenever you  want to  add a  new field to  the output  database,
  12187.        press <Alt-N>. You are  prompted for the  field name and  length.
  12188.        The field  is given a field type of <C>haracter.  If the field is
  12189.        intended to be different type, such as numeric, formula, or date,
  12190.        use the Change  Database Specs option on the  Maintenance Menu to
  12191.        change  the field's attributes after  cloning and opening the new
  12192.        database. 
  12193.  
  12194.        When all  the field  numbers have  been entered,  press <F10>  or
  12195.        <Enter> and File Express lets you change the length of any field.
  12196.        Keep in mind  that if you shorten a field, some of its data could
  12197.        be lost. 
  12198.  
  12199.        The standard Record Selection screen displays next, asking you to
  12200.        "Clone all the records  where:".  This screen is the  same as the
  12201.        one used to find records and print reports.  Specify the criteria
  12202.        for  selecting  records.    Only those  records  which  match the
  12203.  
  12204.  
  12205.   268  CLONING
  12206.   ----------------------------------------------------------------------
  12207.  
  12208.        want all the records in the database to be cloned. 
  12209.  
  12210.        File Express now prompts for the name  of the output file.  Enter
  12211.        any valid database name.  If the drive and path are excluded, the
  12212.        new database is written to the subdirectory of the currently open
  12213.        database.  Do not  specify an extension as File  Express uses its
  12214.        own extensions to identify database files.  If a database already
  12215.        exists with  the name  you specify,  a warning  message is  given
  12216.        allowing you to use a new name or overwrite the old database. 
  12217.  
  12218.        If  you  have  used  the  tilde  character  in  any  fields  as a
  12219.        "flip-field-contents-here" mark,  File Express can flip  the data
  12220.        while  cloning.  To enable the flip  feature, put a /F at the end
  12221.        of the output file name.  Example:
  12222.  
  12223.                                 NEWFILE/F
  12224.  
  12225.        The cloning process  now begins and you can watch the progress on
  12226.        the screen. 
  12227.  
  12228.        When  the  cloning  process has  finished,  this  progress screen
  12229.        remains, showing the  record counts.  Press any  key to return to
  12230.        the Import/Export Menu. 
  12231.  
  12232.  
  12233.  
  12234.  
  12235.  
  12236.  
  12237.  
  12238.  
  12239.  
  12240.    
  12241.  
  12242.  
  12243.                                                  QUIT - EXIT TO DOS  269
  12244.   ----------------------------------------------------------------------
  12245.  
  12246.                            Quit - Exit to DOS 
  12247.  
  12248.  
  12249.        To  quit File Express and return to DOS,  press <9> or <Q> on the
  12250.        Main Menu.  File Express asks: 
  12251.  
  12252.                  "Are you sure you want to Quit (Y/N)?".
  12253.  
  12254.        Press <Y> or  <Enter> to quit.   Pressing <N> returns you  to the
  12255.        Main Menu.
  12256.  
  12257.  
  12258.        Upon exiting,  File Express  clears the  screen and  displays the
  12259.        following message:
  12260.  
  12261.  
  12262.  
  12263.  
  12264.  
  12265.  
  12266.                  Registered Version has screen picture here
  12267.  
  12268.  
  12269.  
  12270.  
  12271.  
  12272.  
  12273.  
  12274.  
  12275.  
  12276.  
  12277.        Be sure  to make regular  backup copies of your  databases.  It's
  12278.        not a matter  of IF  you will need  them, it's  only a matter  of
  12279.        WHEN.  For more  information, see the  section titled Backing  Up
  12280.        Your Data.
  12281.  
  12282.  
  12283.   270  QUIT - EXIT TO DOS
  12284.   ----------------------------------------------------------------------
  12285.                                      empty
  12286.  
  12287.  
  12288.                                                            FORMULAS  271
  12289.   ----------------------------------------------------------------------
  12290.  
  12291.                                 Formulas 
  12292.  
  12293.    
  12294.        Throughout this  manual we  have mentioned  several times  that a
  12295.        formula might be entered in response to a particular File Express
  12296.        prompt.  But then the subject was dropped, referring you  instead
  12297.        to the chapter  titled Formulas.  You  may have wondered  why the
  12298.        subject of  formulas was shuffled to the back  of the manual.  Is
  12299.        it  because  they  aren't  important?  Is  it  because  they  are
  12300.        complicated? The answer to both questions is: Yes and No. 
  12301.  
  12302.        No, formulas  are not important to  the beginning user.   Even an
  12303.        advanced user who maintains large mailing lists with File Express
  12304.        may never  need to use formulas.  But  as people use File Express
  12305.        more, and  for more  varied applications,  they eventually  start
  12306.        asking "can it  do this...?" and "how do I...?".  This chapter on
  12307.        formulas,  and the  next one  on Advanced  Features are  intended
  12308.        primarily for the  "power user" or  advanced File Express  owner.
  12309.        So formulas are discussed at the  back of the manual because they
  12310.        aren't really important...at first.  
  12311.  
  12312.        In  response   to  the   second  question:   yes,  formulas   are
  12313.        complicated, and that's why they're discussed back  here with the
  12314.        other technical topics.  But complicated compared to what? People
  12315.        who  have  used  formulas  in  other  software  will  find  these
  12316.        intuitive and extremely easy to use.  
  12317.  
  12318.        So once again it's a question of the user's familiarity with File
  12319.        Express.   Formulas  get  less  complicated  as  you  spend  time
  12320.        designing reports and  databases.  Nothing creates awareness of a
  12321.        concept faster than  not knowing how to  do it.  In  other words,
  12322.        File Express can't solve a problem until you recognize that  it's
  12323.        a problem.    Once you  recognize  the need,  come  look in  this
  12324.        chapter.  
  12325.  
  12326.        And a final reason  formulas have a chapter of their  own is that
  12327.        they are referenced so often, it wasn't practical to write  about
  12328.        them  in every chapter.   If we  had, the manual  would have been
  12329.        twice this size.   So here it  is: everything you ever  wanted to
  12330.        know about Formulas.  
  12331.  
  12332.        In the chapter titled Finding and Changing Records we learned how
  12333.        to  locate a  record by  completing  the sentence  "Find all  the
  12334.        records where..." with a comparison.  The words we entered had to
  12335.        form a comparison, and that chapter explained in some depth  just
  12336.        how  to  form  one.   When  you  finished  the  sentence  with  a
  12337.        comparison  like ZIP  IS  98,  File Express  used  it  to make  a
  12338.        complete formula like this: 
  12339.  
  12340.                    If zip is 98 then read the record.  
  12341.  
  12342.  
  12343.   272  FORMULAS
  12344.   ----------------------------------------------------------------------
  12345.  
  12346.        discussing  in this  section.  So  if you see  some similarity in
  12347.        finding  records and entering  formulas, that's because  they use
  12348.        the same formula  routine.  You will also see  some similarity in
  12349.        the documentation  in this section  and the Finding  and Changing
  12350.        Records chapter for the same reason.  
  12351.        When a  formula is evaluated,  the result is  usually a piece  of
  12352.        data which can be printed, displayed  on the screen or placed  in
  12353.        the database.  Sometimes the resulting data is numeric, sometimes
  12354.        it is text.   Earlier we  discussed various  forms of the  phrase
  12355.        "State is WA".  Is that a formula?  Not exactly; it's really just
  12356.        part  of a  formula: the  comparison  portion.   If you  included
  12357.        "State is WA" on a report, the word "True" would print on records
  12358.        whose  state  is WA,  and the  word  "False" would  print  on the
  12359.        others.  More typical formulas on a report might be: 
  12360.  
  12361.                  If State is WA then "No Income Tax"                    
  12362.                    
  12363.                  If State is WA then Amount * .082 
  12364.  
  12365.        The first example might  be used on a payroll report  to indicate
  12366.        that employees in Washington are not subject to state income tax.
  12367.        The second example might be found on an invoice report, computing
  12368.        state sales  tax for customers who  live in Washington.   In both
  12369.        cases,  the result of the formula was  not "True" or "False", but
  12370.        some meaningful piece of data to  be shown on the report: in  one
  12371.        case text, in the other a number.  
  12372.  
  12373.  
  12374.   Some Definitions
  12375.        Before  going any  further, let's  define  the terms  we will  be
  12376.        using.  It  is kind of like  learning the parts of a  sentence in
  12377.        English  class.  It may be  boring, obvious or interesting to you
  12378.        but it is important.
  12379.  
  12380.   Function:  
  12381.        A function returns an answer.  The answer is either a text string
  12382.        or a number.  For example, the TODAY function returns the current
  12383.        system date as  a string of  characters, (if the current  date is
  12384.        April 16,  1990, the  string returned  is "04-16-90").   As  File
  12385.        Express  is  evaluating  a formula,  it  actually  replaces every
  12386.        occurrence of the function TODAY with the text "04-16-90".
  12387.  
  12388.        Some functions require parameters  (also known as arguments).   A
  12389.        parameter is a piece of information that the function might  need
  12390.        in order  to  return an  answer.   For  example,  the  FUTUREDATE
  12391.        function,  which adds  a certain  number of  days to  a  date and
  12392.        returns the new date, requires two parameters: the date to  start
  12393.        from and the number of days to add to it.   Parameters are placed
  12394.        within parentheses right after the function name; FUTUREDATE("06-
  12395.        01-90", 45)     This example returns the new date: "07-16-90".
  12396.  
  12397.  
  12398.                                                            FORMULAS  273
  12399.   ----------------------------------------------------------------------
  12400.  
  12401.        be used  wherever a  number or  text string  is allowed.   As  an
  12402.        example we can combine the above two examples.  Because the TODAY
  12403.        function  returns  a  date string,  and  the  FUTUREDATE function
  12404.        requires  a date string  as its first  parameter, we  can use the
  12405.        TODAY  function as that  first parameter:   FUTUREDATE(TODAY, 45)
  12406.        returns the date 45 days from today's date. 
  12407.  
  12408.        We can  take  this "nesting"  even  further.   For  example,  the
  12409.        MONTHNAME function can  accept a date  parameter and returns  the
  12410.        name of the month  portion of that date.  If we  want to find out
  12411.        what month  it  will be  1269  days from  now  we could  use  the
  12412.        following  formula:    MONTHNAME(FUTUREDATE(TODAY,  1269)).   The
  12413.        TODAY function provides the date to the FUTUREDATE function which
  12414.        in  turn  provides  the  date  to  the MONTHNAME  function  which
  12415.        provides the name of the month 1269 days from now.
  12416.  
  12417.        The  previous  examples  have  been  of  text  functions.    Some
  12418.        functions   return  numeric  values.    For  example,  the  INSTR
  12419.        functions returns the position within a string where  a substring
  12420.        is found.  The  parameters for the INSTR function are  the string
  12421.        to search and  the string to search for.   INSTR("ABCDABCD", "C")
  12422.        returns a number  3 because the "C"  is first found in  the third
  12423.        position.   A text field from your database  can also be used for
  12424.        the first parameter.  If you have  a full name field and you want
  12425.        to find  the position of  the first  blank space, you  could use:
  12426.        INSTR(F1,  " "), which  would return an 8  if the field contained
  12427.        "Marilyn Monroe" or a 4 if it contained "Abe Lincoln".  
  12428.  
  12429.        As shown in the previous examples, the INSTR function can be used
  12430.        wherever a number is allowed.   For example, the LEFT function is
  12431.        a text  function that  returns the  left part  of a  string.   It
  12432.        requires two parameters, the string and the  number of characters
  12433.        to get from the left end.  Using the full name field example,  if
  12434.        you wanted to print just  the first name you could  use: LEFT(F1,
  12435.        INSTR(F1, " ")-1).   To  find the answer  for this formula,  File
  12436.        Express first finds the  position of the  first blank space  with
  12437.        the current contents  of field 1, then it subtracts 1 from it and
  12438.        returns that  number of characters from the  left end of field 1.
  12439.        If  the field  contained "Michael  Fox",  the first  blank is  in
  12440.        position 8.  Subtracting 1 from 8 = 7.  The left 7 characters  of
  12441.        the string are "Michael", just the first name.  Of course, if the
  12442.        field  contained  "Mr. and  Mrs.  Tom Jones",  the  formula would
  12443.        return "Mr.", so you must know what kind of information is in the
  12444.        field.
  12445.  
  12446.   Statement:
  12447.        A Statement does  not return any kind of information.   It simply
  12448.        tells File Express  to do something.  For  example, the Statement
  12449.        NOLINEFEED tells the program that when you print this line of the
  12450.        report, don't send  a linefeed character at  the end of it.   The
  12451.  
  12452.  
  12453.   274  FORMULAS
  12454.   ----------------------------------------------------------------------
  12455.  
  12456.        current  page, move  to the  top of  the  next page  and continue
  12457.        printing there.
  12458.  
  12459.  
  12460.                                                            FORMULAS  275
  12461.   ----------------------------------------------------------------------
  12462.  
  12463.        A comparitor  is used to compare two text strings or two numbers.
  12464.        The  equal sign  is a  comparitor, therefore  it can  be  used to
  12465.        compare two items to  see if they are equal.  For  example,  F1 =
  12466.        F6 is true if the contents of  field 1 and field 6 are the  same.
  12467.        (File  Express  ignores  upper  and  lower  case   when  doing  a
  12468.        comparison unless  you specifically tell  it not to).   F1 >  "m"
  12469.        will be true for every record where field 1 has a content greater
  12470.        than an  "m", such as "Nancy"  or "Zelda" or even  "Mary" because
  12471.        "Mary" is considered greater than just a single "m".
  12472.  
  12473.        Another example of  a comparitor is SOUNDS LIKE  which is used to
  12474.        search for  words that  sound like other  words that  are spelled
  12475.        differently.  F1  SOUNDS LIKE "smith" finds  entries like "smit",
  12476.        "smyth", and "smth".
  12477.  
  12478.   Operators:
  12479.        Operators  tell  File Express  to  do  a mathematical  or  string
  12480.        operation on two numbers  or strings.  100 + F32  adds the number
  12481.        100 to the numeric contents of field 32.   F16 MOD 12 divides the
  12482.        number in field 16 by 12 and then only keeps the remainder.   The
  12483.        colon operator can be used to indicate a range  of fields without
  12484.        having to type out each one.  F1:F10 concatenates the contents of
  12485.        the first ten fields and then treats them as if it was one field.
  12486.        Note, however,  that you  should not  use the  equal operator  in
  12487.        conjunction with the colon  operator.  For  example, if fields  1
  12488.        through 5 contain  "one   ",  "two   ",  "three ", "four   ", and
  12489.        "five  ", F1:F5 results in "one   two    three four  five  ".  If
  12490.        you  type F1:F5 = "four", File Express will not find any matching
  12491.        records.    Instead, you  should  use  F1:F5  CONTAINS "four"  to
  12492.        instruct File Express  to look anywhere in the concatenated field
  12493.        group.
  12494.  
  12495.   Logical Operators:
  12496.        AND and OR are logical operators that are used to string together
  12497.        multiple comparison.  For  example, if you  wanted to search  for
  12498.        all your friends in California, you might  use:  State = "CA" AND
  12499.        Category  = "FRIEND".   If you wanted to  search for records from
  12500.        Idaho, Utah, and Washington, you might use STATE = "ID"  OR STATE
  12501.        = "UT" OR STATE = "WA".  
  12502.  
  12503.        AND means  the comparisons on  either side  must be true  for the
  12504.        combination of the two  to be considered true.  OR  means that if
  12505.        either  comparison is true,  the combination is  considered true.
  12506.        You might  say to  yourself that you  want all  the records  from
  12507.        Washington AND Idaho,  but if you type  STATE = "WA" AND  STATE =
  12508.        "ID", you won't find  anything because there  can't be any  field
  12509.        equal to both "WA"  and "ID" at the same time.   Use STATE = "WA"
  12510.        OR STATE = "ID".
  12511.  
  12512.  
  12513.   276  FORMULAS
  12514.   ----------------------------------------------------------------------
  12515.  
  12516.        idea to  use parentheses to make  it clear what  you really mean.
  12517.        STATE = "WA" OR STATE = "ID" AND CATEGORY = "FRIEND"  OR CATEGORY
  12518.        = "WORK" will find all your friends in either state but will also
  12519.        find all your co-workers  in every state  in the country  because
  12520.        the final OR  applies to all  the previous comparisons.   To  get
  12521.        what you really  want use:  (STATE =  "WA" OR STATE  = "ID")  AND
  12522.        (CATEGORY = "FRIEND" OR CATEGORY = "WORK").  The parentheses make
  12523.        it much clearer.
  12524.  
  12525.        The  remainder of this chapter is  a reference section describing
  12526.        each  function,  statement,  comparitor  and  operator  that File
  12527.        Express permits.
  12528.  
  12529.  
  12530.                                                     & (Concatenate)  277
  12531.   ----------------------------------------------------------------------
  12532.  
  12533.    
  12534.   PURPOSE:  The '&'  operator is  used to  combine two  fields with  one
  12535.             space between them.
  12536.  
  12537.   SYNTAX:   text & text [ & text ...]
  12538.  
  12539.             text = any field or text string enclosed in quotes.
  12540.  
  12541.   TYPE:          Operator, text, numeric
  12542.  
  12543.   USE IN:   Any Formula
  12544.  
  12545.   COMMENTS: Leading and trailing  spaces are removed from  fields before
  12546.             being combined with one space between them.  
  12547.  
  12548.             Blank spaces in quoted text strings are not removed.  
  12549.  
  12550.             Spaces are trimmed from numeric fields.
  12551.  
  12552.             See the '+' (Plus) operator for more examples.
  12553.  
  12554.   EXAMPLES: F1 & F2
  12555.  
  12556.             If Field 1 contains "John" and Field 2 contains "Doe",  this
  12557.             formula returns "John Doe".
  12558.  
  12559.             "Dear" & F1 + "," 
  12560.  
  12561.             Using  information from  the  first  example,  this  formula
  12562.             returns "Dear John,". 
  12563.  
  12564.             F6 + "," & F7 & F8
  12565.  
  12566.             If Field 6, Field 7  and Field 8 are the city, state and zip
  12567.             code fields, this example might return "Duvall, WA 98019".
  12568.  
  12569.   ALSO SEE: + (Plus)
  12570.  
  12571.  
  12572.   278  + (Plus)
  12573.   ----------------------------------------------------------------------
  12574.  
  12575.  
  12576.   PURPOSE:  The '+'  plus  operator combines  two  text fields  with  no
  12577.             spaces  between  them  or mathematically  adds  two  numeric
  12578.             fields together.
  12579.  
  12580.   SYNTAX:   text + text [+ text ...] or number + number [+ number ...]
  12581.  
  12582.             text = any character field or text string.
  12583.             number  = any  numeric field,  numeric  function or  numeric
  12584.             constant.
  12585.  
  12586.   TYPE:          Operator, character, numeric
  12587.  
  12588.   USE IN:   Any Formula
  12589.  
  12590.   COMMENTS: Leading and  trailing spaces  are removed  from text  fields
  12591.             before being combined but spaces  are not removed when using
  12592.             constant text within quotes.
  12593.  
  12594.             NOTE: The symbol,  '+', is used for both  adding numbers and
  12595.             combining text.  File Express performs the correct operation
  12596.             according to  the type  of the fields  being used.   If  the
  12597.             first field is a character field, the fields are combined as
  12598.             if  they  are  both text  fields.    If the  first  field is
  12599.             numeric,  the fields  are  combined  as  if  they  are  both
  12600.             numbers.  (A text field containing "John" is treated as a 0.
  12601.             A text field  containing "123ABC" is  treated as the  number
  12602.             123.)
  12603.  
  12604.  
  12605.   EXAMPLES: "Hello" + "Goodbye"
  12606.  
  12607.             This formula returns "HelloGoodbye".
  12608.  
  12609.             F1 + F2
  12610.  
  12611.             If  Field  1  is  "John" and  Field  2  is  a  numeric field
  12612.             containing  123, then this formula returns "John123".  If F2
  12613.             + F1 is used instead, then this formula returns 123  because
  12614.             the first field being combined is numeric.  ("John" will  be
  12615.             treated as 0, so 123 + 0 = 123.)
  12616.  
  12617.             "Dear " + F1 + ","
  12618.  
  12619.             If Field 1 contains  "Tom", this formula will  return: "Dear
  12620.             Tom,".  (Notice the  space after the  word DEAR enclosed  in
  12621.             quotes.)
  12622.  
  12623.   ALSO SEE: & (Concatenate) and Math Operators
  12624.  
  12625.  
  12626.                                                         : (THROUGH)  279
  12627.   ----------------------------------------------------------------------
  12628.  
  12629.  
  12630.  
  12631.   PURPOSE:  The THROUGH or ":" operator specifies a range of fields.
  12632.  
  12633.   SYNTAX:   field : field
  12634.             field THROUGH field 
  12635.  
  12636.             field = any valid field name or field number.
  12637.  
  12638.   TYPE:          Operator, character
  12639.  
  12640.   USE IN:   Any Formula
  12641.  
  12642.   COMMENTS: The   THROUGH  operator  combines  all  the  fields  in  the
  12643.             specified range  and treats  them as a  single field.   This
  12644.             allows  a range  of fields  to  be searched  using a  single
  12645.             search formula.  
  12646.  
  12647.             Leading  and trailing  spaces are  NOT  removed from  fields
  12648.             before being combined.
  12649.  
  12650.             An entire record can be searched by specifying the first and
  12651.             last field as the range.
  12652.  
  12653.   EXAMPLES: Select all records where: F1 THROUGH F15 CONTAINS "SMITH"
  12654.  
  12655.             If the database  has fifteen  fields per  record, then  this
  12656.             formula searches the entire record for the name "SMITH".
  12657.  
  12658.             F1:F3
  12659.  
  12660.             If  Fields 1, 2 and 3  each contain five characters long and
  12661.             contain "David",  "Sue   " and  "John "  respectively,   the
  12662.             result  is "DavidSue    John  " for  a  total length  of  15
  12663.             characters.
  12664.  
  12665.   ALSO SEE: NONE
  12666.  
  12667.  
  12668.   280  ADD ONLY
  12669.   ----------------------------------------------------------------------
  12670.  
  12671.  
  12672.   PURPOSE:  The ADD  ONLY statement  allows a formula  to be  calculated
  12673.             only  when  the record  is  first  being  entered  into  the
  12674.             database.  (The formula is  not recalculated when the record
  12675.             is edited.)
  12676.  
  12677.   SYNTAX:   formula add only
  12678.  
  12679.             formula = any valid formula.
  12680.  
  12681.   TYPE:          Statement
  12682.  
  12683.   USE IN:   DATABASE
  12684.  
  12685.   COMMENTS: The ADD ONLY statement is useful if you  only want a formula
  12686.             to be calculated  when the record is first  being added into
  12687.             the database.
  12688.  
  12689.             If the  ADD ONLY  formula refers to  another field  which is
  12690.             later changed, the formula is NOT recalculated.  (If the ADD
  12691.             ONLY statement is not used, the formula will be recalculated
  12692.             if the record is edited.)
  12693.  
  12694.   EXAMPLES: TODAY ADD ONLY
  12695.  
  12696.             This is  the most  common use  for the  ADD ONLY  statement.
  12697.             This field maintains  the date  the record  was first  added
  12698.             into the  database.   (If  the  date the  record  was  first
  12699.             created  and  the  date  the  record  is  last  updated  are
  12700.             required, use  two  formulas,  one with  ADD  ONLY  and  one
  12701.             without it.)
  12702.  
  12703.             MONTH+ DAY+ LEFT(MILTIME, 2)+ RIGHT(MILTIME, 2) ADD ONLY
  12704.  
  12705.             This formula can be used to produce a unique code every time
  12706.             a record is added into the database.  It combines the digits
  12707.             for the month, day and the hour and minutes of the time when
  12708.             the record  is added.  An example  for this formula might be
  12709.             12250400 which would be December 25 at 4:00 am.  
  12710.   ALSO SEE: NONE
  12711.  
  12712.  
  12713.                                                               AFTER  281
  12714.   ----------------------------------------------------------------------
  12715.  
  12716.  
  12717.   PURPOSE:  The  AFTER comparitor  is used  to  search for  records with
  12718.             dates that come after a certain date.
  12719.  
  12720.   SYNTAX:   date_field AFTER date_field
  12721.  
  12722.             date_field = constant date or a date field.
  12723.  
  12724.   TYPE:          Comparitor, Date fields only
  12725.  
  12726.   USE IN:   IF/THEN Formulas and Record Selection
  12727.  
  12728.   COMMENTS: You must  use the  BEFORE and  AFTER comparitors  when doing
  12729.             date range searches.  Date  fields cannot be searched  using
  12730.             the  "greater than" or  "less than" comparitors  because the
  12731.             YEAR portion  of the  date,  which is  at the  end, must  be
  12732.             looked at first.   (The AFTER comparitor  converts the dates
  12733.             into the YYYYMMDD format to determine the correct result.)
  12734.  
  12735.             Both dates must  be in the same  format as the default  date
  12736.             format.  
  12737.  
  12738.   EXAMPLES: Select all records where: F1 AFTER "04-15-90"
  12739.  
  12740.             This example finds all records where Field 1 is after  April
  12741.             15.
  12742.  
  12743.             Select all records where: F1 AFTER TODAY
  12744.  
  12745.             This example finds all  records where Field  1 is after  the
  12746.             current system date.
  12747.  
  12748.             Select all records where: 
  12749.                F1 AFTER "12-31-90" AND F1 BEFORE "01-01-92"
  12750.  
  12751.             This  example  finds  all records  where  Field  1 is  after
  12752.             January 1st and before December 31st.
  12753.  
  12754.   ALSO SEE: BEFORE, TODAY
  12755.  
  12756.  
  12757.   282  AGE
  12758.   ----------------------------------------------------------------------
  12759.  
  12760.  
  12761.   PURPOSE:  To calculate the number of days between two dates.
  12762.  
  12763.   SYNTAX:   age(date[, date])
  12764.  
  12765.             date = a date field or constant date.
  12766.  
  12767.   TYPE:          Function, numeric
  12768.  
  12769.   USE IN:   Any Formula
  12770.  
  12771.   COMMENTS: If the second date  is omitted, the  current system date  is
  12772.             used.  (See  the TODAY function for more  information on the
  12773.             system date.)
  12774.  
  12775.             The first  date must  chronologically be  before the  second
  12776.             date and they both must be in the default date format.
  12777.  
  12778.             The  AGE function  returns  the number  of days  between two
  12779.             dates.   To return  the number  of weeks,  months or  years,
  12780.             divide the  number of  days by 7,  30 and  365 respectively.
  12781.             For long time  spans, use 30.4375 for months  and 365.25 for
  12782.             years to obtain more precise results.  
  12783.  
  12784.             Since  File Express  ROUNDs  all  numeric  formulas  to  the
  12785.             accuracy  of the  field (the  number of  decimals), the  INT
  12786.             function should be  used with  all AGE  formulas to  prevent
  12787.             erroneous results.
  12788.  
  12789.   EXAMPLES: AGE(F1)
  12790.  
  12791.             If Field  1 is a  birthday, this formula returns  the age of
  12792.             the person in days.
  12793.  
  12794.             INT( AGE( F1) / 365.25)
  12795.  
  12796.             This returns the persons age in years instead of days.  
  12797.  
  12798.             AGE(F1, F2)
  12799.  
  12800.             Calculates the number of days between the first date and the
  12801.             second date.
  12802.  
  12803.             Select all records where: INT(AGE(F1,TODAY)/365.25) >= 18
  12804.  
  12805.             If Field 1  is a birthday, this example  selects all records
  12806.             where the person is 18 or older. 
  12807.  
  12808.   ALSO SEE: FUTUREDATE
  12809.  
  12810.  
  12811.                                                                 AND  283
  12812.   ----------------------------------------------------------------------
  12813.  
  12814.  
  12815.   PURPOSE:  The AND operator is used when making multiple comparisons to
  12816.             tell  File Express that all  comparisons must be true before
  12817.             considering the whole comparison true.
  12818.  
  12819.   SYNTAX:   comparison AND comparison [AND comparison ...]
  12820.  
  12821.             comparison = any valid comparison statement.
  12822.  
  12823.   TYPE:          Logical Operator, character, numeric
  12824.  
  12825.   USE IN:   IF/THEN Formulas and Record Selection
  12826.  
  12827.   COMMENTS: The AND operator is used when more than one comparison  must
  12828.             be true before the whole comparison is considered true.
  12829.  
  12830.             For more help on building valid comparisons, see the chapter
  12831.             titled "Finding Records".
  12832.  
  12833.             See the 'OR' keyword for more examples.
  12834.  
  12835.   EXAMPLES: Select all records where: 
  12836.                F1 AFTER "11-30-91" AND F1 BEFORE "01-01-92"
  12837.  
  12838.             This  example  finds  all  records  where  Field  1  is  any
  12839.             December, 1991 date.  
  12840.  
  12841.             Select   all   records  where:   F3="A"   AND   F8="WA"  AND
  12842.             F10="MARRIED"
  12843.  
  12844.             If Field 3  is a last name  field, Field 8 is a  state field
  12845.             and Field 10 is a status field, then this  example finds all
  12846.             records where a  married person with  a last name  beginning
  12847.             with "A" lives in Washington state.
  12848.  
  12849.   ALSO SEE: OR
  12850.  
  12851.  
  12852.   284  ASC
  12853.   ----------------------------------------------------------------------
  12854.  
  12855.  
  12856.   PURPOSE:  The ASC  function  returns  the  ASCII  value  for  a  given
  12857.             character.
  12858.  
  12859.   SYNTAX:   asc(text)
  12860.  
  12861.             text =  any ASCII character (including special symbols) or a
  12862.             field which contains an ASCII character or string.  The text
  12863.             character must be in quotes.
  12864.    
  12865.   TYPE:          Function, numeric
  12866.  
  12867.   USE IN:   Any Formula
  12868.  
  12869.   COMMENTS: For  a complete list  of characters and  their corresponding
  12870.             ASCII values, consult the Appendix.
  12871.  
  12872.             This function looks only  at the first  character of a  text
  12873.             string.  If a string is empty, a 0 is returned.
  12874.  
  12875.             This function is the opposite of the CHR function.
  12876.  
  12877.   EXAMPLES: ASC("A")
  12878.  
  12879.             Return the number 65.
  12880.  
  12881.             ASC("BANANA")
  12882.  
  12883.             Returns  the number 66.  (Remember, only the first character
  12884.             is being evaluated.)
  12885.  
  12886.             ASC("")
  12887.  
  12888.             Returns 0.
  12889.  
  12890.   ALSO SEE: CHR
  12891.  
  12892.  
  12893.                                                            .AVERAGE  285
  12894.   ----------------------------------------------------------------------
  12895.  
  12896.  
  12897.   PURPOSE:  The  .AVERAGE  function  provides a  numeric  average  for a
  12898.             specified field. 
  12899.  
  12900.   SYNTAX:   field.average
  12901.  
  12902.             field = any numeric field.
  12903.  
  12904.   TYPE:          Function, numeric
  12905.  
  12906.   USE IN:   Label Writer and Report Writer
  12907.  
  12908.   COMMENTS: The  .AVERAGE function divides the accumulative total of the
  12909.             field by the number of records  printed so far in the report
  12910.             (a running average).
  12911.  
  12912.             For more examples, see the chapter titled "Report Writer".
  12913.  
  12914.   EXAMPLES: F1.AVERAGE
  12915.  
  12916.             If  this formula is used in  the Detail Section of a Report,
  12917.             it returns a  running average for Field 1.   If this formula
  12918.             is used in the Total Section, it returns the ending average.
  12919.  
  12920.   ALSO SEE: .SUBAVERAGE
  12921.  
  12922.  
  12923.   286  BEFORE
  12924.   ----------------------------------------------------------------------
  12925.  
  12926.  
  12927.   PURPOSE:  The BEFORE comparitor is used to search for dates that  come
  12928.             before a certain date.
  12929.  
  12930.   SYNTAX:   date_field AFTER date_field
  12931.  
  12932.             date_field = constant date or a date field.
  12933.  
  12934.   TYPE:          Comparitor, date fields only
  12935.  
  12936.   USE IN:   IF/THEN Formulas and Record Selection
  12937.  
  12938.   COMMENTS: You must  use the  BEFORE and  AFTER comparitors  when doing
  12939.             date  range searches.   Date fields can't  be searched using
  12940.             the  "greater than" or  "less than" comparitors  because the
  12941.             YEAR portion  of the  date,  which is  at the  end, must  be
  12942.             looked at first.  (The  BEFORE comparitor converts the dates
  12943.             into the YYYYMMDD format to determine the correct result.)
  12944.  
  12945.             Both dates must  be in the same  format as the default  date
  12946.             format.  
  12947.  
  12948.   EXAMPLES: Select all records where: F1 BEFORE "04-15-90"
  12949.  
  12950.             This example finds all records where Field 1 is before April
  12951.             15.
  12952.  
  12953.             Select all records where: F1 BEFORE TODAY
  12954.  
  12955.             This example finds  all records where Field 1  is before the
  12956.             current system date.
  12957.  
  12958.             Select all records where: F1 AFTER "12-31-89" AND F1  BEFORE
  12959.             "01-01-91"
  12960.  
  12961.             This example finds  all records where Field 1  is both after
  12962.             December 31, 1989 and before January 1, 1991 (all of 1990).
  12963.  
  12964.   ALSO SEE: AFTER, TODAY
  12965.  
  12966.  
  12967.                                                           BLANKLINE  287
  12968.   ----------------------------------------------------------------------
  12969.  
  12970.  
  12971.  
  12972.  
  12973.   PURPOSE:  The BLANKLINE statement  forces a blank line in  a report or
  12974.             label.
  12975.  
  12976.   SYNTAX:   blankline
  12977.  
  12978.   TYPE:          Statement
  12979.  
  12980.   USE IN:   Label Writer and Report Writer
  12981.  
  12982.   COMMENTS: The BLANKLINE forces File Express to print a blankline.  
  12983.  
  12984.             This statement overrides the "Remove blank lines?" option on
  12985.             the Optional Specifications Screen.
  12986.  
  12987.             By using  the BLANKLINE  statement in  conjunction with  the
  12988.             "Remove blank  lines?" option,  blank lines  can be  removed
  12989.             from all but the desired locations on reports and labels.
  12990.  
  12991.   EXAMPLES: BLANKLINE
  12992.  
  12993.             This forces a single blank line.
  12994.  
  12995.             IF LEFT(F1,1) <> LEFT(F1.PREV,1) THEN BLANKLINE ELSE NOPRINT
  12996.  
  12997.             If  the database is sorted alphabetically, this formula will
  12998.             force a        BLANKLINE every  time the first  character in
  12999.             field 1 changes.  (In other  words, all a's will be  grouped
  13000.             with a blankline then all b's then all c's etc.
  13001.  
  13002.   ALSO SEE: NONE
  13003.  
  13004.  
  13005.   288  CENTER
  13006.   ----------------------------------------------------------------------
  13007.  
  13008.  
  13009.  
  13010.   PURPOSE:  The CENTER function is  used to center  text or fields  when
  13011.             printing Reports or Labels.
  13012.  
  13013.   SYNTAX:   center(text [ ,length])
  13014.  
  13015.             text = a field or character string to center.
  13016.  
  13017.             length (optional) = the number of spaces you want your  text
  13018.             centered within.
  13019.  
  13020.   TYPE:          Function, character
  13021.  
  13022.   USE IN:   Label Writer and Report Writer
  13023.  
  13024.   COMMENTS: The CENTER  function is  commonly used  to  center text  for
  13025.             headings.
  13026.  
  13027.             If the  second parameter is  omitted, the  text is  centered
  13028.             within the defined field length.
  13029.  
  13030.             For centering  fields on  reports and  labels, the  CENTERED
  13031.             statement can also be used.
  13032.  
  13033.   EXAMPLES: CENTER("Monthly Report",60)
  13034.  
  13035.             This  example  centers the  phrase  "Monthly Report"  within
  13036.             sixty spaces.
  13037.  
  13038.             CENTER(F1)
  13039.  
  13040.             This example centers Field 1 within the defined field length
  13041.             of Field 1.
  13042.  
  13043.   ALSO SEE: CENTERED, LJUST and RJUST
  13044.  
  13045.  
  13046.                                                            CENTERED  289
  13047.   ----------------------------------------------------------------------
  13048.  
  13049.   PURPOSE:  The  CENTERED  statement  is used  to  center  a field  when
  13050.             printing Reports or Labels.
  13051.  
  13052.   SYNTAX:   field centered
  13053.  
  13054.             field = any field or text formula.
  13055.  
  13056.   TYPE:          Statement
  13057.  
  13058.   USE IN:   Label Writer and Report Writer
  13059.  
  13060.   COMMENTS: The field  or text  is centered within  the field's  defined
  13061.             field length.
  13062.  
  13063.             For  centering a field  within the database,  see the CENTER
  13064.             function.
  13065.  
  13066.   EXAMPLES: F1 CENTERED
  13067.  
  13068.             This example centers Field 1 within the defined field length
  13069.             of Field 1.
  13070.  
  13071.             F1 & F2 CENTERED
  13072.  
  13073.             This formula  first combines  Field 1 and  Field 2  with one
  13074.             space between them, and  then centers the result within  the
  13075.             combined lengths of Field 1 and Field 2.
  13076.  
  13077.   ALSO SEE: CENTER, LEFT JUSTIFIED, LJUST, RIGHT JUSTIFIED and RJUST
  13078.  
  13079.  
  13080.   290  CHR
  13081.   ----------------------------------------------------------------------
  13082.  
  13083.  
  13084.  
  13085.   PURPOSE:  The  CHR function  converts a  number  to the  corresponding
  13086.             ASCII character.
  13087.  
  13088.   SYNTAX:   chr(number)
  13089.  
  13090.             number = a number between 0 and 255.
  13091.  
  13092.   TYPE:          Function, text
  13093.  
  13094.   USE IN:   Any Formula
  13095.  
  13096.   COMMENTS: This function can be used to send a character to the printer
  13097.             which cannot be typed at the keyboard.
  13098.  
  13099.             Common examples include  embedding printer codes to  send to
  13100.             your  printer or to  embed special characters  when creating
  13101.             mail merge files.
  13102.  
  13103.             For a list  of all ASCII characters and  their corresponding
  13104.             ASCII values, see Appendix B.
  13105.  
  13106.   EXAMPLES: CHR(27)
  13107.  
  13108.             Returns the ASCII character 27 (or the ESCAPE character).
  13109.  
  13110.             CHR(27)+chr(65)
  13111.  
  13112.             Returns  the ESCAPE  character plus  the  letter 'A'.   (For
  13113.             EPSON printers, this is the code to turn on underlining.)
  13114.  
  13115.             CHR(27)+"A"
  13116.  
  13117.             This produces the same results as the previous example.
  13118.  
  13119.   ALSO SEE: ASC
  13120.  
  13121.  
  13122.                                                              COMMAS  291
  13123.   ----------------------------------------------------------------------
  13124.  
  13125.  
  13126.    
  13127.   PURPOSE:  The  COMMAS  statement  inserts  commas  into the  billions,
  13128.             millions and thousands places in a number.
  13129.  
  13130.   SYNTAX:   field [with] commas
  13131.  
  13132.             field = a numeric field or formula.
  13133.  
  13134.   TYPE:          Statement
  13135.  
  13136.   USE IN:   Label Writer and Report Writer
  13137.  
  13138.   COMMENTS: File   Express  defaults   to  inserting  commas   into  the
  13139.             appropriate  places when printing  numbers.  If  the default
  13140.             has been  changed using the Setup program,  commas may still
  13141.             be inserted on a field by field basis using this  statement.
  13142.             (Because commas cannot be entered when entering numbers into
  13143.             the  database,  this  option can  be  used  to place  commas
  13144.             correctly on printouts.
  13145.  
  13146.   EXAMPLES: F5 WITH COMMAS
  13147.  
  13148.             This example inserts  commas into the appropriate  places in
  13149.             the numbers  in Field  5.   Example:   "4532" is printed  as
  13150.             "4,532".
  13151.  
  13152.   ALSO SEE: NO COMMAS
  13153.  
  13154.  
  13155.   292  Comparitors
  13156.   ----------------------------------------------------------------------
  13157.  
  13158.  
  13159.  
  13160.   PURPOSE:  Use these keywords to compare fields.
  13161.  
  13162.   SYNTAX:   field Comparitor field
  13163.  
  13164.             field  = any  valid field,  constant,  formula, function  or
  13165.             text.
  13166.  
  13167.   TYPE:          Comparitor, character, numeric
  13168.  
  13169.   USE IN:   IF/THEN Formulas and Record Selection
  13170.  
  13171.   COMMENTS: Here is a list  of the common  Comparitors (for the  special
  13172.             comparitors,  see   the  functions  listed   under  "Related
  13173.             Functions".)
  13174.  
  13175.             Comparitor     Alternate      Description
  13176.             ----------     ---------      -----------
  13177.                =      EQ        Equal
  13178.                       IS        Equal
  13179.                       ARE       Equal
  13180.                       EQUAL     Equal
  13181.                >      GT        Greater than
  13182.                <      LT        Less than
  13183.                >=          GE        Great than or equal
  13184.                <=          LE        Less than or equal
  13185.                <>          NE        Not equal
  13186.  
  13187.             NOTE: Most of the above examples may be proceeded by the NOT
  13188.             keyword to negate the equation.  
  13189.  
  13190.   EXAMPLES: Select all records where: F7 = "WA"
  13191.  
  13192.             This example selects  all records where Field 7  is equal to
  13193.             "WA".
  13194.  
  13195.             Select all records where: F7 IS NOT EQUAL TO "WA"
  13196.  
  13197.             This example selects all records where Field 7 is not  equal
  13198.             to "WA".  (The formula: F7 NE "WA" is the same.)
  13199.  
  13200.   ALSO SEE: AFTER, BEFORE, CONTAINS, EXACTLY and SOUNDS LIKE
  13201.  
  13202.  
  13203.                                                            CONTAINS  293
  13204.   ----------------------------------------------------------------------
  13205.  
  13206.  
  13207.  
  13208.   PURPOSE:  The  CONTAINS comparitor is used to search for text embedded
  13209.             within a field.
  13210.  
  13211.   SYNTAX:   field CONTAINS field
  13212.  
  13213.             field = any text field or constant text.
  13214.  
  13215.   TYPE:          Comparitor, character
  13216.  
  13217.   USE IN:   IF/THEN Formulas and Record Selection
  13218.  
  13219.   COMMENTS: A search using  EQUALS only finds field  contents that begin
  13220.             with the search string.   To find  text anywhere within  the
  13221.             field, use CONTAINS.
  13222.  
  13223.             CONTAINS is  useful when searching  a comment field  (or any
  13224.             other  text  field) when  the  possible match  may  be found
  13225.             anywhere within the field.
  13226.  
  13227.   EXAMPLES: Select all records where: F10 CONTAINS "manager"
  13228.  
  13229.             This  example searches Field  10 throughout looking  for the
  13230.             word "manager".
  13231.  
  13232.             Select all records where: F1:F3 CONTAINS "cat"
  13233.  
  13234.             This example  searches Field 1  through Field 3  looking for
  13235.             the  word  "cat".   Valid  matches  might  include "cattle",
  13236.             "vacate",  "dogcatcher",  "communications",  "photocatalyst"
  13237.             and, of course, "cat". 
  13238.  
  13239.   ALSO SEE: INSTR
  13240.  
  13241.  
  13242.   294  .COUNT
  13243.   ----------------------------------------------------------------------
  13244.  
  13245.  
  13246.  
  13247.   PURPOSE:  The .COUNT function  provides a record count of  the records
  13248.             printed.
  13249.  
  13250.   SYNTAX:   field.count
  13251.  
  13252.             field = any field.
  13253.  
  13254.   TYPE:          Function, numeric
  13255.  
  13256.   USE IN:   Label Writer and Report Writer
  13257.  
  13258.   COMMENTS: The COUNT  function counts  the number  of records  printed.
  13259.             The contents of the  field being counted  do not affect  the
  13260.             count.   (i.e.  numbers within  a  field do  not affect  the
  13261.             count.)
  13262.  
  13263.             This  function returns  the same  number  regardless of  the
  13264.             section of the Report it is used in.
  13265.  
  13266.             See the .NBCOUNT function to exclude records where the field
  13267.             being counted is blank.
  13268.  
  13269.             Also  see  the  chapter  on  the  "Report  Writer"  for more
  13270.             examples.
  13271.  
  13272.   EXAMPLES: F1.COUNT
  13273.  
  13274.             If this formula is used in  the Detail Section of a  Report,
  13275.             it returns  the running  count of the  records printed.   If
  13276.             this formula is used  in the Total  Section, it returns  the
  13277.             total number of records printed.
  13278.  
  13279.   ALSO SEE: .NBCOUNT, .NBSUBCOUNT and .SUBCOUNT
  13280.  
  13281.  
  13282.                                                                 DAY  295
  13283.   ----------------------------------------------------------------------
  13284.  
  13285.  
  13286.  
  13287.   PURPOSE:  The DAY function returns the day number.
  13288.  
  13289.   SYNTAX:   day[(date)]
  13290.  
  13291.             date =  any  valid  date  field  or  constant  date  in  the
  13292.             currently defined date format.
  13293.  
  13294.   TYPE:          Function, numeric
  13295.  
  13296.   USE IN:   Any Formula
  13297.  
  13298.   COMMENTS: If the date  is omitted, this function returns  the day from
  13299.             the  current system date.   (For information  on the current
  13300.             system date, see the TODAY function.)
  13301.  
  13302.   EXAMPLES: DAY
  13303.  
  13304.             If  the current  date  is  "06-07-90",  then  this  function
  13305.             returns "7".
  13306.  
  13307.             DAY(F1)
  13308.  
  13309.             If "04-16-90" is the date in Field 1, this function  returns
  13310.             "16".
  13311.  
  13312.             DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
  13313.  
  13314.             If  Field 1 has  the date "04-16-90",  this function returns
  13315.             "Monday, April 16, 1990".
  13316.  
  13317.   ALSO SEE: DAYABBV, DAYNAME, FORMATDATE, MONTHNAME, MONTHABBV, and YEAR
  13318.  
  13319.  
  13320.   296  DAYABBV
  13321.   ----------------------------------------------------------------------
  13322.  
  13323.  
  13324.  
  13325.   PURPOSE:  The DAYABBV function returns the abbreviated day name.
  13326.  
  13327.   SYNTAX:   dayabbv([date])
  13328.  
  13329.             date =  any  valid  date  field  or  constant  date  in  the
  13330.             currently defined date format.
  13331.  
  13332.   TYPE:          Function, character
  13333.  
  13334.   USE IN:   Any Formula
  13335.  
  13336.   COMMENTS: If  the  date is  omitted,  this  function returns  the  day
  13337.             abbreviation for the current date.  (For  information on the
  13338.             current date, see the TODAY function.)
  13339.  
  13340.             The  abbreviation is the  standard first three  letters with
  13341.             the first letter  capitalized and a period at the end.  (See
  13342.             examples.)  To convert  all the letters  to upper case,  use
  13343.             DAYABBV with the UPPER function. 
  13344.  
  13345.   EXAMPLES: DAYABBV
  13346.  
  13347.             If  the  current  day is  WEDNESDAY,  this  function returns
  13348.             "Wed.".
  13349.  
  13350.             DAYABBV(F1)
  13351.  
  13352.             If "04-16-90" is the date in Field 1, this function  returns
  13353.             "Mon.".
  13354.  
  13355.             UPPER(DAYABBV("04-16-90"))
  13356.  
  13357.             This example returns "MON.".
  13358.  
  13359.             DAYABBV(F1) + "," & MONTHABBV(F1) & DAY(F1) + "," & YEAR(F1)
  13360.  
  13361.             If  Field 1 has  the date "04-16-90",  this function returns
  13362.             "Mon., Apr. 16, 1990"
  13363.  
  13364.   ALSO SEE: DAYNAME, FORMATDATE, MONTHNAME, MONTHABBV, YEAR
  13365.  
  13366.  
  13367.                                                             DAYNAME  297
  13368.   ----------------------------------------------------------------------
  13369.  
  13370.  
  13371.  
  13372.   PURPOSE:  The DAYNAME function returns the spelled out day name.
  13373.  
  13374.   SYNTAX:   dayname[(date)]
  13375.  
  13376.             date =  any  valid  date  field  or  constant  date  in  the
  13377.             currently defined date format.
  13378.  
  13379.   TYPE:          Function, character
  13380.  
  13381.   USE IN:   Any Formula
  13382.  
  13383.   COMMENTS: If the  date is omitted,  this function returns  the spelled
  13384.             out day name for the current system date.  (For  information
  13385.             on the current system date, see the TODAY function.)
  13386.  
  13387.             The DAYNAME  function returns  the day  name with  the first
  13388.             letter capitalized and the rest in lower case.  (For the day
  13389.             abbreviation, see the DAYABBV function.)
  13390.  
  13391.   EXAMPLES: DAYNAME
  13392.  
  13393.             If  the  current  day is  WEDNESDAY,  this  function returns
  13394.             "Wednesday".
  13395.  
  13396.             DAYNAME(F1)
  13397.  
  13398.             If "04-16-90" is the date in Field 1, this function  returns
  13399.             "Monday".
  13400.  
  13401.             UPPER(DAYNAME("04-16-90"))
  13402.  
  13403.             This formula returns "MONDAY".
  13404.  
  13405.             DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
  13406.  
  13407.             If Field  1 has the  date "04-16-90", this  function returns
  13408.             "Monday, April 16, 1990".
  13409.  
  13410.   ALSO SEE: DAY, DAYABBV, FORMATDATE, MONTHABBV, MONTHNAME and YEAR
  13411.  
  13412.  
  13413.   298  DOLLAR SIGN  ($)
  13414.   ----------------------------------------------------------------------
  13415.  
  13416.  
  13417.  
  13418.   PURPOSE:  The DOLLAR SIGN  statement adds a floating dollar  sign to a
  13419.             number.
  13420.  
  13421.   SYNTAX:   field [with] dollar sign 
  13422.  
  13423.             field = a numeric field or formula.
  13424.  
  13425.   TYPE:          Statement
  13426.  
  13427.   USE IN:   Report Writer
  13428.  
  13429.   COMMENTS: The DOLLAR SIGN  adds a  dollar sign to  the beginning of  a
  13430.             number.
  13431.  
  13432.             The '$' symbol  may be used  in place of  the "DOLLAR  SIGN"
  13433.             statement.
  13434.  
  13435.   EXAMPLES: F5 WITH DOLLAR SIGN
  13436.  
  13437.             This example  adds a dollar  sign to the output  of Field 5.
  13438.             Example:  if  it originally had the value  "12.34", the text
  13439.             printed is "$12.34".
  13440.  
  13441.             F5 WITH $
  13442.  
  13443.             This is the same to the previous example.
  13444.  
  13445.   ALSO SEE: MONEY SIGN
  13446.  
  13447.  
  13448.                                                             EXACTLY  299
  13449.   ----------------------------------------------------------------------
  13450.  
  13451.  
  13452.  
  13453.   PURPOSE:  The "EXACTLY" comparitor  is used to force a  case sensitive
  13454.             comparison.
  13455.  
  13456.   SYNTAX:   field = EXACTLY field
  13457.  
  13458.             field = any text field or constant text.
  13459.  
  13460.   TYPE:          Comparitor, character
  13461.  
  13462.   USE IN:   IF/THEN Formulas and Record Selection
  13463.  
  13464.   COMMENTS: Use the EXACTLY keyword when  making comparisons if the case
  13465.             is important.
  13466.  
  13467.             The default  for File  Express is  to ignore  the case  when
  13468.             making searches.
  13469.  
  13470.   EXAMPLES: Select all records where: F1 IS EXACTLY "Smith"
  13471.  
  13472.             This example  finds all  matches where Field  1 is  equal to
  13473.             "Smith";  "SMITH"  and  "smith"   are  not  valid   matches.
  13474.             Constant text must be in quotes.
  13475.  
  13476.   ALSO SEE: NONE
  13477.  
  13478.  
  13479.   300  FIRSTLINE
  13480.   ----------------------------------------------------------------------
  13481.  
  13482.  
  13483.  
  13484.   PURPOSE:  The  FIRSTLINE function  is used  to  see if  the report  is
  13485.             printing the first Detail line on the current page.
  13486.  
  13487.   SYNTAX:   firstline
  13488.  
  13489.   TYPE:          Function, true or false
  13490.  
  13491.   USE IN:   Report Writer
  13492.  
  13493.   COMMENTS: The  FIRSTLINE  function  returns  a  true  or  false  value
  13494.             depending  on whether or not  the Report Writer is currently
  13495.             printing the  first detail  line at the  top of  the current
  13496.             page.
  13497.  
  13498.             Since the FIRSTLINE keyword represents the first Detail line
  13499.             of a  page,  it  is not  affected  by the  contents  of  the
  13500.             Headings or Titles Section.  
  13501.  
  13502.   EXAMPLES: IF FIRSTLINE AND F1=F1.PREV THEN F1 & "(Continued)"
  13503.  
  13504.             This formula prints Field 1 and the text "(Continued)" if  a
  13505.             new  page is  started and  Field  1 is  continuing from  the
  13506.             previous page.
  13507.  
  13508.   ALSO SEE: LINE
  13509.  
  13510.  
  13511.                                                          FORMATDATE  301
  13512.   ----------------------------------------------------------------------
  13513.  
  13514.  
  13515.  
  13516.   PURPOSE:  The  FORMATDATE  function  converts a  date  in  the default
  13517.             format to one of 93 different formats.
  13518.  
  13519.   SYNTAX:   formatdate(date, format_number)
  13520.  
  13521.             date = any date field or constant date.
  13522.  
  13523.             format_number = any number from 1 to 93.  See Appendix E for
  13524.             a list of all the format options.
  13525.  
  13526.  
  13527.   TYPE:          Function, character
  13528.  
  13529.   USE IN:   Report Writer, Label Writer
  13530.  
  13531.   COMMENTS: The FORMATDATE function  is used to convert a  date from the
  13532.             current default  date format  (either mm-dd-yy,  mm-dd-yyyy,
  13533.             dd-mm-yy,  or dd-mm-yyyy), to one of  the 93 formats offered
  13534.             by File Express.  See Appendix E for a complete list  of all
  13535.             the date formats offered.
  13536.  
  13537.  
  13538.   EXAMPLES: FORMATDATE("12-25-89", 15)
  13539.  
  13540.             This example converts the date to: "December 25, 1989"
  13541.  
  13542.             FORMATDATE(TODAY, 40)
  13543.  
  13544.             If  today's  date  is  "06-18-90",  this  function  returns:
  13545.             "Monday 18 June, 1990"
  13546.  
  13547.   ALSO SEE: DAYNAME, DAYABBV, DAY, MONTHNAME, MONTHABBV, MONTH, YEAR
  13548.  
  13549.  
  13550.   302  Functions, Math
  13551.   ----------------------------------------------------------------------
  13552.  
  13553.  
  13554.  
  13555.   PURPOSE:  To perform higher level math calculations.
  13556.  
  13557.   SYNTAX:   Math_Function(expression)
  13558.  
  13559.             expression = any numeric constant, result, or field.
  13560.  
  13561.   TYPE:          Function, numeric
  13562.  
  13563.   USE IN:   Any Formula
  13564.  
  13565.   COMMENTS: The following is a complete list of the functions which make
  13566.             up Math Functions:
  13567.  
  13568.             ABS(expression)          Absolute Value
  13569.             ATN(expression)     Arctangent
  13570.             COS(expression)     Cosine
  13571.             EXP(expression)     Exponent
  13572.             INT(expression)          Integer
  13573.             LOG(expression)     Natural Log
  13574.             SIN(expression)          Sine
  13575.             SQR(expression)     Square Root
  13576.             TAN(expression)     Tangent
  13577.  
  13578.             For  information   on  general  math   operators,  see  Math
  13579.             Operators.
  13580.  
  13581.             For  complete information  on  the uses  and rules  of these
  13582.             functions, consult a math reference manual.
  13583.  
  13584.   EXAMPLES: INT(F1)
  13585.  
  13586.             This example takes  the integer of Field  1.  If Field  1 is
  13587.             10.53,  the result  is 10.   (Note:    the decimal  value is
  13588.             dropped, not rounded.)
  13589.  
  13590.             SQR(F1)
  13591.  
  13592.             If Field 1 contains a value of 144, the result is 12.
  13593.  
  13594.   ALSO SEE: Math Operators, RANDOM, ROUND, SUM and VALUE
  13595.  
  13596.  
  13597.                                                          FUTUREDATE  303
  13598.   ----------------------------------------------------------------------
  13599.  
  13600.  
  13601.  
  13602.  
  13603.   PURPOSE:  The FUTUREDATE function calculates a date in the future.
  13604.  
  13605.   SYNTAX:   futuredate(date, days_in_future)
  13606.  
  13607.             date = any date field or constant date.
  13608.  
  13609.             days_in_future = any numeric field or constant number.
  13610.  
  13611.   TYPE:          Function, character
  13612.  
  13613.   USE IN:   Any formula
  13614.  
  13615.   COMMENTS: The  FUTUREDATE works on a  days basis.  To add  a week to a
  13616.             date, add 7  days; to add two  weeks, add 14 days;  to add a
  13617.             year, add 365 days (or 365.25 days for long term dates).
  13618.  
  13619.             To determine the  number of days between two  dates, use the
  13620.             AGE function.
  13621.  
  13622.   EXAMPLES: FUTUREDATE(F1,14)
  13623.  
  13624.             This example  adds two  weeks (or  14 days)  to the date  in
  13625.             Field 1.
  13626.  
  13627.             FUTUREDATE(F1,365)
  13628.  
  13629.             This example adds a year (provided it is not a leap year) to
  13630.             the date in Field 1.
  13631.  
  13632.             FUTUREDATE(F1,F5)
  13633.  
  13634.             This formula adds  the number of days in Field 5 to the date
  13635.             in Field 1.
  13636.  
  13637.   ALSO SEE: AGE
  13638.  
  13639.  
  13640.   304  GRAPH
  13641.   ----------------------------------------------------------------------
  13642.  
  13643.  
  13644.  
  13645.   PURPOSE:  The GRAPH function produces a simple horizontal graph.
  13646.  
  13647.   SYNTAX:   graph(field_to_graph, scaling_factor [ , shading_factor])
  13648.  
  13649.             field_to_graph = any numeric field, function or constant 
  13650.  
  13651.             scaling_factor = numeric field or constant
  13652.  
  13653.             shading_factor = numeric field or constant
  13654.  
  13655.   TYPE:          Function, character
  13656.  
  13657.   USE IN:   Report Writer
  13658.  
  13659.   COMMENTS: The shading  value can  be from  1 to  4.   A 1  is a  solid
  13660.             character and a 4 is the lightest.  If the shading  value is
  13661.             omitted, a solid character is printed.  (Any value over 4 or
  13662.             less than 1 also produces a solid character.)
  13663.  
  13664.             The scaling factor is divided into the value to be  graphed.
  13665.             This is useful to scale down large numbers.
  13666.  
  13667.             This function only works with printers which support the IBM
  13668.             Graphics  Character Set  #2.   If  strange characters  print
  13669.             instead of graphic characters, then  your printer is not set
  13670.             to  print  IBM Graphics  Character  Set #2.    (Consult your
  13671.             printer manual or your printer company.)
  13672.  
  13673.   EXAMPLES: GRAPH(F1,10)
  13674.  
  13675.             This example graphs the value of Field 1 after  it is scaled
  13676.             down by ten.
  13677.  
  13678.             GRAPH(F1,10,4)
  13679.  
  13680.             This example  produces the same  result as  in the  previous
  13681.             example but in the lightest possible shading.
  13682.  
  13683.             GRAPH(F1,F2)+GRAPH(F5,F6,4)
  13684.  
  13685.             This example produces two  graphs next to  each other.   The
  13686.             result is something like a stacked graph except it is laying
  13687.             sideways.  (Note: in this example, the '+' is being used  to
  13688.             combine the two text fields.)
  13689.  
  13690.   ALSO SEE: REPEAT and SPACE
  13691.  
  13692.  
  13693.                                                               INSTR  305
  13694.   ----------------------------------------------------------------------
  13695.  
  13696.  
  13697.  
  13698.   PURPOSE:  The  INSTR function returns the character position of a text
  13699.             string within another text string.
  13700.  
  13701.   SYNTAX:   instr(character_field, text_to_search_for[ ,direction])
  13702.  
  13703.             character_field = a character field which is to be searched.
  13704.  
  13705.             text_to_search_for = the text string which you are searching
  13706.             for.
  13707.  
  13708.             direction (optional) = if direction is 0, the search is done
  13709.             from  left to right.  If direction  is any other number, the
  13710.             search is done from right to left.  If direction is omitted,
  13711.             the search is done from left to right.
  13712.  
  13713.   TYPE:          Function, numeric
  13714.  
  13715.   USE IN:   Any Formula
  13716.  
  13717.   COMMENTS: When searching for a match, this function starts at the left
  13718.             and moves to  the right.  It  stops when it finds  the first
  13719.             match.    If  the  direction option  is  used,  File Express
  13720.             searches from  right to  left.  In  either case,  the number
  13721.             returned is the character position counted from the left end
  13722.             of the string.   If no match  is found, the result  is zero.
  13723.             See the LEFT and MID functions for more examples.
  13724.  
  13725.   EXAMPLES: INSTR(F10,"-")
  13726.  
  13727.             If Field 10 is "788-0932", this formula returns the value 4.
  13728.  
  13729.             INSTR(F10,"8",1)
  13730.  
  13731.             Using  the  phone  number from  the  previous  example, this
  13732.             example searches from right to left and returns the value of
  13733.             3,  which is the  position of the first  "8" found from that
  13734.             direction.
  13735.  
  13736.             LEFT(F1,INSTR(F1,","))
  13737.  
  13738.             Since the LEFT function extracts the left-most characters of
  13739.             a text string.  This formula will extract all the characters
  13740.             up to and including  the first comma.   (The INSTR  function
  13741.             provides the character position  for the first comma.   This
  13742.             example could be useful in situations where a last and first
  13743.             name are in the same field with a comma separating them.)
  13744.  
  13745.   ALSO SEE: CONTAINS and REPLACE
  13746.  
  13747.  
  13748.   306  LEFT
  13749.   ----------------------------------------------------------------------
  13750.  
  13751.  
  13752.  
  13753.   PURPOSE:  The  LEFT function is used to extract  the left portion of a
  13754.             text field.
  13755.  
  13756.   SYNTAX:   LEFT(text_field , number_of_characters_to_extract)
  13757.  
  13758.             text_field  =  the  character  field  you  want  to  extract
  13759.             characters from.
  13760.  
  13761.             number_of_characters_to_extract =  the number  of characters
  13762.             to extract starting from  the left.   This may be a  number,
  13763.             numeric field or numeric function.
  13764.  
  13765.   TYPE:          Function, character
  13766.  
  13767.   USE IN:   Any Formula
  13768.  
  13769.   COMMENTS: The result of  this function can be  used by itself or  in a
  13770.             formula.
  13771.  
  13772.   EXAMPLES: LEFT(F8,2)
  13773.  
  13774.             If Field 8 is "98007", then this formula returns "98".
  13775.  
  13776.             Select all records where: LEFT(F8,2) > 58
  13777.  
  13778.             If Field 8 contains zip codes, this formula returns all  zip
  13779.             codes which start with "59" or higher.
  13780.  
  13781.             LEFT(F2,LENGTH(F2)-4)
  13782.  
  13783.             If this is used in a Search and Replace  formula, the affect
  13784.             is the  same  as removing  the  last four  characters.    By
  13785.             letting  File Express  calculate the  length  of each  field
  13786.             entry, this formula works with fields of varying lengths.
  13787.  
  13788.             LEFT(F2,INSTR(F2," ")-1)
  13789.  
  13790.             This  formula  returns all  the  characters up  to,  but not
  13791.             including, the first  space character.  This  is useful when
  13792.             extracting  a first name  from a  field which  contains both
  13793.             first name and  last name.   Example:  If  Field 2 is  "John
  13794.             Smith", this  formula returns "John".  (See MID function for
  13795.             more examples.)
  13796.  
  13797.   ALSO SEE: MID, REPLACE and RIGHT
  13798.  
  13799.  
  13800.                                                 LEFT JUSTIFIED (LJ)  307
  13801.   ----------------------------------------------------------------------
  13802.  
  13803.  
  13804.  
  13805.   PURPOSE:  The  LEFT JUSTIFIED keyword  is used to  left justify fields
  13806.             when printing through the Report Writer and Label Writer.
  13807.  
  13808.   SYNTAX:   field left justified
  13809.  
  13810.             field = any field or constant value.
  13811.  
  13812.   TYPE:          Statement
  13813.  
  13814.   USE IN:   Label Writer and Report Writer
  13815.  
  13816.   COMMENTS: The  field or  constant  is left  justified  to the  field's
  13817.             defined field length.
  13818.  
  13819.             To  left  justify  text within  a  database,  see  the LJUST
  13820.             function.
  13821.  
  13822.             Since  numeric fields  are  normally  right justified,  this
  13823.             keyword may be used to override this default.
  13824.  
  13825.   EXAMPLES: F1 LEFT JUSTIFIED
  13826.  
  13827.             This  example left  justifies the contents  in Field  1 when
  13828.             printing.
  13829.  
  13830.             F1 LJ
  13831.  
  13832.             This  example produces  the  same  output  as  the  previous
  13833.             example.
  13834.  
  13835.             F1.TOTAL LJ
  13836.  
  13837.             This formula left justifies the running total of Field 1.
  13838.  
  13839.   ALSO SEE: CENTER, CENTERED, RIGHT JUSTIFIED, LJUST and RJUST
  13840.  
  13841.  
  13842.   308  LENGTH (LEN)
  13843.   ----------------------------------------------------------------------
  13844.  
  13845.  
  13846.  
  13847.   PURPOSE:  The LENGTH function returns the length of a text string.
  13848.  
  13849.   SYNTAX:   length(text)
  13850.  
  13851.             text = any character field.
  13852.  
  13853.   TYPE:          Function, numeric
  13854.  
  13855.   USE IN:   Record Selection and Search and Replace
  13856.  
  13857.   COMMENTS: This function returns  the length of a character field after
  13858.             removing leading and trailing  spaces.  It  can be used  any
  13859.             place a numeric value is required.
  13860.  
  13861.   EXAMPLES: LEN(F1)
  13862.  
  13863.             Returns the length of Field 1.
  13864.  
  13865.             Select all records where: LENGTH(F10) > 5
  13866.  
  13867.             This example  selects all  records where  Field 10  has more
  13868.             than five characters.  
  13869.  
  13870.             LEFT(F1,LEN(F1)-4)
  13871.  
  13872.             This formula returns all  but the last four  characters from
  13873.             Field 1.  (See the LEFT function for more information.)  
  13874.  
  13875.   ALSO SEE: NONE
  13876.  
  13877.  
  13878.                                                                LINE  309
  13879.   ----------------------------------------------------------------------
  13880.  
  13881.  
  13882.  
  13883.   PURPOSE:  The  LINE function  returns the  current  line on  which the
  13884.             report or label writer is printing.
  13885.  
  13886.   SYNTAX:   line
  13887.  
  13888.   TYPE:          Function, numeric
  13889.  
  13890.   USE IN:   Label Writer and Report Writer
  13891.  
  13892.   COMMENTS: If  the LINE  function is  used  by itself,  it returns  the
  13893.             current line number  on which the Report Writer is printing.
  13894.             (Line 1 is the  first line to print  after the top  margin.)
  13895.             This is useful when initially designing a report.  By  using
  13896.             this keyword in a formula, there is no  guessing as to which
  13897.             line  is   being  printed.    After  the  line  numbers  are
  13898.             established, this formula can be deleted.
  13899.  
  13900.             The LINE keyword may also be used in an IF/THEN formula.
  13901.  
  13902.   EXAMPLES: LINE
  13903.  
  13904.             This example returns the current line number  of the report.
  13905.  
  13906.  
  13907.             IF (LINE MOD 10) = 0  THEN LINE
  13908.  
  13909.             This example prints the line number on every tenth line.
  13910.  
  13911.   ALSO SEE: FIRSTLINE
  13912.  
  13913.  
  13914.   310  LJUST 
  13915.   ----------------------------------------------------------------------
  13916.  
  13917.  
  13918.  
  13919.   PURPOSE:  The LJUST function left justifies a field or text string.
  13920.  
  13921.   SYNTAX:   ljust(field_to_justify [ ,number])
  13922.  
  13923.             field_to_justify = the field or character string to be  left
  13924.             justified.
  13925.  
  13926.             number (optional) = the number of characters to left justify
  13927.             within.
  13928.  
  13929.   TYPE:          Function, character
  13930.  
  13931.   USE IN:   Label Writer, Report Writer and  Search and Replace
  13932.  
  13933.   COMMENTS: If the number is omitted, the text is left justified  to the
  13934.             fields' defined length.
  13935.  
  13936.             Blank spaces are  used to pad the output  to the appropriate
  13937.             number.
  13938.  
  13939.             Since  numeric  fields  are normally  right  justified, this
  13940.             function may be used to left justify them.
  13941.  
  13942.   EXAMPLES: All  of these  examples left  justify the field  contents or
  13943.             text.
  13944.  
  13945.             LJUST("Hello",30)
  13946.  
  13947.             This example returns "Hello                         ".
  13948.  
  13949.             LJUST(F1,10)
  13950.  
  13951.             This example pads Field 1 to ten characters.
  13952.  
  13953.             LJUST(F1)
  13954.  
  13955.             This example pads Field 1 to its defined length.
  13956.  
  13957.             LJ(F1)
  13958.  
  13959.             This is the same as the previous example.
  13960.  
  13961.   ALSO SEE: CENTER, RJUST
  13962.  
  13963.  
  13964.                                                              LOOKUP  311
  13965.   ----------------------------------------------------------------------
  13966.  
  13967.  
  13968.  
  13969.   PURPOSE:  The LOOKUP function  looks into another database  to extract
  13970.             information.
  13971.  
  13972.   SYNTAX:   lookup(database_name,                       field_to_search,
  13973.             [>][<]search_criteria, field_to_return)
  13974.  
  13975.             database_name  = the  name of  the database  to search  (may
  13976.             include  drive  and path).   The  database_name must  be the
  13977.             typed out name of the database.   It cannot be a field  name
  13978.             or formula containing the name.
  13979.  
  13980.             field_to_search = the field in the other database to search.
  13981.             The field_to_search must be in the Fxx format.  It cannot be
  13982.             a field name.
  13983.  
  13984.             search_criteria =  the information  to use  for the  search.
  13985.             The  search_criteria parameter can have one of the following
  13986.             comparison signs preceding it:  
  13987.             =,  >, <,  >=,  <=, ><,  or  <>.   If  a comparitor  is  not
  13988.             specified,  an exact match is looked for (disregarding upper
  13989.             and  lower  case  letters).    The  search_criteria  can  be
  13990.             constant  text enclosed in  quotes, for example, "BASEBALL",
  13991.             or a field number, F4, or a field name, BALANCE DUE.
  13992.  
  13993.             field_to_return = the field contents  to return once a match
  13994.             is found.  The  field_to_return must be  in the Fxx  format.
  13995.             It cannot be a field name.
  13996.  
  13997.   TYPE:          Function, character, numeric
  13998.  
  13999.   USE IN:   Database and Report Writer
  14000.  
  14001.   COMMENTS: The LOOKUP function returns one field at a time. 
  14002.  
  14003.             When a  LOOKUP is made, the  record accessed is stored  in a
  14004.             buffer.  The  next LOOKUP checks this buffer  for a possible
  14005.             match  before rechecking a database.  Therefore, to decrease
  14006.             lookup time, all  LOOKUPs which reference the  same database
  14007.             should be grouped together.
  14008.  
  14009.             If no match  is found in  the lookup  database, a string  of
  14010.             asterisks is returned.
  14011.  
  14012.             To put  information into  another database,  use the  UPDATE
  14013.             statement.
  14014.  
  14015.  
  14016.   312  LOOKUP
  14017.   ----------------------------------------------------------------------
  14018.  
  14019.   EXAMPLES: LOOKUP(PRICES, F1, F1, F2)
  14020.  
  14021.             In this example,  PRICES refers to a database  called PRICES
  14022.             in the current data directory.  The first F1 refers to Field
  14023.             1 in the PRICES database, the second F1 refers to Field 1 in
  14024.             the current record in the current database and the F2 refers
  14025.             to Field 2 in  the PRICES database.  If F1  from the current
  14026.             record  contains "Lawn Mower", this example searches Field 1
  14027.             in the PRICES database for "Lawn  Mower".  Once the match is
  14028.             found,  it returns the value in Field 2.
  14029.  
  14030.             LOOKUP(C:\FE\DATA\PAYROLL, F1, >=Gross Pay, F2)
  14031.  
  14032.             Here  is an example of a payroll  lookup table.  The PAYROLL
  14033.             database contains  two fields  per record,  UPPER LIMIT  and
  14034.             TAX.  The records are filled with payroll tax table  bracket
  14035.             amounts and their corresponding tax.  For example:
  14036.  
  14037.                            UPPER LIMIT    TAX
  14038.                            -----------    ---
  14039.                                    200     10
  14040.                                    300     15
  14041.                                    400     21
  14042.                                    500     28
  14043.                                    600     33
  14044.  
  14045.  
  14046.  
  14047.             This example uses  the PAYROLL database which is  on Drive C
  14048.             in the subdirectory  \FE\DATA.  It searches the  UPPER LIMIT
  14049.             field for  a number  that is  greater than  or equal  to the
  14050.             Gross  Pay field  in the  current database  and returns  the
  14051.             amount from the  TAX field.  If  the Gross Pay was  390, the
  14052.             example would return 21.
  14053.  
  14054.   ALSO SEE: UPDATE
  14055.  
  14056.  
  14057.                                                       LOWER (LCASE)  313
  14058.   ----------------------------------------------------------------------
  14059.  
  14060.  
  14061.  
  14062.   PURPOSE:  The  LOWER function converts  all characters in  a string to
  14063.             lower case.
  14064.  
  14065.   SYNTAX:   lower(text_field)
  14066.  
  14067.             text_field = a character field or character string.
  14068.  
  14069.   TYPE:          Function, character
  14070.  
  14071.   USE IN:   Label Writer, Report Writer and Search and Replace
  14072.  
  14073.   COMMENTS: A field is  converted to all lower case  characters by using
  14074.             this function.  To convert data in an existing database, use
  14075.             the Search and Replace option.
  14076.  
  14077.             Only letters are affected.  Numbers and other characters are
  14078.             not changed.
  14079.  
  14080.   EXAMPLES: LOWER("Hello")
  14081.  
  14082.             This example produces "hello".
  14083.  
  14084.             LOWER("HELLO 2 YOU")
  14085.  
  14086.             This example produces "hello 2 you".
  14087.  
  14088.             LOWER(F1)
  14089.  
  14090.             This converts all letters in Field 1 to lower case.
  14091.  
  14092.   ALSO SEE: PROPER, UPPER
  14093.  
  14094.  
  14095.   314  LTRIM
  14096.   ----------------------------------------------------------------------
  14097.  
  14098.  
  14099.  
  14100.   PURPOSE:  The  LTRIM function  removes  leading  spaces  from  a  text
  14101.             string.
  14102.  
  14103.   SYNTAX:   ltrim(text_field)
  14104.  
  14105.             text_field = a character field or character string.
  14106.  
  14107.   TYPE:          Function, character
  14108.  
  14109.   USE IN:   Label Writer, Report Writer and Search and Replace
  14110.  
  14111.   COMMENTS: The LTRIM function removes all blank spaces up to the  first
  14112.             non-blank character from the  left side of  the string.   It
  14113.             does not remove blank  spaces from the  middle or the  right
  14114.             end.
  14115.  
  14116.   EXAMPLES: LTRIM("  Tom  ")
  14117.  
  14118.             This example produces "Tom   ".
  14119.  
  14120.             LTRIM("   BJ THOMAS   ")
  14121.  
  14122.             This example produces "BJ THOMAS   ".
  14123.  
  14124.             LTRIM("Tom Smith")
  14125.  
  14126.             This example produces "Tom Smith".  (In this  example, there
  14127.             is nothing for the function to do.)
  14128.  
  14129.   ALSO SEE: RTRIM, TRIM
  14130.  
  14131.  
  14132.                                                      Math Functions  315
  14133.   ----------------------------------------------------------------------
  14134.  
  14135.  
  14136.  
  14137.   PURPOSE:  To perform higher level math calculations.
  14138.  
  14139.   SYNTAX:   Math_Function(expression)
  14140.  
  14141.             expression = any numeric constant, result, or field.
  14142.  
  14143.   TYPE:          Function, numeric
  14144.  
  14145.   USE IN:   Any Formula
  14146.  
  14147.   COMMENTS: The following is a complete list of the functions which make
  14148.             up Math Functions:
  14149.  
  14150.                  ABS(expression)          Absolute Value
  14151.                  ATN(expression)     Arctangent
  14152.                  COS(expression)     Cosine
  14153.                  EXP(expression)     Exponent
  14154.                  INT(expression)          Integer
  14155.                  LOG(expression)     Natural Log
  14156.                  SIN(expression)          Sine
  14157.                  SQR(expression)     Square Root
  14158.                  TAN(expression)     Tangent
  14159.  
  14160.             For  information   on  general  math   operators,  see  Math
  14161.             Operators.
  14162.  
  14163.             For  complete information  on  the uses  and rules  of these
  14164.             functions, consult a math reference manual.
  14165.  
  14166.   EXAMPLES: INT(F1)
  14167.  
  14168.             This example takes  the integer of Field  1.  If Field  1 is
  14169.             10.53,  the result  is 10.   (Note:    the decimal  value is
  14170.             dropped, not rounded.)
  14171.  
  14172.             SQR(F1)
  14173.  
  14174.             If Field 1 contains a value of 144, the result is 12.
  14175.  
  14176.   ALSO SEE: Math Operators, ROUND, SUM, RANDOM, VALUE
  14177.  
  14178.  
  14179.   316  Math Operators
  14180.   ----------------------------------------------------------------------
  14181.  
  14182.  
  14183.  
  14184.  
  14185.   PURPOSE:  To perform basic math calculations on fields.
  14186.  
  14187.   SYNTAX:   number Math Operator number 
  14188.  
  14189.             number =  any numeric  field, numeric  function or  constant
  14190.             numeric value.
  14191.  
  14192.   TYPE:          Operator, character, numeric
  14193.  
  14194.   USE IN:   Any Formula
  14195.  
  14196.   COMMENTS: Operator  Alternate      Description       
  14197.             ________  _________      ___________       
  14198.                +      PLUS           Addition
  14199.                -      MINUS          Subtraction
  14200.                *      TIMES               Multiply
  14201.                /      DIVIDED BY          Divide
  14202.                ^      TO THE POWER OF     To the power of
  14203.                %      PERCENT        Percentage
  14204.                \      REMAINDER, MOD Remainder      
  14205.  
  14206.             NOTE: The symbol,  '+', is used for both  adding numbers and
  14207.             combining text.  File Express performs the correct operation
  14208.             according  to the type  of the  fields used.   If  the first
  14209.             field   is  numeric,    the  fields  are  numerically  added
  14210.             together.)
  14211.  
  14212.             File Express calculates  math according to the  normal rules
  14213.             of precedence.  The order of precedence is as follows:
  14214.  
  14215.             1. Lowest level of Parentheses  (If parentheses are  nested,
  14216.             expressions  inside the  parentheses are performed  in their
  14217.             normal order starting with the lowest level.)
  14218.             2. Math Functions
  14219.             3. Exponents
  14220.             4. Multiplication,  Division and Remainders  calculated from
  14221.             left to right.
  14222.             5. Addition and Subtraction calculated from left to right.
  14223.  
  14224.             To force  an expression  to  be calculated  in a  particular
  14225.             order, use parentheses.
  14226.  
  14227.  
  14228.                                                      Math Operators  317
  14229.   ----------------------------------------------------------------------
  14230.  
  14231.   EXAMPLES: F1 + 10
  14232.  
  14233.             If  Field 1 is numeric, this formula will add ten to it.  If
  14234.             it is a  character field, it will concatenate  "10" onto the
  14235.             end of F1.
  14236.  
  14237.             F1 - F2
  14238.  
  14239.             This example subtracts Field 2 from Field 1.
  14240.  
  14241.             ((F1 - F2) + F3 ) * F4
  14242.  
  14243.             Using  the normal  order of  math  precedence, this  formula
  14244.             first  subtracts Field 2 from Field 1,  then it adds Field 3
  14245.             and finishes by multiplying the result by Field 4.  
  14246.  
  14247.   ALSO SEE: Math Functions
  14248.  
  14249.  
  14250.   318  .MAX
  14251.   ----------------------------------------------------------------------
  14252.  
  14253.  
  14254.  
  14255.   PURPOSE:  The .MAX function returns the maximum numeric value found so
  14256.             far in a report.
  14257.  
  14258.   SYNTAX:   field.max
  14259.  
  14260.   TYPE:          Function, numeric
  14261.  
  14262.   USE IN:   Label Writer and Report Writer
  14263.  
  14264.   COMMENTS: The  .MAX function returns  the maximum numeric  value found
  14265.             for  the field specified in  the report.  (Character fields,
  14266.             unless  they  contain  numeric  information  or  begin  with
  14267.             numbers, equate to zeros.)
  14268.  
  14269.             For more examples, see the chapter titled "Report Writer". 
  14270.  
  14271.   EXAMPLES: F1.MAX
  14272.  
  14273.             This formula  returns the  maximum numeric  value found  for
  14274.             Field 1 so far in the report.
  14275.  
  14276.   ALSO SEE: .MIN, .SUBMAX and .SUBMIN
  14277.  
  14278.  
  14279.                                                                 MID  319
  14280.   ----------------------------------------------------------------------
  14281.  
  14282.  
  14283.       
  14284.   PURPOSE:  The MID function is used to extract a portion of a string.
  14285.  
  14286.   SYNTAX:   MID(text, starting_position[, length_of_string])
  14287.  
  14288.             text = character field, or string constant to extract from.
  14289.  
  14290.             starting_position =  character position to  begin extracting
  14291.             characters from.
  14292.  
  14293.             length_of_string = number of characters to extract.
  14294.  
  14295.   TYPE:          Function, character
  14296.  
  14297.   USE IN:   Any Formula
  14298.  
  14299.   COMMENTS: If  the length_of_string is  omitted,  File  Express returns
  14300.             all remaining characters in the string.
  14301.  
  14302.             This function can be  used any place  a character string  or
  14303.             field is required.
  14304.  
  14305.   EXAMPLES: MID(F1,5,3)
  14306.  
  14307.             If Field 1  contains "123456789", then this  formula returns
  14308.             "567".
  14309.  
  14310.             MID(F1,5)
  14311.  
  14312.             Using the previous example, this formula returns "56789".
  14313.  
  14314.             MID(F2,INSTR(F2," ")+1)
  14315.  
  14316.             If  Field 2  contains a first  and last name  separated by a
  14317.             space, this formula  returns all characters after  the first
  14318.             space.  Example:  If F2 is "John Smith", then  the result is
  14319.             "Smith".  (Also see the LEFT function.)
  14320.  
  14321.   ALSO SEE: LEFT, RIGHT and REPLACE
  14322.  
  14323.  
  14324.   320  MILTIME
  14325.   ----------------------------------------------------------------------
  14326.  
  14327.  
  14328.  
  14329.   PURPOSE:  The  MILTIME function returns  the current time  in military
  14330.             (or 24 hour) format.
  14331.  
  14332.   SYNTAX:   miltime
  14333.  
  14334.   TYPE:          Function, character
  14335.  
  14336.   USE IN:   Any formula
  14337.  
  14338.   COMMENTS: The MILTIME function  returns the current time as  stored in
  14339.             your computer.  To change  the current time, you must  be at
  14340.             the DOS  level and  use the  DOS TIME  function.  (For  more
  14341.             information, consult the  TIME function in your  DOS manual.
  14342.             Computers without a clock battery must be set every time the
  14343.             computer is rebooted.)
  14344.  
  14345.             Also see the TIME function for AM/PM time format.
  14346.  
  14347.   EXAMPLES: MILTIME
  14348.  
  14349.             This function  simply returns  the current  time in  24 hour
  14350.             format.   If this is a text formula  in a database, the time
  14351.             the record was last updated is stored here.
  14352.  
  14353.             If this function is used in a Report,  it prints the current
  14354.             time when the report is printed.
  14355.  
  14356.             MILTIME ADD ONLY
  14357.  
  14358.             By using the ADD ONLY  keywords, File Express calculates the
  14359.             field only  when initially  ADDING the record.   (It  is not
  14360.             updated when the record is edited, as in the first example.)
  14361.  
  14362.   ALSO SEE: TIME and TODAY
  14363.  
  14364.  
  14365.                                                                .MIN  321
  14366.   ----------------------------------------------------------------------
  14367.  
  14368.  
  14369.  
  14370.   PURPOSE:  The .MIN function returns the minimum numeric value found so
  14371.             far in a report.
  14372.  
  14373.   SYNTAX:   field.min
  14374.  
  14375.   TYPE:          Function, numeric
  14376.  
  14377.   USE IN:   Label Writer and Report Writer
  14378.  
  14379.   COMMENTS: The .MIN function returns the minimum numeric value found so
  14380.             far  for  the field  specified  in the  report.   (Character
  14381.             fields, unless  they contain  numeric  information or  begin
  14382.             with numbers, equate to zeros.)
  14383.  
  14384.             For more  examples of using  this function, see  the chapter
  14385.             titled Report Writer. 
  14386.  
  14387.   EXAMPLES: F1.MIN
  14388.  
  14389.             This formula  returns the  minimum numeric  value found  for
  14390.             Field 1 up to the time it is printed.
  14391.  
  14392.   ALSO SEE: .MAX, .SUBMAX and .SUBMIN
  14393.  
  14394.  
  14395.   322  MINUTES
  14396.   ----------------------------------------------------------------------
  14397.  
  14398.  
  14399.  
  14400.   PURPOSE:  The  MINUTES function  returns the  number  of minutes  from
  14401.             midnight to the time specified.
  14402.  
  14403.   SYNTAX:   minutes(time)
  14404.  
  14405.             time = any valid time in 24 hour format.
  14406.  
  14407.   TYPE:          Function, numeric
  14408.  
  14409.   USE IN:   Any Formula
  14410.  
  14411.   COMMENTS: The MINUTES function  returns the number of  minutes between
  14412.             midnight and the  time specified as the argument.   The time
  14413.             argument  can be  a quoted string  containing a  valid time,
  14414.             "14:05" or a field name or number containing a time.
  14415.  
  14416.  
  14417.   EXAMPLES: MINUTES(F1)
  14418.  
  14419.             If field one contains "5:37" this formula returns 337.
  14420.  
  14421.   ALSO SEE: TIMEDIFF
  14422.  
  14423.  
  14424.                                                 MONEY SIGN  ($, , )  323
  14425.   ----------------------------------------------------------------------
  14426.  
  14427.  
  14428.  
  14429.   PURPOSE:  The MONEY SIGN statement adds a floating monetary sign to  a
  14430.             number.
  14431.  
  14432.   SYNTAX:   field [with] money sign
  14433.  
  14434.             field = a numeric field or formula.
  14435.  
  14436.   TYPE:          Statement
  14437.  
  14438.   USE IN:   Report Writer
  14439.  
  14440.   COMMENTS: The MONEY  SIGN adds  a monetary  sign (as  selected in  the
  14441.             Setup program: $,  ,  ) to the beginning of a number.
  14442.  
  14443.             The $  or   or   symbol  may be used in place  of the "MONEY
  14444.             SIGN" statement.
  14445.  
  14446.   EXAMPLES: F5 WITH MONEY SIGN
  14447.  
  14448.             This example adds a monetary sign to the output  of Field 5.
  14449.             Example:   if it  originally had the  value "12.34"  and the
  14450.             current monetary sign is set to the British Pound sign,  the
  14451.             text printed is " 12.34".
  14452.  
  14453.             F5 WITH  
  14454.  
  14455.             This is the same to the previous example.
  14456.  
  14457.   ALSO SEE: DOLLAR SIGN
  14458.  
  14459.  
  14460.   324  MONTH
  14461.   ----------------------------------------------------------------------
  14462.  
  14463.  
  14464.  
  14465.   PURPOSE:  The MONTH  function  returns the  two  digit month  for  the
  14466.             current date or for the date specified.
  14467.  
  14468.   SYNTAX:   month[(date)]
  14469.  
  14470.             date =  any  valid  date  field  or  constant  date  in  the
  14471.             currently defined date format.
  14472.  
  14473.   TYPE:          Function, numeric
  14474.  
  14475.   USE IN:   Any Formula
  14476.  
  14477.   COMMENTS: If the  date  is omitted,  this function  returns the  month
  14478.             number from the  current system date.   (For information  on
  14479.             the current date, see the TODAY function.)
  14480.  
  14481.   EXAMPLES: MONTH
  14482.  
  14483.             If  the current  month is  December,  this function  returns
  14484.             "12".
  14485.  
  14486.             MONTH(F1)
  14487.  
  14488.             If "04-16-90" is the date in Field 1, this function  returns
  14489.             "04".
  14490.  
  14491.   ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTHABBV, MONTHNAME, and
  14492.             YEAR
  14493.  
  14494.  
  14495.                                                           MONTHNAME  325
  14496.   ----------------------------------------------------------------------
  14497.  
  14498.  
  14499.  
  14500.   PURPOSE:  The MONTHNAME function returns the spelled out month name.
  14501.  
  14502.   SYNTAX:   monthname[(date)]
  14503.  
  14504.             date =  any  valid  date  field  or  constant  date  in  the
  14505.             currently defined date format.
  14506.  
  14507.   TYPE:          Function, character
  14508.  
  14509.   USE IN:   Any Formula
  14510.  
  14511.   COMMENTS: If the date is omitted, this function returns the month name
  14512.             for the current date.  (For information on the current date,
  14513.             see the TODAY function.)
  14514.  
  14515.   EXAMPLES: MONTHNAME
  14516.  
  14517.             If the current month is APRIL, this formula returns "April".
  14518.  
  14519.             MONTHNAME(F1)
  14520.  
  14521.             If  Field  1  contains  "04-16-90",  this  function  returns
  14522.             "April".
  14523.  
  14524.             UPPER(MONTHNAME("04-16-90"))
  14525.  
  14526.             This example returns "APRIL".
  14527.  
  14528.             DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
  14529.  
  14530.             If  Field  1  contains the  date  "04-16-90",  this function
  14531.             returns "Monday, April 16, 1990".
  14532.  
  14533.   ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTH, MONTHABBV and YEAR
  14534.  
  14535.  
  14536.   326  MONTHABBV
  14537.   ----------------------------------------------------------------------
  14538.  
  14539.  
  14540.  
  14541.   PURPOSE:  The MONTHABBV function returns the abbreviated month name.
  14542.  
  14543.   SYNTAX:   monthabbv[(date)]
  14544.  
  14545.             date =  any  valid  date  field  or  constant  date  in  the
  14546.             currently defined date format.
  14547.  
  14548.   TYPE:          Function, character
  14549.  
  14550.   USE IN:   Any Formula
  14551.  
  14552.   COMMENTS: If  the date  is omitted,  this function  returns the  month
  14553.             abbreviation for the current date.  (For  information on the
  14554.             current date, see the TODAY function.)
  14555.  
  14556.             The abbreviation returned  is the first three  characters of
  14557.             the month with the first character capitalized followed by a
  14558.             period.  (See examples.)
  14559.  
  14560.             To  convert  the characters  to  upper case,  use  the UPPER
  14561.             function. 
  14562.  
  14563.   EXAMPLES: MONTHABBV
  14564.  
  14565.             If the current month is APRIL, this function returns "Apr.".
  14566.  
  14567.             MONTHABBV(F1)
  14568.  
  14569.             If  Field  1  contains the  date  "04-16-90",  this function
  14570.             returns "Apr.".
  14571.  
  14572.             UPPER(DAYNAME("04-16-90"))
  14573.  
  14574.             This formula returns "APR.".
  14575.  
  14576.             DAYABBV(F1) + "," & MONTHABBV(F1) & DAY(F1) & YEAR(F1)
  14577.  
  14578.             If  Field  1  contains the  date  "04-16-90",  this function
  14579.             returns "Mon., Apr. 16 1990".
  14580.  
  14581.   ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTH, MONTHNAME and YEAR
  14582.  
  14583.  
  14584.                                                            .NBCOUNT  327
  14585.   ----------------------------------------------------------------------
  14586.  
  14587.  
  14588.  
  14589.   PURPOSE:  The .NBCOUNT function  counts the number of  records printed
  14590.             so far in  a report that are  not blank.  (This  function is
  14591.             read as "Non Blanks Count".)
  14592.  
  14593.   SYNTAX:   field.nbcount
  14594.  
  14595.   TYPE:          Function, numeric
  14596.  
  14597.   USE IN:   Report Writer
  14598.  
  14599.   COMMENTS: The .NBCOUNT function  counts the number of  records printed
  14600.             where the field specified  is not empty.   (The contents  of
  14601.             the field being counted  does not make  a difference on  the
  14602.             count   (i.e.    numeric  fields  and character  fields  are
  14603.             counted the same- each as one.)
  14604.  
  14605.             This  function returns  the same  number  regardless of  the
  14606.             section of  the Report it is  used in (i.e. the  same values
  14607.             are  returned  if used  in  the  Detail,  Total or  Subtotal
  14608.             Section.)   For a  running count, use  this function  in the
  14609.             Detail Section.
  14610.  
  14611.             Also see the chapter titled Report Writer for more examples.
  14612.  
  14613.   EXAMPLES: F1.NBCOUNT
  14614.  
  14615.             If this formula is  used in the Detail Section  of a Report,
  14616.             it  returns the running  count of the  records printed where
  14617.             Field 1 is not  blank. If this formula is used  in the Total
  14618.             Section, it  returns the total  count of records  printed on
  14619.             the entire report where Field 1 is not blank.
  14620.  
  14621.   ALSO SEE: .COUNT, .NBSUBCOUNT and .SUBCOUNT 
  14622.  
  14623.  
  14624.   328  .NBSUBCOUNT
  14625.   ----------------------------------------------------------------------
  14626.  
  14627.  
  14628.  
  14629.   PURPOSE:  The  .NBSUBCOUNT  function  counts  the  number  of  records
  14630.             printed in the current subtotal group ignoring blank fields.
  14631.             (This function is read as "Non Blank Subtotal Count".)
  14632.  
  14633.   SYNTAX:   field.nbsubcount
  14634.  
  14635.   TYPE:          Function, numeric
  14636.  
  14637.   USE IN:   Report Writer
  14638.  
  14639.   COMMENTS: The NBSUBCOUNT  function returns  the count  of the  records
  14640.             from the current  subtotal level where the  field referenced
  14641.             is not blank.
  14642.  
  14643.             The  actual field  contents do  not  have an  affect on  the
  14644.             count.   (i.e.  character  fields are  counted  the same  as
  14645.             numeric fields- each as one.)
  14646.  
  14647.             If .NBSUBCOUNT is used in the Detail or Subtotal 1  section,
  14648.             level 1  non-blank counts  are generated.   If  used in  the
  14649.             Subtotal  2 section, level 2 non-blank counts are generated.
  14650.             If used in the Subtotal 3 section, level 3 non-blank  counts
  14651.             are generated.
  14652.  
  14653.             For more examples, see the chapter titled Report Writer. 
  14654.  
  14655.   EXAMPLES: F1.NBSUBCOUNT
  14656.  
  14657.             This formula counts all records where Field 1 is not  blank.
  14658.             If this formula is  used in the Detail Section of  a Report,
  14659.             it returns a running count of each subtotal group.
  14660.  
  14661.   ALSO SEE: .COUNT, .NBSUBCOUNT and .NBSUBCOUNT
  14662.  
  14663.  
  14664.                                                             NEWPAGE  329
  14665.   ----------------------------------------------------------------------
  14666.  
  14667.  
  14668.  
  14669.  
  14670.   PURPOSE:  The NEWPAGE statement forces a new page.
  14671.  
  14672.   SYNTAX:   newpage
  14673.  
  14674.   TYPE:          Statement
  14675.  
  14676.   USE IN:   Report Writer
  14677.  
  14678.   COMMENTS: By using the NEWPAGE in an IF/THEN formula, you can  control
  14679.             when File Express begins a new page.  
  14680.  
  14681.             If  a line  contains a  formula  that results  in a  NEWPAGE
  14682.             keyword,  File Express  moves to the  next page,  prints the
  14683.             Title and  Header, if any,  and then continues  printing the
  14684.             report.
  14685.  
  14686.   EXAMPLES: NEWPAGE
  14687.  
  14688.             Used by itself in a formula, File Express begins  a new page
  14689.             every time it is encountered.  By using this formula on  the
  14690.             last line  of the Detail section  of a report,  you can have
  14691.             each record print in its own page.
  14692.  
  14693.             IF F1 <> F1.PREV THEN NEWPAGE ELSE NOPRINT
  14694.  
  14695.             This  formula, placed on a line by itself, only prints a new
  14696.             page every  time the  information in  Field 1  changes.   If
  14697.             Field  1  does not  change,  then the  NOPRINT  will prevent
  14698.             anything from printing.   (If the NOPRINT  is not used,  you
  14699.             will have a blank space print if the field does not change.)
  14700.  
  14701.  
  14702.   ALSO SEE: NONE
  14703.  
  14704.  
  14705.   330  NO COMMAS
  14706.   ----------------------------------------------------------------------
  14707.  
  14708.  
  14709.    
  14710.   PURPOSE:  The NO COMMAS statement prints numbers without commas.
  14711.  
  14712.   SYNTAX:   field [with] no commas
  14713.  
  14714.             field = a numeric field
  14715.  
  14716.   TYPE:          Statement
  14717.  
  14718.   USE IN:   Report Writer
  14719.  
  14720.   COMMENTS: The default  setting for  File Express  is to insert  commas
  14721.             when  printing  large  numeric fields.    However,  for some
  14722.             numbers (such as  an invoice number or zip code),  it is not
  14723.             appropriate to  have the commas inserted.   Use this keyword
  14724.             to avoid the commas.
  14725.  
  14726.             Remember,   File  Express  can  insert  the  commas  in  the
  14727.             appropriate  places  when  printing, but  commas  cannot  be
  14728.             included when entering the  numbers.  It must be left  up to
  14729.             File Express.
  14730.  
  14731.             The default setting may be changed using the Setup program.
  14732.  
  14733.   EXAMPLES: F5 WITH NO COMMAS
  14734.  
  14735.             This example prints Field 5 without commas inserted into the
  14736.             number.   If Field  5 is  a  numeric field  and contains  an
  14737.             invoice  number of "122590123", this formula will prevent it
  14738.             from printing as "122,590,123". 
  14739.  
  14740.   ALSO SEE: NO COMMAS
  14741.  
  14742.  
  14743.                                                          NOLINEFEED  331
  14744.   ----------------------------------------------------------------------
  14745.  
  14746.  
  14747.  
  14748.   PURPOSE:  The NOLINEFEED statement  is used to prevent the  paper from
  14749.             being advanced on a line printer after a line is printed.
  14750.  
  14751.   SYNTAX:   nolinefeed
  14752.  
  14753.   TYPE:          Statement
  14754.  
  14755.   USE IN:   Label Writer and Report Writer
  14756.  
  14757.   COMMENTS: The NOLINEFEED statement  causes the next line  to overprint
  14758.             the current line.
  14759.  
  14760.             The statement is generally used to underline or double print
  14761.             portions  of a report.   By not advancing  the paper after a
  14762.             line   is  printed,  bold   type  and  underlining   can  be
  14763.             accomplished.   (See examples.)     Not all  printer support
  14764.             this option.
  14765.  
  14766.             This statement affects  the entire line regardless  of where
  14767.             it physically occurs on the line.
  14768.  
  14769.   EXAMPLES: Line #1: "HELLO"      NOLINEFEED
  14770.             Line #2: "HELLO"
  14771.  
  14772.             By placing  "HELLO" in  the same  column on  two consecutive
  14773.             lines, the NOLINEFEED  keyword causes "HELLO" to  be printed
  14774.             twice on the  printout, making it darker.   (Note: the text,
  14775.             "HELLO",  and the NOLINEFEED formula are two separate items,
  14776.             they are not combined into one formula.)
  14777.  
  14778.             Line #1: "HELLO Dave"      NOLINEFEED
  14779.             Line #2: "      ____"
  14780.  
  14781.             This example underlines just the word Dave.
  14782.  
  14783.   ALSO SEE: NOPRINT
  14784.  
  14785.  
  14786.   332  NOPRINT
  14787.   ----------------------------------------------------------------------
  14788.  
  14789.  
  14790.  
  14791.   PURPOSE:  The NOPRINT statement is used to stop a line from printing.
  14792.  
  14793.   SYNTAX:   noprint
  14794.  
  14795.   TYPE:          Statement
  14796.  
  14797.   USE IN:   Label Writer and Report Writer
  14798.  
  14799.   COMMENTS: The NOPRINT statement  prevents the current line  from being
  14800.             printed.  This keyword affects the entire line regardless of
  14801.             where it physically occurs on the line.
  14802.  
  14803.             By using  NOPRINT  in a  formula,  duplicate values  can  be
  14804.             eliminated from printouts.  See examples.
  14805.  
  14806.  
  14807.   EXAMPLES: IF F1 <> F1.PREV THEN F1 ELSE NOPRINT
  14808.  
  14809.             This formula compares the values of the current Field 1 with
  14810.             the values from  Field 1 of  the previously printed  record.
  14811.             If they are different,  the field is  printed.  If they  are
  14812.             the same, the entire line  is not printed.  If Field 1  is a
  14813.             last name field, the report prints only the first occurrence
  14814.             of each last name.
  14815.  
  14816.             IF F1 <> F1.PREV THEN NEWPAGE ELSE NOPRINT
  14817.  
  14818.             This formula moves  to a new page each time Field 1 changes.
  14819.             If Field 1 does not change, nothing is printed.
  14820.  
  14821.   ALSO SEE: NOLINEFEED
  14822.  
  14823.  
  14824.                                                            NO ZEROS  333
  14825.   ----------------------------------------------------------------------
  14826.  
  14827.  
  14828.    
  14829.   PURPOSE:  The NO ZEROS  statement forces File Express to  print blanks
  14830.             instead of zeros when printing numeric fields.
  14831.  
  14832.   SYNTAX:   numeric_field [with] no zeros
  14833.  
  14834.             numeric_field = a numeric field or formula.
  14835.  
  14836.   TYPE:          Statement
  14837.  
  14838.   USE IN:   Report Writer
  14839.  
  14840.   COMMENTS: This is the default  for File Express.   If the default  has
  14841.             been changed in the Setup program, then this keyword may  be
  14842.             used to print blanks on an individual field basis.
  14843.  
  14844.   EXAMPLES: F5 WITH NO ZEROS
  14845.  
  14846.             If Field 5  has a value of zero, this  formula prints blanks
  14847.             instead.
  14848.  
  14849.   ALSO SEE: ZEROS
  14850.  
  14851.  
  14852.   334  Operators, Math
  14853.   ----------------------------------------------------------------------
  14854.  
  14855.  
  14856.  
  14857.   PURPOSE:  To perform basic math calculations on fields.
  14858.  
  14859.   SYNTAX:   number Math Operator number 
  14860.  
  14861.             number =  any numeric  field, numeric  function or  constant
  14862.             numeric value.
  14863.  
  14864.   TYPE:          Operator, character, numeric
  14865.  
  14866.   USE IN:   Any Formula
  14867.  
  14868.   COMMENTS: Operator  Alternate      Description       
  14869.             ________  _________      ___________       
  14870.                +      PLUS           Addition
  14871.                -      MINUS          Subtraction
  14872.                *      TIMES               Multiply
  14873.                /      DIVIDED BY          Divide
  14874.                ^      TO THE POWER OF     To the power of
  14875.                %      PERCENT        Percentage
  14876.                \      REMAINDER, MOD Remainder      
  14877.  
  14878.  
  14879.             NOTE: The symbol,  '+', is used for both  adding numbers and
  14880.             combining text.  File Express performs the correct operation
  14881.             according  to the type  of the  fields used.   If  the first
  14882.             field   is  numeric,    the  fields  are  numerically  added
  14883.             together.)
  14884.  
  14885.             File Express calculates  math according to the  normal rules
  14886.             of precedence.  The order of precedence is as follows:
  14887.  
  14888.             1. Lowest level of Parentheses  (If parentheses are  nested,
  14889.             expressions  inside the  parentheses are performed  in their
  14890.             normal order starting with the lowest level.)
  14891.             2. Math Functions
  14892.             3. Exponents
  14893.             4. Multiplication,  Division and Remainders  calculated from
  14894.             left to right.
  14895.             5. Addition and Subtraction calculated from left to right.
  14896.  
  14897.             To force  an expression  to  be calculated  in a  particular
  14898.             order, use parentheses.
  14899.  
  14900.  
  14901.                                                     Operators, Math  335
  14902.   ----------------------------------------------------------------------
  14903.  
  14904.   EXAMPLES: F1 + 10
  14905.  
  14906.             If  Field 1 is numeric, this formula will add ten to it.  If
  14907.             it is a  character field, it will concatenate  "10" onto the
  14908.             end of F1.
  14909.  
  14910.             F1 - F2
  14911.  
  14912.             This example subtracts Field 2 from Field 1.
  14913.  
  14914.             ((F1 - F2) + F3 ) * F4
  14915.  
  14916.             Using  the normal  order of  math  precedence, this  formula
  14917.             first  subtracts Field 2 from Field 1,  then it adds Field 3
  14918.             and finishes by multiplying the result by Field 4.  
  14919.  
  14920.   ALSO SEE: Math Functions
  14921.  
  14922.  
  14923.   336  OR
  14924.   ----------------------------------------------------------------------
  14925.  
  14926.  
  14927.  
  14928.   PURPOSE:  The  OR operator requires  that only one  comparison be true
  14929.             for the statement to be considered true.
  14930.  
  14931.   SYNTAX:   comparison OR comparison [OR comparison ...]
  14932.  
  14933.             comparison = any valid comparison statement.
  14934.  
  14935.   TYPE:          Logical Operator
  14936.  
  14937.   USE IN:   Any Formula
  14938.  
  14939.   COMMENTS: The OR operator tells File Express that only one of  several
  14940.             comparisons must  be  true for  the whole  comparison to  be
  14941.             considered true.
  14942.  
  14943.             For  more detailed explanations  on making formulas  see the
  14944.             chapter titled "Finding Records".
  14945.  
  14946.             For more examples, see the "AND" keyword.
  14947.  
  14948.   EXAMPLES: Select all records where: F8 = "92307" OR F8 = "92308"
  14949.  
  14950.             This example selects  all records where Field 8  (a zip code
  14951.             field) is either equal to 92307 or 92308.  Since the city of
  14952.             Apple Valley has two zip codes, we must  use the OR keyword.
  14953.             If we had used  AND, we would have been saying  that Field 8
  14954.             had to  be equal to  both 92307 and  92308 at the  same time
  14955.             (which, of course, it cannot be).
  14956.  
  14957.             Select  all records where: F7  = "WA" OR  F7 = "OR"  OR F7 =
  14958.             "CA"
  14959.  
  14960.             If Field 7 contains a state abbreviation, this formula finds
  14961.             all records where the state is equal to Washington or Oregon
  14962.             or California.   (Also note  that the  abbreviation for  the
  14963.             state of  Oregon  is the  same  as the  keyword.   For  this
  14964.             reason, the quotation marks around the OR are required.)
  14965.  
  14966.             Select all records where: F1 BEFORE "01-01-90" OR F7 = "Y"
  14967.  
  14968.             This example finds all records where the date is before "01-
  14969.             01-90" or where Field 7 is equal to "Y"
  14970.  
  14971.   ALSO SEE: AND
  14972.  
  14973.  
  14974.                                                                PAGE  337
  14975.   ----------------------------------------------------------------------
  14976.  
  14977.  
  14978.  
  14979.   PURPOSE:  The PAGE function returns the current page number.
  14980.  
  14981.   SYNTAX:   page
  14982.  
  14983.   TYPE:          Function, numeric
  14984.  
  14985.   USE IN:   Label Writer and Report Writer
  14986.  
  14987.   COMMENTS: The PAGE keyword is used to print the current page number on
  14988.             a report.
  14989.  
  14990.   EXAMPLES: PAGE
  14991.  
  14992.             This formula prints the current page number.
  14993.  
  14994.             "Page #" & PAGE
  14995.  
  14996.             This  formula prints  the  text, "Page  #", followed  by the
  14997.             current page number.
  14998.  
  14999.   ALSO SEE: NONE
  15000.  
  15001.  
  15002.   338  PARENTHESES (PARENS)
  15003.   ----------------------------------------------------------------------
  15004.  
  15005.  
  15006.    
  15007.   PURPOSE:  The PARENTHESES keyword prints parentheses around a negative
  15008.             number.
  15009.  
  15010.   SYNTAX:   field [with] parentheses
  15011.  
  15012.             field = a numeric field or formula.
  15013.  
  15014.   TYPE:          Statement
  15015.  
  15016.   USE IN:   Report Writer
  15017.  
  15018.   COMMENTS: The  PARENTHESES  keyword  places  parentheses  around   any
  15019.             negative number.
  15020.  
  15021.             To change the default bracket type, use the Setup program to
  15022.             change the default settings.
  15023.  
  15024.             When this  keyword is used,  positive numbers have  an extra
  15025.             space at  the end  to insure a  proper lineup  with negative
  15026.             numbers.  (See example.)
  15027.  
  15028.   EXAMPLES: F5 WITH PARENTHESES
  15029.  
  15030.             If  the  value in  Field  5  is  -43.21, then  this  keyword
  15031.             produces (43.21).   Here  are examples  showing the  line-up
  15032.             using this keyword:
  15033.  
  15034.                    "123.45"       "123.45 "
  15035.                   "-999.99"      "(999.99)"
  15036.                     "-1.23"        "(1.23)"
  15037.                  "9,876.54"     "9,876.54 "
  15038.  
  15039.             The  quotation marks  are used  here only to  illustrate the
  15040.             lineup and extra  space positive numbers require  when using
  15041.             the  PARENTHESES keyword.   The  quotation  marks themselves
  15042.             will not print.
  15043.  
  15044.   ALSO SEE: NONE
  15045.  
  15046.  
  15047.                                                               .PREV  339
  15048.   ----------------------------------------------------------------------
  15049.  
  15050.  
  15051.  
  15052.   PURPOSE:  The .PREV function is  used to access a field value from the
  15053.             previously printed record.
  15054.  
  15055.   SYNTAX:   field.prev
  15056.  
  15057.             field = field number or field name.
  15058.  
  15059.   TYPE:          Function, character, numeric
  15060.  
  15061.   USE IN:   Report Writer
  15062.  
  15063.   COMMENTS: The .PREV keyword returns the  value for the specified field
  15064.             from the previous record printed, not the previous record in
  15065.             the database.
  15066.  
  15067.             This function works only in the Report Writer option of File
  15068.             Express.
  15069.  
  15070.             By accessing the  value from the previous  record, duplicate
  15071.             records can be checked.
  15072.  
  15073.   EXAMPLES: F1.PREV
  15074.  
  15075.             This  formula   returns  the  value  of  Field  1  from  the
  15076.             previously printed record.  This value can then be used in a
  15077.             comparison formula  (as in  the next example)  or used  in a
  15078.             mathematical formula.
  15079.  
  15080.             IF F1 <> F1.PREV THEN F1 ELSE NOPRINT
  15081.  
  15082.             This formula  compares the  value for  the current  records'
  15083.             Field  1 with the  previous records' Field  1.  If  they are
  15084.             equal, then  the line is suppressed.  If they are not equal,
  15085.             then the new Field 1 is printed.
  15086.  
  15087.   ALSO SEE: NONE
  15088.  
  15089.  
  15090.   340  PROPER
  15091.   ----------------------------------------------------------------------
  15092.  
  15093.  
  15094.  
  15095.   PURPOSE:  The PROPER  function converts  the first  character of  each
  15096.             word to upper case and all other characters to lower case.
  15097.  
  15098.   SYNTAX:   proper(text)
  15099.  
  15100.             text = a character field or character string.
  15101.  
  15102.   TYPE:          Function, character
  15103.  
  15104.   USE IN:   Label Writer, Report Writer and Search and Replace
  15105.  
  15106.   COMMENTS: This   function  converts   the  first  character   and  any
  15107.             characters  following  a non  alphabetic character  to upper
  15108.             case.   If two  characters are next  to each  other, such as
  15109.             initials, only  the first  character is  converted to  upper
  15110.             case.  To avoid this, use periods to separate the letters.
  15111.  
  15112.   EXAMPLES: PROPER("TOM JONES")
  15113.  
  15114.             This example produces "Tom Jones".
  15115.  
  15116.             PROPER("BJ THOMAS")
  15117.  
  15118.             This example produces "Bj Thomas".
  15119.  
  15120.             PROPER("B.J. THOMAS")
  15121.  
  15122.             This example produces "B.J. Thomas".
  15123.  
  15124.   ALSO SEE: LOWER and UPPER
  15125.  
  15126.  
  15127.                                                              RANDOM  341
  15128.   ----------------------------------------------------------------------
  15129.  
  15130.  
  15131.  
  15132.   PURPOSE:  The RANDOM function generates a random number.
  15133.  
  15134.   SYNTAX:   random
  15135.  
  15136.   TYPE:          Function, numeric
  15137.  
  15138.   USE IN:   Any Formula
  15139.  
  15140.   COMMENTS: The RANDOM function is useful if random record  selection is
  15141.             needed. 
  15142.  
  15143.             The RANDOM function returns a random number between zero and
  15144.             one.   (See  examples on  how  to generate  a random  number
  15145.             between one and any number.)
  15146.  
  15147.             To print records in  a random order: 1) Add  a formula field
  15148.             to your database format containing the  formula: RANDOM.  2)
  15149.             Use  the   Recalculate  Entire  Database  option   from  the
  15150.             Maintenance Menu to generate the random numbers.  3)  Create
  15151.             an  index with this new formula  field as the sort field and
  15152.             rebuild it.  When  you print, the  records are printed in  a
  15153.             random   order.    To   re-randomize  the   records,  simply
  15154.             recalculate the database and sort again.
  15155.  
  15156.   EXAMPLES: RANDOM
  15157.  
  15158.             Used by itself, the RANDOM function returns a number between
  15159.             zero and one.  (Such as 0.43632.)  
  15160.  
  15161.             Select all records where: F0 = (RANDOM * 100) + 1
  15162.  
  15163.             This formula randomly  selects records with a  record number
  15164.             between 1 and  100.  (NOTE: the parentheses  are not needed,
  15165.             but they help to make the formula easier to read.)
  15166.  
  15167.   ALSO SEE: NONE
  15168.  
  15169.  
  15170.   342  RECORD NUMBER (F0)
  15171.   ----------------------------------------------------------------------
  15172.  
  15173.  
  15174.  
  15175.   PURPOSE:  The keyword RECORD NUMBER may be used to access the  "Record
  15176.             Number" as assigned by File Express.
  15177.  
  15178.   SYNTAX:   record number or F0
  15179.  
  15180.   TYPE:          Function, numeric
  15181.  
  15182.   USE IN:   Any Formula
  15183.  
  15184.   COMMENTS: Because the record number  is stored at  the beginning of  a
  15185.             record, it may  also be referred  to as Field  0 (F0, as  in
  15186.             zero).
  15187.  
  15188.             It is  important to  remember  that the  record numbers  can
  15189.             change by cloning.  For that reason, it is recommended  that
  15190.             you do NOT rely on the record number.  
  15191.  
  15192.   EXAMPLES: Select all records where: RECORD NUMBER > 1000
  15193.  
  15194.             This example selects  all records where the record number is
  15195.             greater than 1000. 
  15196.  
  15197.             Select all records where: F0 > 1000
  15198.  
  15199.             This  example  produces  the same  results  as  the previous
  15200.             example but with less typing.
  15201.  
  15202.   ALSO SEE: NONE
  15203.  
  15204.  
  15205.                                                              REPEAT  343
  15206.   ----------------------------------------------------------------------
  15207.  
  15208.  
  15209.  
  15210.   PURPOSE:  The REPEAT function repeats a character.
  15211.  
  15212.   SYNTAX:   repeat(number, text)
  15213.  
  15214.             number = the number of times to repeat. 
  15215.  
  15216.             text = the character or string to repeat.
  15217.  
  15218.   TYPE:          Function, character
  15219.  
  15220.   USE IN:   Label Writer and Report Writer
  15221.  
  15222.   COMMENTS: The REPEAT function  is handy for creating  simple graphical
  15223.             output when a "picture" is more practical than numbers.
  15224.  
  15225.             The text to repeat may either be the ASCII value used in the
  15226.             CHR function,  a constant  character or  string enclosed  in
  15227.             quotes, or a field which contains a character or string.
  15228.  
  15229.             For serious  graphing requirements,  use ExpressGraph,  also
  15230.             from Expressware.  Data from File Express can be transferred
  15231.             to  ExpressGraph.  Call  Expressware for current information
  15232.             on ExpressGraph.
  15233.  
  15234.   EXAMPLES: REPEAT(F5,"$")
  15235.  
  15236.             If  Field  5 contains  numbers representing  dollar amounts,
  15237.             this formula can  be used to produce a simple bar graph with
  15238.             the dollar sign.  If Field 5 contains the number 6, then the
  15239.             output would be "$$$$$$".
  15240.  
  15241.             REPEAT(5,"----*")
  15242.  
  15243.             This example returns "----*----*----*----*----*".
  15244.  
  15245.             F4 + REPEAT(15-LEN(F1),".")
  15246.  
  15247.             This example prints  Field 4 followed  by enough periods  to
  15248.             fill a fifteen character space.  Example:    "123 Main  St .
  15249.             . . .Seattle" 
  15250.                                 or   "Box 1800. . . . . . .Duvall". 
  15251.  
  15252.   ALSO SEE: GRAPH and SPACE
  15253.  
  15254.  
  15255.   344  REPLACE
  15256.   ----------------------------------------------------------------------
  15257.  
  15258.  
  15259.  
  15260.   PURPOSE:  The REPLACE function  is used to replace a  text string with
  15261.             another text string.
  15262.  
  15263.   SYNTAX:   replace(field, search_for, replace_with[ ,times_to_replace])
  15264.  
  15265.             field = the field to search and replace.
  15266.  
  15267.             search_for = constant  text or a  character field to  search
  15268.             for.  Be sure to put quotes around constant text.
  15269.  
  15270.             replace_with = constant text or a character field to replace
  15271.             with.  Be sure to put quotes around constant text.
  15272.  
  15273.             times_to_replace  =  the   number  of  times  to   look  for
  15274.             search_for.  If this parameter is not included, File Express
  15275.             makes a maximum of one replacement.
  15276.  
  15277.   TYPE:          Function, character
  15278.  
  15279.   USE IN:   Search and Replace
  15280.  
  15281.   COMMENTS: The fourth  parameter, if  used, instructs  File Express  to
  15282.             replace  that number of  occurrences of the  search_for text
  15283.             within the  specified field.   If this  option is  not used,
  15284.             only the  first occurrence  is replaced.   To  replace every
  15285.             occurrence of a text  string, use a  large number like  999.
  15286.             File Express stops after the last replacement automatically.
  15287.  
  15288.             The text  is replaced  exactly as  specified.  If  uppercase
  15289.             characters  are   used,  they  are  replaced   as  uppercase
  15290.             characters.
  15291.  
  15292.             If the search_for text is not found, no replacement is made.
  15293.  
  15294.   EXAMPLES: REPLACE(F5,"MONDAY","TUESDAY")
  15295.  
  15296.             This  example  replaces  the first  occurrence  of  the word
  15297.             "MONDAY" with "TUESDAY" in Field 5.
  15298.  
  15299.             REPLACE(F5,"T","-",2)
  15300.  
  15301.             If Field 5  contains "Statement", then this  formula returns
  15302.             "S-a-ement".
  15303.  
  15304.  
  15305.   ALSO SEE: LEFT, MID and RIGHT
  15306.  
  15307.  
  15308.                                                               RIGHT  345
  15309.   ----------------------------------------------------------------------
  15310.  
  15311.  
  15312.  
  15313.   PURPOSE:  The RIGHT function is used to extract the right-most portion
  15314.             of a text string.
  15315.  
  15316.   SYNTAX:   right(text_field, number_of_characters)
  15317.  
  15318.             text_field  = the  character  field or  string  you want  to
  15319.             extract characters from.
  15320.  
  15321.             number_of_characters = the number  of characters to extract,
  15322.             from the right side of the field.
  15323.  
  15324.   TYPE:          Function, character
  15325.  
  15326.   USE IN:   Any Formula
  15327.  
  15328.   COMMENTS: This  function may be used  any place that  a text string is
  15329.             required.
  15330.  
  15331.   EXAMPLES: RIGHT(F2,4)
  15332.  
  15333.             If Field  2 contains  the company  name "Expressware",  this
  15334.             function returns the string "ware".
  15335.  
  15336.   ALSO SEE: LEFT, MID and REPLACE
  15337.  
  15338.  
  15339.   346  RIGHT JUSTIFIED (RJ)
  15340.   ----------------------------------------------------------------------
  15341.  
  15342.  
  15343.  
  15344.   PURPOSE:  The RIGHT JUSTIFIED keyword is used to right justify a field
  15345.             when printing.
  15346.  
  15347.   SYNTAX:   field right justified
  15348.  
  15349.             field = any field or constant text.
  15350.  
  15351.   TYPE:          Statement
  15352.  
  15353.   USE IN:   Label Writer and Report Writer
  15354.  
  15355.   COMMENTS: The field or text is right justified to the field's  defined
  15356.             length.
  15357.  
  15358.             Character  fields are normally left justified.  This default
  15359.             may be overridden by using the RIGHT JUSTIFIED keyword.
  15360.  
  15361.             To  right justify  text  within a  database,  see the  RJUST
  15362.             function.
  15363.  
  15364.   EXAMPLES: F1 RIGHT JUSTIFIED
  15365.  
  15366.             This  example right  justifies Field 1  within   the defined
  15367.             length of Field 1.
  15368.  
  15369.             F1 RJ
  15370.  
  15371.             This is exactly the same as the previous example.
  15372.  
  15373.             F1 & F2 RJ
  15374.  
  15375.             This example  combines Field  1 and Field  2 with  one space
  15376.             between them  and then right justifies the result within the
  15377.             combined length of both fields.
  15378.  
  15379.   ALSO SEE: CENTER, CENTERED, LEFT JUSTIFIED, LJUST and RJUST
  15380.  
  15381.  
  15382.                                                               RJUST  347
  15383.   ----------------------------------------------------------------------
  15384.  
  15385.  
  15386.  
  15387.   PURPOSE:  The RJUST function right justifies text within a field.
  15388.  
  15389.   SYNTAX:   rjust(field[, width])
  15390.  
  15391.             field = the field or character string to right justified.
  15392.  
  15393.             width  (optional)  =  the number  of  characters  to justify
  15394.             within.
  15395.  
  15396.   TYPE:          Function, character
  15397.  
  15398.   USE IN:   Label Writer, Report Writer and Search and Replace
  15399.  
  15400.   COMMENTS: If the width is omitted, the text is  right justified to the
  15401.             fields' defined length.  
  15402.  
  15403.             Since  character  fields  are stored  in  the  database left
  15404.             justified,  this function is commonly used when printing.
  15405.  
  15406.   EXAMPLES: RJUST("Hello",30)
  15407.  
  15408.             This example right justifies the word "Hello" to a width  of
  15409.             thirty spaces.  (Example: "                          Hello")
  15410.  
  15411.             RJUST(F1)
  15412.  
  15413.             This example right justifies Field 1 to the  fields' defined
  15414.             width.
  15415.  
  15416.   ALSO SEE: CENTER, CENTERED, LJUST, LEFT JUSTIFIED, and RIGHT JUSTIFIED
  15417.  
  15418.  
  15419.   348  ROUND
  15420.   ----------------------------------------------------------------------
  15421.  
  15422.  
  15423.  
  15424.   PURPOSE:  The ROUND function is  used to round off  a number to  fewer
  15425.             decimal places.
  15426.  
  15427.   SYNTAX:   round(field, decimal_places)
  15428.  
  15429.             field = any numeric field or result.
  15430.  
  15431.             decimal_places  = a numeric field or constant reflecting the
  15432.             number of decimal places to round to.
  15433.  
  15434.   TYPE:          Function, numeric
  15435.  
  15436.   USE IN:   Any Formula
  15437.  
  15438.   COMMENTS: The ROUND function  is used to reduce the  number of decimal
  15439.             places of a number.  This is commonly done after calculating
  15440.             dollar amounts to round tenths of a penny.
  15441.  
  15442.             When you  want to  drop the  decimal entirely,  use the  INT
  15443.             function.
  15444.  
  15445.             If a  number  is rounded  to  more decimal  places  than  it
  15446.             already has, there is no effect.
  15447.  
  15448.   EXAMPLES: ROUND(F10 * .081,2)
  15449.  
  15450.             This example  multiplies the contents  of Field  10 by  .081
  15451.             (the Seattle area's TAX rate) and returns the result to  the
  15452.             nearest penny.
  15453.  
  15454.   ALSO SEE: INT
  15455.  
  15456.  
  15457.                                                               RTRIM  349
  15458.   ----------------------------------------------------------------------
  15459.  
  15460.  
  15461.  
  15462.   PURPOSE:  The RTRIM function removes trailing blank spaces.
  15463.  
  15464.   SYNTAX:   rtrim(text)
  15465.  
  15466.             text = a character field or character string.
  15467.  
  15468.   TYPE:          Function, character
  15469.  
  15470.   USE IN:   Label Writer, Report Writer and Search and Replace
  15471.  
  15472.   COMMENTS: The RTRIM function  removes blank spaces after the last non-
  15473.             blank character.   It does  not remove blank  spaces between
  15474.             words in the text string.  (See examples.)
  15475.  
  15476.   EXAMPLES: RTRIM("Tom    ")
  15477.  
  15478.             This example produces "Tom".
  15479.  
  15480.             RTRIM("   BJ THOMAS   ")
  15481.  
  15482.             This example produces "   BJ THOMAS".
  15483.  
  15484.             RTRIM("Tom Smith")
  15485.  
  15486.             This example produces "Tom Smith".
  15487.  
  15488.   ALSO SEE: LTRIM, TRIM
  15489.  
  15490.  
  15491.   350  SOUNDS LIKE (SL)
  15492.   ----------------------------------------------------------------------
  15493.  
  15494.  
  15495.  
  15496.   PURPOSE:  The SOUNDS  LIKE comparitor  allows searches to  be made  by
  15497.             close matches instead of exact matches.
  15498.  
  15499.   SYNTAX:   field sounds like text
  15500.  
  15501.             field = any valid field.
  15502.  
  15503.             text = any valid field or text constant.
  15504.  
  15505.   TYPE:          Comparitor, character
  15506.  
  15507.   USE IN:   Record Selection
  15508.  
  15509.   COMMENTS: A SOUNDS LIKE  search is done by dividing  the alphabet into
  15510.             groups that  sound similar and  then assigning each  group a
  15511.             number.  The first  letter is taken  as is, figuring  people
  15512.             generally  use  the correct  first letter.   Words  are then
  15513.             converted to  numeric codes by  taking the group  number for
  15514.             each letter.  (Vowels and repeating consonants are ignored.)
  15515.             Words  that end  up with  the  same code  are considered  to
  15516.             "sound alike".
  15517.  
  15518.             Due to the nature of the SOUNDS LIKE comparitor (also  known
  15519.             as Soundex), some very unusual results can be returned. 
  15520.  
  15521.             File Express uses the  same phonetic grouping as  defined by
  15522.             the United States Standard Phonetic Alphabet. 
  15523.  
  15524.   EXAMPLES: Select all records where: F1 SOUNDS LIKE "SMITH"
  15525.  
  15526.             This  example finds matches such as "SMYTH", "SMTH", "SMIT",
  15527.             "SMITHE", ""SNITH" etc.
  15528.  
  15529.   ALSO SEE: NONE
  15530.  
  15531.  
  15532.                                                               SPACE  351
  15533.   ----------------------------------------------------------------------
  15534.  
  15535.  
  15536.  
  15537.   PURPOSE:  The SPACE function returns a given number of spaces.
  15538.  
  15539.   SYNTAX:   space(number)
  15540.  
  15541.             number = the number of spaces to be returned.
  15542.  
  15543.   TYPE:          Function, character
  15544.  
  15545.   USE IN:   Any Formula
  15546.  
  15547.   COMMENTS: The  SPACE  function is  basically  the same  as  the REPEAT
  15548.             function, except it repeats only the space character.
  15549.  
  15550.   EXAMPLES: SPACE(10)
  15551.  
  15552.             This example returns ten spaces.
  15553.  
  15554.             SPACE(30-LEN(F1))+F1
  15555.  
  15556.             This example  prints enough  spaces in front  of Field  1 to
  15557.             cause it to  line up with the  thirtieth character position.
  15558.             (Basically,   this  is  the  same  as  the  RIGHT  JUSTIFIED
  15559.             function.)
  15560.  
  15561.   ALSO SEE: GRAPH and REPEAT
  15562.  
  15563.  
  15564.   352  .SUBAVERAGE
  15565.   ----------------------------------------------------------------------
  15566.  
  15567.  
  15568.  
  15569.   PURPOSE:  The  .SUBAVERAGE function provides a numeric average for the
  15570.             current subtotal level.
  15571.  
  15572.   SYNTAX:   field.subaverage
  15573.  
  15574.             field = any numeric field.
  15575.  
  15576.   TYPE:          Function, numeric
  15577.  
  15578.   USE IN:   Report Writer
  15579.  
  15580.   COMMENTS: The  .SUBAVERAGE function divides the subtotal for the field
  15581.             by  the number  of records  in  the subtotal  group.   Blank
  15582.             fields in the records are counted.
  15583.  
  15584.             If  you  want  to  exclude blank  fields  from  the  Average
  15585.             calculation, use field.SUBTOTAL / field.NBSUBCOUNT.
  15586.  
  15587.             For more examples, see the chapter titled "Report Writer".
  15588.  
  15589.   EXAMPLES: F1.SUBAVERAGE
  15590.  
  15591.             If  this formula is used in the  Detail Section of a Report,
  15592.             it returns a  running average for Field 1.   If this formula
  15593.             is  used in  the  Subtotal Section,  it  returns the  ending
  15594.             average for each group.
  15595.  
  15596.   ALSO SEE: .AVERAGE
  15597.  
  15598.  
  15599.                                                           .SUBCOUNT  353
  15600.   ----------------------------------------------------------------------
  15601.  
  15602.  
  15603.  
  15604.   PURPOSE:  The  .SUBCOUNT function counts the number of records printed
  15605.             so far in the subtotal group.
  15606.  
  15607.   SYNTAX:   field.subcount
  15608.  
  15609.             field = any field or formula
  15610.  
  15611.   TYPE:          Function, numeric
  15612.  
  15613.   USE IN:   Report Writer
  15614.  
  15615.   COMMENTS: The  .SUBCOUNT function counts the number of records printed
  15616.             since the last trigger field changed.
  15617.  
  15618.             The  actual field  contents do  not  have an  affect on  the
  15619.             count.   (i.e.  character  fields are  counted  the same  as
  15620.             numeric fields; each as 1.)
  15621.  
  15622.             If .SUBCOUNT  is used  in the Detail  section or  Subtotal 1
  15623.             section, level 1  counts are returned.  If  used in Subtotal
  15624.             2, level  2 counts  are returned.   If used  in Subtotal  3,
  15625.             level 3 counts are returned.
  15626.  
  15627.             To  count  only  non  blank  entries,  see  the  .NBSUBCOUNT
  15628.             function.
  15629.  
  15630.   EXAMPLES: F1.SUBCOUNT
  15631.  
  15632.             This formula counts the number of records printed.  (It does
  15633.             not  matter which field is counted, i.e. F1.COUNT, F2.COUNT,
  15634.             F3.COUNT, etc. all return the same number.)
  15635.  
  15636.             If this formula is used  in the Detail Section of  a Report,
  15637.             it  provides a  running  count.   In  this way,  consecutive
  15638.             numbers can be generated in a printout.
  15639.  
  15640.   ALSO SEE: .COUNT, .NBSUBCOUNT and .NBCOUNT
  15641.  
  15642.  
  15643.   354  .SUBMAX
  15644.   ----------------------------------------------------------------------
  15645.  
  15646.  
  15647.  
  15648.   PURPOSE:  The .SUBMAX  function  provides the  maximum  numeric  value
  15649.             found for the current subtotal group.
  15650.  
  15651.   SYNTAX:   field.submax
  15652.  
  15653.   USE IN:   Label Writer and Report Writer
  15654.  
  15655.   COMMENTS: The .SUBMAX function returns the maximum numeric value found
  15656.             for the  field in the  current subtotal  group.   (Character
  15657.             fields,  unless they  contain  numeric information  or begin
  15658.             with numbers, equate to zeros.)
  15659.  
  15660.             If  .SUBMAX is  used in  the  Detail section  or Subtotal  1
  15661.             section, level 1 maximums are returned.  If used in Subtotal
  15662.             2, level 2  maximums are returned.   If used in  Subtotal 3,
  15663.             level 3 maximums are returned.
  15664.  
  15665.             For more examples, see the chapter titled "Report Writer". 
  15666.  
  15667.   EXAMPLES: F1.SUBMAX
  15668.  
  15669.             This formula  returns the  maximum numeric  value found  for
  15670.             Field 1 in the current subtotal group.
  15671.  
  15672.   ALSO SEE: .MAX, .MIN, .SUBMIN
  15673.  
  15674.  
  15675.                                                             .SUBMIN  355
  15676.   ----------------------------------------------------------------------
  15677.  
  15678.  
  15679.  
  15680.   PURPOSE:  The .SUBMIN  function  provides the  minimum  numeric  value
  15681.             found for the current subtotal group.
  15682.  
  15683.   SYNTAX:   field.submin
  15684.  
  15685.             field = any field or formula
  15686.  
  15687.   TYPE:          Function, numeric
  15688.  
  15689.   USE IN:   Report Writer
  15690.  
  15691.   COMMENTS: The .SUBMIN function returns the minimum numeric value found
  15692.             for  the field in  the current  subtotal group.   (Character
  15693.             fields,  unless they  contain numeric  information  or begin
  15694.             with numbers, equate to zeros.)
  15695.  
  15696.             If  .SUBMIN is  used in  the  Detail section  or Subtotal  1
  15697.             section, level 1 minimums are returned.  If used in Subtotal
  15698.             2, level 2  minimums are returned.   If used in Subtotal  3,
  15699.             level 3 minimums are returned.
  15700.  
  15701.             For more examples, see the chapter titled "Report Writer". 
  15702.  
  15703.   EXAMPLES: F1.SUBMIN
  15704.  
  15705.             This formula  returns the  minimum numeric  value found  for
  15706.             Field 1 in the current subtotal group.
  15707.  
  15708.   ALSO SEE: .MAX, .MIN and .SUBMAX
  15709.  
  15710.  
  15711.   356  .SUBTOTAL
  15712.   ----------------------------------------------------------------------
  15713.  
  15714.  
  15715.  
  15716.   PURPOSE:  The .SUBTOTAL function provides a numeric subtotal. 
  15717.  
  15718.   SYNTAX:   field.subtotal
  15719.  
  15720.             field = any numeric value or field
  15721.  
  15722.   USE IN:   Report Writer
  15723.  
  15724.   COMMENTS: The  .SUBTOTAL function  provides a  subtotal  based on  the
  15725.             numeric  value of the field.  (Character fields, unless they
  15726.             contain numeric information or begin with numbers, equate to
  15727.             zeros.)
  15728.  
  15729.             The level  of the subtotal generated depends  on the section
  15730.             in which it is  used.  (If used in the  Detail or Subtotal 1
  15731.             section, it returns a level 1 subtotal.  If used in Subtotal
  15732.             2 section, it  returns a level 2  subtotal.  If used  in the
  15733.             Subtotal 3 section, it returns a level 3 subtotal.)
  15734.  
  15735.             For more examples, see the chapter title "Report Writer".
  15736.  
  15737.   EXAMPLES: F1.SUBTOTAL
  15738.  
  15739.             If this formula is used in the Detail Section of the Report,
  15740.             it returns  the  running subtotal  for  Field 1.    If  this
  15741.             formula is used  in the Total Section, it  returns the grand
  15742.             total.
  15743.  
  15744.             F1.SUBTOTAL / 100
  15745.  
  15746.             If this formula is  used in a  Subtotal Section, it  divides
  15747.             the ending subtotal by 100. 
  15748.  
  15749.   ALSO SEE: .TOTAL
  15750.  
  15751.  
  15752.                                                                 SUM  357
  15753.   ----------------------------------------------------------------------
  15754.  
  15755.  
  15756.  
  15757.  
  15758.   PURPOSE:  The SUM function is used when you  want the sum of fields in
  15759.             a range.
  15760.  
  15761.   SYNTAX:   sum(field, field) OR sum(field:field)
  15762.  
  15763.             field = The first field is  the beginning field of the range
  15764.             and the second field is the ending field.  All fields within
  15765.             the range are added together.
  15766.  
  15767.   TYPE:          Function, numeric
  15768.  
  15769.   USE IN:   Any Formula
  15770.  
  15771.   COMMENTS: A comma or a colon may be used to separate the fields.
  15772.  
  15773.             If  there  are  any character  fields  within  the specified
  15774.             range, the VALUE of each field is used in the SUM function.
  15775.  
  15776.   EXAMPLES: SUM(F1,F10)
  15777.  
  15778.             This example adds Field 1 through Field 10.
  15779.  
  15780.             SUM(F1:F10)
  15781.  
  15782.             This example is exactly the same as the first.
  15783.  
  15784.   ALSO SEE: + (Plus)
  15785.  
  15786.  
  15787.   358  TIME
  15788.   ----------------------------------------------------------------------
  15789.  
  15790.  
  15791.  
  15792.   PURPOSE:  The TIME function returns the current time in standard AM/PM
  15793.             format.
  15794.  
  15795.   SYNTAX:   time
  15796.  
  15797.   TYPE:          Function, character
  15798.  
  15799.   USE IN:   Any Formula
  15800.  
  15801.   COMMENTS: The  TIME function returns  the current time  stored in your
  15802.             computer in AM/PM  format.  To change the  current time, you
  15803.             must be  at the  DOS level  and use  the DOS TIME  function.
  15804.             (For more information, consult the TIME function in your DOS
  15805.             manual.  
  15806.  
  15807.             Also see the MILTIME function for military (or 24 hour) time
  15808.             format.
  15809.  
  15810.   EXAMPLES: TIME
  15811.  
  15812.             If you have this  function in a  formula, it simply  returns
  15813.             the  current time  (i.e. 03:27  AM or  11:30  PM).   If this
  15814.             formula field is  defined in your  database, it updates  the
  15815.             time whenever the record is edited.
  15816.  
  15817.             If this function is used in a Report, it prints  the current
  15818.             time when each record is printed.
  15819.  
  15820.             TIME ADD ONLY
  15821.  
  15822.             The  ADD ONLY keywords  tells File Express  to calculate the
  15823.             formula only when  initially ADDING the record.   (It is not
  15824.             updated if the record is later edited.)
  15825.  
  15826.   ALSO SEE: MILTIME and TODAY
  15827.  
  15828.  
  15829.                                                            TIMEDIFF  359
  15830.   ----------------------------------------------------------------------
  15831.  
  15832.  
  15833.  
  15834.   PURPOSE:  The  TIMEDIFF function returns the number of minutes between
  15835.             two times.
  15836.  
  15837.   SYNTAX:   timediff(time[, time])
  15838.  
  15839.             time = any valid time in 24 hour format.  
  15840.  
  15841.   TYPE:          Function, numeric
  15842.  
  15843.   USE IN:   Any Formula
  15844.  
  15845.   COMMENTS: If the second TIME  is omitted, the  default system TIME  is
  15846.             used.  (For more  information on the  default TIME, see  the
  15847.             TIME function.)  The default time is in 24 hour format.
  15848.  
  15849.             If  the second time is earlier than the second time, then it
  15850.             is assumed that  the time difference extends  past midnight.
  15851.             In this case, File Express adds  24 hours to the second time
  15852.             to give the correct time difference.
  15853.  
  15854.             The  TIMEDIFF function returns the number of minutes between
  15855.             the first TIME and the  second TIME.  To convert  the number
  15856.             of minutes returned to hours and minutes, use the divide and
  15857.             MOD functions.  (See examples.)
  15858.  
  15859.   EXAMPLES: TIMEDIFF("09:00","17:00")
  15860.  
  15861.             This example  returns the  number of  minutes between  09:00
  15862.             (9:00 am) and 17:00 (5:00 pm).  The result is 480 minutes.
  15863.  
  15864.             INT(TIMEDIFF("09:00","17:00")) / 60
  15865.  
  15866.             This example divides the time difference by 60, this returns
  15867.             the number of hours (8 in this example).
  15868.  
  15869.             TIMEDIFF("23:00","00:30")
  15870.  
  15871.             Even though this example extends past midnight, this formula
  15872.             still returns the correct answer of 90.
  15873.  
  15874.   ALSO SEE: AGE and FUTUREDATE
  15875.  
  15876.  
  15877.   360  TODAY
  15878.   ----------------------------------------------------------------------
  15879.  
  15880.  
  15881.  
  15882.   PURPOSE:  The TODAY function  returns the current date in  the current
  15883.             date format.
  15884.  
  15885.   SYNTAX:   today
  15886.  
  15887.   TYPE:          Function, character
  15888.  
  15889.   USE IN:   Any Formula
  15890.  
  15891.   COMMENTS: The TODAY  function returns  the current date  as stored  in
  15892.             your computer.  To  change the date, you must be  at the DOS
  15893.             level and use the DOS DATE function.  (For more information,
  15894.             consult  the DATE function  in your  DOS manual.   Computers
  15895.             without a clock battery  must have the  date updated   every
  15896.             time the computer is rebooted.)
  15897.  
  15898.             For more examples, see the AGE function.
  15899.  
  15900.   EXAMPLES: TODAY
  15901.  
  15902.             This formula simply  returns the current date  (i.e. "12-25-
  15903.             90"  or  "25-12-1990"  etc. depending  on  the  current date
  15904.             format as defined in the Setup program).  If this is used as
  15905.             a formula in a database, this updates the date each time the
  15906.             record is edited.
  15907.  
  15908.             If  this function is used in a Report, it prints the current
  15909.             date when the report is printed.
  15910.  
  15911.  
  15912.             TODAY ADD ONLY
  15913.  
  15914.             The ADD  ONLY keywords tells  File Express to  calculate the
  15915.             formula only when  initially ADDING the record.   (It is not
  15916.             updated if the record is later edited.)
  15917.  
  15918.   ALSO SEE: MILTIME and TIME
  15919.  
  15920.  
  15921.                                                              .TOTAL  361
  15922.   ----------------------------------------------------------------------
  15923.  
  15924.  
  15925.  
  15926.   PURPOSE:  The .TOTAL function provides a numeric total.
  15927.  
  15928.   SYNTAX:   field.total
  15929.  
  15930.             field = any field
  15931.  
  15932.   TYPE:          Function, numeric
  15933.  
  15934.   USE IN:   Label Writer and Report Writer
  15935.  
  15936.   COMMENTS: The .TOTAL function  provides a total  based on the  numeric
  15937.             value of the field.   (Character fields, unless they contain
  15938.             numeric information or begin with numbers, equate to zeros.)
  15939.  
  15940.             For more examples, see the chapter titled "Report Writer".
  15941.  
  15942.   EXAMPLES: F1.TOTAL
  15943.  
  15944.             If this formula is used in the Detail Section of the Report,
  15945.             it returns the  running total for Field  1.  If used  in the
  15946.             Total Section, it returns the grand total.
  15947.  
  15948.             F1.TOTAL / 100
  15949.  
  15950.             If this formula is used in the Total Section, it divides the
  15951.             ending total by 100.
  15952.  
  15953.   ALSO SEE: .SUBTOTAL
  15954.  
  15955.  
  15956.   362  TRIM
  15957.   ----------------------------------------------------------------------
  15958.  
  15959.  
  15960.  
  15961.   PURPOSE:  The TRIM function removes leading and trailing spaces.
  15962.  
  15963.   SYNTAX:   trim(text)
  15964.  
  15965.             text = a character field or character string.
  15966.  
  15967.   TYPE:          Function, character
  15968.  
  15969.   USE IN:   Label Writer, Report Writer and Search and Replace
  15970.  
  15971.   COMMENTS: The trim function removes blank spaces before the first non-
  15972.             blank character and after the last non-blank character.  (It
  15973.             does not remove blank spaces between words.)
  15974.  
  15975.   EXAMPLES: TRIM("  Tom  ")
  15976.  
  15977.             This example produces "Tom".
  15978.  
  15979.             TRIM("   BJ THOMAS   ")
  15980.  
  15981.             This example produces "BJ THOMAS".
  15982.  
  15983.             TRIM("Tom Smith")
  15984.  
  15985.             This  example produces  "Tom Smith".   (Since  there are  no
  15986.             leading  or trailing  spaces to  remove,  this formula  does
  15987.             nothing.)
  15988.  
  15989.   ALSO SEE: LTRIM, RTRIM
  15990.  
  15991.  
  15992.                                                              UPDATE  363
  15993.   ----------------------------------------------------------------------
  15994.  
  15995.  
  15996.  
  15997.   PURPOSE:  The UPDATE statement puts information into another database.
  15998.  
  15999.   SYNTAX:   update(database,        search_field,       search_criteria,
  16000.             field_to_put_to, what_to_put)
  16001.  
  16002.             database = the  name of the database to  search (may include
  16003.             drive and path,  but no file extension).   The database must
  16004.             be the typed out name of the database.  It cannot be a field
  16005.             name or formula containing the name.
  16006.  
  16007.             search_field = the  field in the  other database to  search.
  16008.             The search_field must  be in the Fxx format.  It cannot be a
  16009.             field name.
  16010.  
  16011.             search_criteria =  the information  to use  for the  search.
  16012.             The  search_criteria parameter can have one of the following
  16013.             comparison signs preceding it:  
  16014.             =,  >,  <, >=,  <=,  ><, or  <>.    If a  comparitor  is not
  16015.             specified,  an exact match is looked for (disregarding upper
  16016.             and  lower  case  letters).    The  search_criteria  can  be
  16017.             constant text enclosed in  quotes, for example,  "BASEBALL",
  16018.             or a field number, F4, or a field name, BALANCE DUE.
  16019.  
  16020.             field_to_put_to =  the field number in the other database to
  16021.             put information  into.  This must be in  the Fxx format.  It
  16022.             cannot be a field name.
  16023.  
  16024.             what_to_put  = information to put into other database.  This
  16025.             can be a quoted text string, field name or field number.
  16026.  
  16027.   TYPE:          Statement
  16028.  
  16029.   USE IN:   Database
  16030.  
  16031.   COMMENTS: When an UPDATE  is made, the record accessed is  stored in a
  16032.             buffer.  The  next UPDATE checks this buffer  for a possible
  16033.             match  before rechecking a database.  Therefore, to decrease
  16034.             search time, all  UPDATEs which reference the  same database
  16035.             should be grouped together.
  16036.  
  16037.             If  no match  is found  in  the other  database, nothing  is
  16038.             written.
  16039.  
  16040.  
  16041.   364  UPDATE
  16042.   ----------------------------------------------------------------------
  16043.  
  16044.   EXAMPLES: UPDATE(PRICES, F1, F1, F2, F5)
  16045.  
  16046.             In this example,  PRICES refers to a database  called PRICES
  16047.             in the current data directory.  The first F1 refers to Field
  16048.             1 in the PRICES database, the second F1 refers to Field 1 in
  16049.             the current record in the current database, the F2 refers to
  16050.             Field 2 in the PRICES database, and  F5 refers to field 5 in
  16051.             the  current database.    If  F1  from  the  current  record
  16052.             contains "Lawn Mower", this example  searches Field 1 in the
  16053.             PRICES database for "Lawn Mower".  Once the match is  found,
  16054.             it puts the information from field 5 in the current database
  16055.             into field 2 of the PRICES database.
  16056.  
  16057.             UPDATE(C:\FE5\DATA\MAILLIST,F3,=name,F6, address)
  16058.  
  16059.             This example uses the MAILLIST database which is on Drive  C
  16060.             in the  subdirectory \FE5\DATA.  It searches the third field
  16061.             for a match  with the information from  the current records'
  16062.             name field.   Once a match is found, it puts into MAILLIST's
  16063.             sixth  field, the  contents  of  current database's  address
  16064.             field.
  16065.  
  16066.   ALSO SEE: LOOKUP
  16067.  
  16068.  
  16069.                                                       UPPER (UCASE)  365
  16070.   ----------------------------------------------------------------------
  16071.  
  16072.  
  16073.  
  16074.  
  16075.   PURPOSE:  The  UPPER function  is used  to convert  all  characters to
  16076.             upper case.
  16077.  
  16078.   SYNTAX:   upper(text)
  16079.  
  16080.             text = a character field or character string.
  16081.  
  16082.   TYPE:          Function, character
  16083.  
  16084.   USE IN:   Label Writer, Report Writer and Search and Replace
  16085.  
  16086.   COMMENTS: A field  may be  converted to all  upper case  characters by
  16087.             using this function.  This is commonly done when printing or
  16088.             using the Search and Replace option.
  16089.  
  16090.   EXAMPLES: UPPER("Hello")
  16091.  
  16092.             This example produces "HELLO".
  16093.  
  16094.             UPPER("hello")
  16095.  
  16096.             This also produces "HELLO".
  16097.  
  16098.             UPPER(F1)
  16099.  
  16100.             This converts Field 1 to all upper case characters.
  16101.  
  16102.   ALSO SEE: LOWER, PROPER
  16103.  
  16104.  
  16105.   366  VALUE (VAL)
  16106.   ----------------------------------------------------------------------
  16107.  
  16108.  
  16109.  
  16110.   PURPOSE:  The VALUE functions returns the numeric value from a field.
  16111.  
  16112.   SYNTAX:   value(field)
  16113.  
  16114.             field = any field.
  16115.  
  16116.   TYPE:          Function, numeric
  16117.  
  16118.   USE IN:   Any Formula
  16119.  
  16120.   COMMENTS: Generally this function  is used on Character fields so that
  16121.             the true numeric value in the field can be used.
  16122.  
  16123.             The VALUE function starts  on the left  side of a  character
  16124.             field  and continues  taking numbers  until  it reaches  the
  16125.             first non numeric character.  
  16126.  
  16127.             If the  character field does not  start with a number,   the
  16128.             result is zero.
  16129.  
  16130.             If the VALUE  is taken on a numeric field, the result is the
  16131.             numeric field.  (Basically it does nothing.)
  16132.  
  16133.   EXAMPLES: VALUE(F1)
  16134.  
  16135.             If Field 1 contains "142", the result is 142.
  16136.  
  16137.             VALUE(F5)
  16138.  
  16139.             If Field 5 contains "125 Stella St.", the result is 125.
  16140.  
  16141.             VALUE(F5)
  16142.  
  16143.             If Field 5 contains "PO Box 1800", the result is 0.
  16144.  
  16145.   ALSO SEE: SUM 
  16146.  
  16147.  
  16148.                                                                YEAR  367
  16149.   ----------------------------------------------------------------------
  16150.  
  16151.  
  16152.  
  16153.   PURPOSE:  The  YEAR  function returns  the  four  digit  year for  the
  16154.             current date or for the date specified.
  16155.  
  16156.   SYNTAX:   year[(date)]
  16157.  
  16158.             date = any valid date field or constant date.
  16159.  
  16160.   TYPE:          Function, numeric
  16161.  
  16162.   USE IN:   Any Formula
  16163.  
  16164.   COMMENTS: If the date is omitted, this function returns the year  from
  16165.             the  current system date.   (For information  on the current
  16166.             date, see the TODAY function.)
  16167.  
  16168.   EXAMPLES: YEAR
  16169.  
  16170.             If the current year is 1990, this function returns "1990".
  16171.  
  16172.             YEAR(F1)
  16173.  
  16174.             If "04-16-90" is the date in Field 1, this function  returns
  16175.             "1990".
  16176.  
  16177.             DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
  16178.  
  16179.             If Field  1 has the  date "04-16-90", this  function returns
  16180.             "Monday, April 16, 1990".
  16181.  
  16182.   ALSO SEE: DAY, DAYABBV,  DAYNAME,  FORMATDATE,  MONTH,  MONTHABBV  and
  16183.             MONTHNAME
  16184.  
  16185.  
  16186.   368  ZEROS
  16187.   ----------------------------------------------------------------------
  16188.  
  16189.  
  16190.  
  16191.   PURPOSE:  The  ZEROS statement  tells  File  Express  to  print  zeros
  16192.             instead of blanks when printing numeric fields.
  16193.  
  16194.   SYNTAX:   numeric_field [with] zeros
  16195.  
  16196.             numeric_field = any numerical field or formula.
  16197.  
  16198.   TYPE:          Statement
  16199.  
  16200.  
  16201.   COMMENTS: The default for  File Express is to print  blanks instead of
  16202.             zeros  if  a numeric  field is  equal  to zero.    The ZEROS
  16203.             keywords can be  used to override this default.   (To change
  16204.             the default, use the Setup program.)
  16205.  
  16206.             When zeros  are printed, enough  zeros are used  to maintain
  16207.             decimal places.
  16208.  
  16209.   EXAMPLES: F5 WITH ZEROS
  16210.  
  16211.             If Field 5 is  blank with no  decimal places, the output  is
  16212.             "0".
  16213.  
  16214.             F5 WITH ZEROS
  16215.  
  16216.             If Field 5  is blank with  2 decimal places,  the output  is
  16217.             "0.00".
  16218.  
  16219.   ALSO SEE: NO ZEROS
  16220.  
  16221.  
  16222.                                                   ADVANCED FEATURES  369
  16223.   ----------------------------------------------------------------------
  16224.  
  16225.  
  16226.                             Advanced Features
  16227.  
  16228.        This  section discusses several of  the more technical aspects of
  16229.        File Express,  which the  average user does  not usually  need to
  16230.        know.   The section  assumes the  reader has  a complete  working
  16231.        knowledge of DOS, File Express and EDLIN (or another text  editor
  16232.        or word processor). 
  16233.  
  16234.  
  16235.   Screen Dumps To Disk 
  16236.        As you  probably know, the contents of the  screen can be sent to
  16237.        the printer by pressing the <Shift-PrtSc> key (this is a  feature
  16238.        of DOS and  can be used with any program, not just File Express).
  16239.        File Express has  expanded on this concept, letting  you send the
  16240.        contents of the screen to  a disk file.  Whenever <Shift-F10>  is
  16241.        pressed on any screen in File Express, the screen's contents  are
  16242.        placed on disk in a file called SCREEN.DMP.   If the file already
  16243.        has data in  it, the  current screen  dump is added  at the  end.
  16244.        This screen dump  file can be sent  to your printer with  the DOS
  16245.        command: 
  16246.                           COPY SCREEN.DMP PRN: 
  16247.        and can be deleted with the DOS command: 
  16248.                               DEL SCREEN.DMP
  16249.        and can be edited  and printed with most word processors and text
  16250.        editors. 
  16251.  
  16252.    
  16253.  
  16254.  
  16255.   370  ADVANCED FEATURES
  16256.   ----------------------------------------------------------------------
  16257.  
  16258.   Custom Banner Screens 
  16259.        Because  File Express is  so versatile, many  software developers
  16260.        and value-added resellers use  it as a  starting point for  their
  16261.        own vertical  market  applications.   At  the  request  of  these
  16262.        developers, we have added  a custom banner  screen option to  the
  16263.        File Express start-up process.   After File Express displays  its
  16264.        own banner screen, it checks the selected subdirectory to see  if
  16265.        there is a file called BANNER on disk.  If such a file exists, it
  16266.        is loaded and displayed on the screen. 
  16267.  
  16268.        The format of the BANNER file  is fairly simple.  The first  line
  16269.        contains  three numbers, separated  by commas.   The first number
  16270.        indicates  the  length  of  time,  in  seconds,  to  pause  after
  16271.        displaying the custom banner.   If the first number is zero, File
  16272.        Express  pauses  until  a  key  is  pressed.  The  second  number
  16273.        indicates the foreground color to be used for the banner display.
  16274.        The third number indicates the background color.  
  16275.  
  16276.        The second and subsequent lines of BANNER are read and  displayed
  16277.        on the screen  using the colors specified.  If the computer has a
  16278.        monochrome  board, or if  the operator specified  /M at start-up,
  16279.        the custom banner screen  is displayed in  white characters on  a
  16280.        black background. 
  16281.  
  16282.        Referring to the table below, the foreground color value may be a
  16283.        number from zero  to fifteen.  The background color  value may be
  16284.        from zero to seven: 
  16285.  
  16286.                  0  Black        8  Gray 
  16287.                  1  Blue         9  Light Blue 
  16288.                  2  Green       10  Light Green 
  16289.                  3  Cyan        11  Light Cyan 
  16290.                  4  Red         12  Light Red 
  16291.                  5  Magenta     13  Light Magenta 
  16292.                  6  Brown       14  Yellow 
  16293.                  7  White       15  High-intensity White 
  16294.  
  16295.  
  16296.        To create  the BANNER file, use a text  editor and place the file
  16297.        in the same subdirectory as the File Express program files.
  16298.  
  16299.  
  16300.                                                   ADVANCED FEATURES  371
  16301.   ----------------------------------------------------------------------
  16302.  
  16303.        Example:
  16304.  
  16305.             Line 1 :0,7,1
  16306.             Line 2 :
  16307.             Line 3 :
  16308.             Line 4 :
  16309.             Line 5 :
  16310.             Line 6 :       Joe's Database Service
  16311.             Line 7 :
  16312.             Line 8 :
  16313.             Line 9 :
  16314.             Line 10:            Fishing Holes in the USA
  16315.             Line 11:
  16316.             Line 12:
  16317.             Line 13:
  16318.             Line 14:              206-555-7385
  16319.             Line 15:
  16320.             Line 16:
  16321.             Line 17:
  16322.             Line 18:
  16323.             Line 19:
  16324.             Line 20:
  16325.             Line 21:          ...press any key to continue
  16326.             Line 22:
  16327.             Line 23:
  16328.             Line 24:
  16329.             Line 25:
  16330.  
  16331.  
  16332.  
  16333.        The example above displays the banner screen in white letters  on
  16334.        a  blue  background and  waits  for a  key to  be  pressed before
  16335.        continuing. 
  16336.  
  16337.  
  16338.   372  ADVANCED FEATURES
  16339.   ----------------------------------------------------------------------
  16340.  
  16341.  
  16342.  
  16343.                         Customizing File Express 
  16344.  
  16345.  
  16346.        This section describes the profile feature of File Express.  Many
  16347.        aspects of  File Express can be tailored  to special environments
  16348.        or personal tastes.   For example, all  the colors used  for File
  16349.        Express screens and menus can be  changed.  Defaults, such as the
  16350.        disk drive and path can also be changed. 
  16351.  
  16352.        These custom  changes  are placed  in  a special  file  called  a
  16353.        profile, which  resides in  the directory  with the File  Express
  16354.        programs.   The  name of  the file  with the  profile  options is
  16355.        FE.PRO.   If the file  doesn't exist,  File Express uses  all its
  16356.        standard options. 
  16357.  
  16358.        FE.PRO  is  a  binary file  and  CANNOT  be  edited with  a  word
  16359.        processor or text editor.   The File  Express package includes  a
  16360.        program called FESETUP.EXE  which is used to make  changes in the
  16361.        configuration file.
  16362.  
  16363.   Starting the Setup Program
  16364.        The  Setup  program must  be  run  from  your Program  drive  and
  16365.        directory so it can load and save FE.PRO in the correct location.
  16366.  
  16367.  
  16368.        Floppy System:  If you are running File Express from a two floppy
  16369.        drive   system,   place   the   Supplemental   Disk   (containing
  16370.        FE5SETUP.EXE) in the B: drive and the Program Disk (where  FE.PRO
  16371.        resides) in the A: drive.  From the A:> prompt type
  16372.  
  16373.                             B:FE5SETUP <Enter>
  16374.  
  16375.        Hard Disk System:   If you are  running File Express from  a hard
  16376.        disk, change directories  to the  subdirectory containing  FE.EXE
  16377.        and then type:
  16378.  
  16379.                              FE5SETUP <Enter>
  16380.  
  16381.  
  16382.                                                         CUSTOMIZING  373
  16383.   ----------------------------------------------------------------------
  16384.  
  16385.        Using Setup:  When the program is loaded, the Opening Instruction
  16386.        screen appears:
  16387.  
  16388.  
  16389.  
  16390.  
  16391.  
  16392.  
  16393.                  Registered Version has screen picture here
  16394.  
  16395.  
  16396.  
  16397.  
  16398.  
  16399.  
  16400.  
  16401.  
  16402.  
  16403.  
  16404.  
  16405.   General Defaults
  16406.        Sound Option: File Express makes a variety of beeps  and blips as
  16407.        data is being entered.   These sounds  can be helpful,  providing
  16408.        audio feedback as you progress  through the screens.  But  if you
  16409.        find  the sound annoying, you can turn  it off, either by setting
  16410.        this option to  NO or by using /S  as a command line  option when
  16411.        starting File Express. 
  16412.  
  16413.        Most people find the sound feature useful, so we have made it the
  16414.        default.   But  some people  turn it  off because the  speaker on
  16415.        their  PC is  too  loud or  because others  around  them find  it
  16416.        annoying.   If you  aren't sure  about the  sound, try  it for  a
  16417.        couple days.    Once you  have  become accustomed  to  the  audio
  16418.        feedback from  the  program, you  may  find it  hard  to  operate
  16419.        without it. 
  16420.  
  16421.        Screen Display:   If your computer's  video memory is not  at the
  16422.        same address as IBM video memory, you can  still use File Express
  16423.        by either  specifying /B on the command  line, or by setting this
  16424.        option to SLOW. 
  16425.  
  16426.        Snow:   If annoying "snow"  appears on  your screen when  data is
  16427.        displayed, set this option to YES.  
  16428.  
  16429.        Menu  Lines:   File Express  normally  displays it  menus with  a
  16430.        surrounding double  line.  If you would like to remove this line,
  16431.        answer NO.
  16432.  
  16433.        Auto  Enter Option:  Normally  File Express requires that <Enter>
  16434.        be pressed  to advance to the next field.  If you prefer that the
  16435.  
  16436.  
  16437.   374  CUSTOMIZING
  16438.   ----------------------------------------------------------------------
  16439.  
  16440.        cursor automatically move  to the next field when  it reaches the
  16441.        end of a field, answer YES. 
  16442.  
  16443.        This  option is  only in  effect when  entering data  on the  Add
  16444.        Records screen or changing data on the Find  Records screen.  All
  16445.        other prompts function  as described in the  Keyboard Conventions
  16446.        chapter. 
  16447.  
  16448.        Space  Character:   When File  Express  displays a  field on  the
  16449.        screen, it normally pads  the right-hand side  of the field  with
  16450.        underline characters.  If  the field is  empty, it is  completely
  16451.        filled  with underline  characters.   If  it has  some data,  the
  16452.        underlines  appear to  the right  of  the data,  filling out  the
  16453.        field.    These  underlines  are  useful  because  they  visually
  16454.        indicate the  maximum length of the  field.  If you  would prefer
  16455.        another character,  press the  <Spacebar> to  toggle through  the
  16456.        thirteen available pad characters.  Press <Enter> when finished.
  16457.  
  16458.        Default Date Format:  File Express supports four date format: 
  16459.             MM-DD-YY, MM-DD-YYYY, DD-MM-YY and DD-MM-YYYY.
  16460.        These formats are  used for  date input  only.   The actual  date
  16461.        representation  is always  stored in  the database  the  same way
  16462.        (YYYYMMDD).  This lets you change the date format at any time and
  16463.        still display all existing dates in the correct format.
  16464.  
  16465.        Default Monetary Sign:   You can select between  the dollar sign,
  16466.        the British  pound sign and the Japanese Yen  sign.  This sign is
  16467.        used on reports when printing monetary amounts.
  16468.  
  16469.        Block Field  Exit Key:   You have  two choices concerning  how to
  16470.        exit a block field: <Enter> and <Ctrl-Enter>.  All other types of
  16471.        fields are exited by the <Enter> key but in a block field you may
  16472.        want to use <Enter> to  move the cursor down to the  next line as
  16473.        you would in a word processor.  
  16474.  
  16475.        Search Method For  EQUAL Operator:  In previous  versions of File
  16476.        Express a search criteria like: 
  16477.                                 F1 = CAN 
  16478.        would find all  records where Field  1 started with CAN,  such as
  16479.        CANADA,  CANDY, CAN, CANCER, CANDLE  etc.  If  you just wanted to
  16480.        find the records where Field 1 just equaled CAN and nothing else,
  16481.        you had to use something like: 
  16482.                          F1 = CAN AND LEN(F1) = 3
  16483.        This was not easy to remember and inconsistent with the way other
  16484.        products  work.  A  better way is  to handle EQUAL  searches like
  16485.        this:
  16486.                                  F1 = CAN
  16487.        finds records where  field one is CAN  and nothing else.   If you
  16488.        want to find records where Field 1 starts with CAN, use:
  16489.                                 F1 = CAN..
  16490.  
  16491.  
  16492.                                                         CUSTOMIZING  375
  16493.   ----------------------------------------------------------------------
  16494.  
  16495.        So, if you want to use the new method, select EXACT.  If you like
  16496.        the old method, select STARTS WITH.  The choice is yours.
  16497.         
  16498.  
  16499.  
  16500.   376  CUSTOMIZING
  16501.   ----------------------------------------------------------------------
  16502.  
  16503.   Color Defaults
  16504.        Color  or Mono:   If your  computer has a  monochrome video card,
  16505.        File  Express recognizes its  presence and displays  screens with
  16506.        white characters on a  black background.  If it has  a color card
  16507.        but a  monochrome  monitor, or  if  you prefer  black  and  white
  16508.        displays on your color monitor, specify /M on the command line or
  16509.        set this option to MONO.
  16510.  
  16511.        Screen Colors:   If your  computer has  a color monitor,  you can
  16512.        change the  colors which  File Express  uses on  its screens  and
  16513.        menus.   To change any  one of the  color combinations,  move the
  16514.        highlight bar to it and press <F> to change the foreground  color
  16515.        and <B>  to change the background color.  Press <Enter> to accept
  16516.        your choice.  
  16517.  
  16518.             General color                 lt white ON blue 
  16519.             General Highlight color       yellow ON blue 
  16520.             Main Menu color               red ON white 
  16521.             Main Menu Highlight color          black ON white 
  16522.             Sub Menu color                blue ON cyan 
  16523.             Sub Menu Highlight color           black ON cyan 
  16524.             Shadow color                  black ON blue 
  16525.             Title color                   lt white ON red 
  16526.             Input color                   yellow ON black 
  16527.             Field color                   lt cyan ON blue 
  16528.             Error color                   lt white ON red 
  16529.  
  16530.        The foreground color (the first one specified) may be any  of the
  16531.        sixteen colors  listed below.   The background color  (the second
  16532.        one specified) may be any of the eight colors on the left. 
  16533.  
  16534.                  Black          Gray 
  16535.                  Blue      Lt Blue 
  16536.                  Green          Lt Green 
  16537.                  Cyan      Lt Cyan 
  16538.                  Red       Lt Red 
  16539.                  Magenta   Lt Magenta 
  16540.                  Brown          Yellow 
  16541.                  White          Lt White 
  16542.  
  16543.  
  16544.                                                         CUSTOMIZING  377
  16545.   ----------------------------------------------------------------------
  16546.  
  16547.   Data Entry Defaults 
  16548.        Drive and Path  name: File Express defaults to  the current drive
  16549.        and path on hard disk systems and to the root directory  of drive
  16550.        B on  diskette  systems.   You  can override  these  defaults  by
  16551.        filling in a different drive and path.  Examples:
  16552.  
  16553.                                 D:\FE\DATA
  16554.                                    C:\
  16555.                                     B:
  16556.  
  16557.        If  the directory  and  backslashes  are  omitted,  File  Express
  16558.        defaults to  the root  directory of the  specified drive.   If  a
  16559.        directory is specified, it must be one that exists; File  Express
  16560.        does not create new  directories.  If the command line contains a
  16561.        drive and path  at startup, it overrides these defaults.   If the
  16562.        command line contains no drive and path, and this field is empty,
  16563.        the prompt for drive and path is displayed.  
  16564.  
  16565.  
  16566.        Database  File Name:    To specify  a database  to  be opened  at
  16567.        startup,  fill  in this  field  with  the  name of  the  database
  16568.        (without an extension).  Example:
  16569.  
  16570.                                  MAILLIST
  16571.  
  16572.  
  16573.        Clear Buffer Option: File Express writes records to disk as  soon
  16574.        as they are changed.  However, DOS does not update information in
  16575.        the disk directory  at the time the  records are written.   So if
  16576.        something  were to  interrupt your  computer's  processing before
  16577.        File Express ended, some  of your data could be lost.   To reduce
  16578.        the possibility of data loss, File Express issues a Close command
  16579.        to DOS after every five records are written to disk.   This Close
  16580.        command tells  DOS  to go  update  the disk  directory  and  file
  16581.        allocation tables. 
  16582.  
  16583.        You  can  tell  File  Express  to  issue  a  Close  command  more
  16584.        frequently by setting this prompt to a lower number.  This number
  16585.        is  the number  of writes to  disk before  the buffer  is cleared
  16586.        (i.e. the files are  closed).  If you specify a value of one, the
  16587.        buffers are  cleared every  time a  database record  is added  or
  16588.        changed. 
  16589.  
  16590.        A value of one provides the most security for your data, although
  16591.        it  adds a  small amount  of  overhead to  the process  of adding
  16592.        records.   But consider  this typical  example: an  office has  a
  16593.        database which several employees use for inquiry during  the day.
  16594.        Sometimes  the employees make minor changes to the database, then
  16595.        they leave the Find Records menu displayed on  the screen for the
  16596.        next person.  In this environment,  a change to a record can  sit
  16597.        in the computer's memory for hours, maybe  even overnight, before
  16598.  
  16599.  
  16600.   378  CUSTOMIZING
  16601.   ----------------------------------------------------------------------
  16602.  
  16603.        it  is finally  updated on  disk.   If  the electricity  goes off
  16604.        during that time, or if someone re-boots the computer or  removes
  16605.        the diskette, the data  is lost because it  was never written  to
  16606.        disk by DOS.
  16607.  
  16608.        File  Express automatically clears  the buffers when  the program
  16609.        returns to the  Main Menu.   So if  you have not  used the  Setup
  16610.        program, the next  best alternative is to return to the Main Menu
  16611.        before letting the computer sit idle. 
  16612.  
  16613.        Disk  Space:   If  you would  like  File  Express to  report  the
  16614.        remaining  disk space when  you are entering  new records, answer
  16615.        YES.  Because  this check has to  look in the directory  table on
  16616.        your Data  drive to  determine the  remaining space,  floppy disk
  16617.        users have to  wait a little longer  than hard disk users.   Thus
  16618.        floppy  disk users  might be  tempted  to turn  off the  service.
  16619.        Remember,  however, that  floppy disks  hold much less  data than
  16620.        hard disks and should be monitored for free space more closely.
  16621.  
  16622.  
  16623.   Label Printing Defaults 
  16624.        The Label Spacing defaults which appear when defining a new label
  16625.        can also be changed with Setup commands: 
  16626.  
  16627.             Labels across (1 - 5)                    1
  16628.             Vertical label spacing (1 - 99)               6 
  16629.             Printable lines per label (1 - 99)       4
  16630.             Horizontal label spacing  (1 - 99)      37 
  16631.             Characters per label line (1 - 99)      34
  16632.             Tab position of first label (1 - 99)          5
  16633.             Number of Labels for each record (1-999)      1
  16634.  
  16635.  
  16636.        Changing these defaults  do not affect  label formats which  have
  16637.        already been  designed and  saved.   To change  options on  those
  16638.        formats, load them in, change the options, then save them to disk
  16639.        to make the changes permanent. 
  16640.  
  16641.  
  16642.                                                         CUSTOMIZING  379
  16643.   ----------------------------------------------------------------------
  16644.  
  16645.   Report Printing Defaults
  16646.        The  Report section asks many questions  concerning the layout of
  16647.        the report.  
  16648.  
  16649.  
  16650.        Print a Subtotal for a single record                   NO
  16651.        Use Linefeeds when printing                       NO
  16652.        Use Formfeeds at end of page                 NO
  16653.        Page Width (18 - 999)                        500
  16654.        Left margin on reports (0 - 99)                     5
  16655.        Page length (1 - 250)                              66
  16656.        Lines per page to print (1 - 250)                   1
  16657.        Top margin on reports (0 - 99)                      0
  16658.        Print Zeros as blanks                             NO
  16659.        Put Parentheses around neg. numbers               NO
  16660.        Type of Brackets for neg. numbers                 ( )
  16661.        Format large numbers with Commas                  YES
  16662.        Title position
  16663.        Header position
  16664.        Footer position
  16665.        Remove Blank Lines when printing
  16666.        Pause between each report page or label
  16667.        Print to the Screen, Printer, or Disk
  16668.  
  16669.  
  16670.   Form Letter Defaults
  16671.        When  writing form  letters  you can  set  the following  default
  16672.        settings.
  16673.  
  16674.        Text Width                                   70
  16675.        Paper Length                                 66
  16676.        Lines of Text                                58
  16677.        Top Margin                                    0
  16678.        Left Margin                                   5
  16679.        Use formfeeds at end of page                 NO
  16680.        Pause between each form letter                    NO
  16681.        Print to the Screen, Printer, or Disk                   SCREEN
  16682.  
  16683.  
  16684.   380  CUSTOMIZING
  16685.   ----------------------------------------------------------------------
  16686.                                      empty
  16687.  
  16688.  
  16689.                                                     TROUBLESHOOTING  381
  16690.   ----------------------------------------------------------------------
  16691.  
  16692.                              Troubleshooting
  16693.  
  16694.  
  16695.        If an error  occurs in File Express, the  error message sometimes
  16696.        tells you to  refer to this  chapter.  Or  if you have a  problem
  16697.        where  there is no  error message involved,  for example, nothing
  16698.        displays  on the screen, you  can refer to  this chapter as well.
  16699.        The first  part of  this chapter  discusses  common problems  and
  16700.        prospective cures.   The last section explains what to  do if you
  16701.        find a problem and want to report  it to Expressware.  Appendix A
  16702.        lists  several   File  Express  error   messages  alphabetically,
  16703.        explains what they  mean, and provides corrective  measures where
  16704.        appropriate.  
  16705.  
  16706.  
  16707.   Screen Does Not Display 
  16708.        Problem: You  start up  File  Express and  it seems  to load  but
  16709.        doesn't display anything on the screen. 
  16710.  
  16711.        Press <Esc>  then <Enter>.   If  you press  those keys  and don't
  16712.        return to the  DOS prompt, the computer  has locked up.   In that
  16713.        case, refer to the section below on  "locking up".  If you return
  16714.        to the DOS prompt, it's a good sign, indicating that File Express
  16715.        was running,  but was  just not displaying  properly.   Start the
  16716.        program again, only this time, use this command to start it: 
  16717.  
  16718.                                         FE /B 
  16719.  
  16720.        The  /B tells File Express  to use BIOS  calls when displaying on
  16721.        the screen.  This is usually the cause of missing displays. 
  16722.  
  16723.  
  16724.   Some Characters Are Fuzzy or Unreadable 
  16725.        Problem: You start  up File Express and it  loads, but the screen
  16726.        is fuzzy and unreadable, or some of the characters are missing. 
  16727.  
  16728.        This  usually   occurs  on  computers  with  monochrome  monitors
  16729.        attached  to  graphics  boards.    The  monitor  is incapable  of
  16730.        displaying colors,  but File Express has no  way of knowing it by
  16731.        examining the hardware.   Press <Esc> then  <Enter> to return  to
  16732.        the DOS prompt.  Then start the program again using this command:
  16733.  
  16734.  
  16735.                                         FE /M 
  16736.  
  16737.        The /M tells File  Express to display  in monochrome mode  (white
  16738.        characters on a black background). 
  16739.  
  16740.  
  16741.   382  TROUBLESHOOTING
  16742.   ----------------------------------------------------------------------
  16743.  
  16744.   Computer Locks Up At Startup 
  16745.        Problem: The computer stops while loading File Express,  and just
  16746.        hangs.   No amount of pressing keys will  shake it loose, and the
  16747.        computer must be  rebooted to get it going again.   Sometimes the
  16748.        banner screen is displayed, sometimes nothing is displayed. 
  16749.  
  16750.        Reboot  your computer,  and start File  Express again,  this time
  16751.        using this command: 
  16752.  
  16753.                                        FE /M/S/B 
  16754.  
  16755.        /M says to display monochrome, /S says to turn off the sound, and
  16756.        /B says to  use BIOS  calls for  screen displays.   When you  use
  16757.        these  three options, File Express is just  about as generic as a
  16758.        program  can  get.    If  it  works  with  these  commands,   try
  16759.        experimenting  with only one or  two of them at a  time.  You may
  16760.        find that you  need only one of  the commands to get  it to work.
  16761.        If these commands don't cure the problem, read on: 
  16762.  
  16763.        If you have an older model  of a computer that runs MS-DOS,  this
  16764.        problem is probably due to your computer being "semi-compatible";
  16765.        i.e.  it's not 100% compatible with  the IBM PC, so some programs
  16766.        don't run properly in it.  If this is the case, you  may have had
  16767.        a similar experience with  other software packages.   If this  is
  16768.        the case, we're  sorry, but we can't  help.  We will  be happy to
  16769.        refund your money, however, if you return the product in  salable
  16770.        condition within 60 days of purchase. 
  16771.  
  16772.        If  your computer is not an older model, and if you're sure it is
  16773.        100% compatible with  the IBM PC, the most likely problem is that
  16774.        the program diskette is bad.  If you bought the diskette from us,
  16775.        send it back and we will replace it.  If the diskette came from a
  16776.        friend or other shareware source, get another copy, preferably on
  16777.        a  different diskette, and  try again.   Or if you  suspect their
  16778.        original diskette  is bad, contact us for an evaluation copy at a
  16779.        nominal price. 
  16780.  
  16781.        There is another problem which occasionally causes a  computer to
  16782.        hang up  while running  File Express: bad  memory.   File Express
  16783.        uses all the available  RAM memory in  your computer, while  many
  16784.        other programs do  not.  If one  of those seldom-used  RAM memory
  16785.        locations has a bad  spot, the computer  sometimes locks up  when
  16786.        that  memory  location is  accessed.   Sometimes  a  PARITY ERROR
  16787.        message is  displayed by  DOS, and  sometimes  the computer  just
  16788.        hangs.  Memory  errors are often heat- related.   If the computer
  16789.        was just turned on, let it run awhile and try again.  If the room
  16790.        is very warm,  turn off the computer  for an hour and  try again.
  16791.        If you suspect a RAM memory problem, consult a repair technician.
  16792.  
  16793.  
  16794.                                                     TROUBLESHOOTING  383
  16795.   ----------------------------------------------------------------------
  16796.                                      empty
  16797.  
  16798.  
  16799.   384  TROUBLESHOOTING
  16800.   ----------------------------------------------------------------------
  16801.  
  16802.   Printer Double-Spaces Reports Or Labels 
  16803.        Problem: You  print a report  or labels, and  some or all  of the
  16804.        lines  have an extra  space between them,  giving a double-spaced
  16805.        effect. 
  16806.  
  16807.        If  you  have used  File  Express  before  and didn't  have  this
  16808.        problem, try printing another report or label format that usually
  16809.        works.  If other formats work  but this one doesn't, the  problem
  16810.        is in the report definition.  Check the report or label layout to
  16811.        make sure  it is not  wider than your  printer can handle.   If a
  16812.        printer is sent  a longer line than it can print, it will usually
  16813.        "wrap around" the end of the line to a second line,  resulting in
  16814.        a double-spaced  effect.    In this  case,  characters  from  the
  16815.        right-hand edge of the  report may appear in  the left margin  on
  16816.        the second line.   To remedy this problem, shorten  the report or
  16817.        use a larger character-per-inch density to fit the report on  the
  16818.        page. 
  16819.  
  16820.        This  wrap-around  problem often  happens on  labels when  a long
  16821.        field is specified as  the last field on  a line.  This  causes a
  16822.        double-space only on the  offending line.  Add up the  lengths of
  16823.        all the fields  on the line.   If they exceed  the width of  your
  16824.        printer,  use compressed  print, or  shorten the  long field,  or
  16825.        break the data up onto two lines. 
  16826.  
  16827.        Double-spacing can  also occur  if control  codes are  mistakenly
  16828.        sent to  your  printer.   Reset the  printer to  its defaults  by
  16829.        powering it off and back on to  clear any spurious codes.  Verify
  16830.        that   you   didn't  specify   <D>ouble-spacing  on   the  report
  16831.        specification.   If the  double-spacing still  occurs, route  the
  16832.        report to  a disk file and  examine it with your  word processor.
  16833.        If the report  is single-spaced in  the disk  file but comes  out
  16834.        double-spaced on the printer, scan the disk file to  see if there
  16835.        are  any unusual  symbols  or  codes  which shouldn't  be  there.
  16836.        Sometimes  printer control  codes  are  mistakenly  sent  to  the
  16837.        printer by  erroneous formulas.   Sometimes bad  data on  disk is
  16838.        sent to the  printer, and the printer interprets it  as a control
  16839.        code. 
  16840.  
  16841.        If this  problem  occurs  with everything  you  print  with  File
  16842.        Express, and you  are not able to produce  even one single-spaced
  16843.        report, your printer  is probably configured to line  feed when a
  16844.        carriage return  character is  received.   If this  is the  case,
  16845.        either change  the switch  settings on  your printer  or add  the
  16846.        command NO  LINEFEED to  your profile.   (See the  section titled
  16847.        Customizing File  Express for information on  profiles.) Changing
  16848.        the switch setting on  your printer will  make it more  standard,
  16849.        but might  adversely  affect other  software  you use  which  has
  16850.        already been configured for no linefeeds. 
  16851.  
  16852.  
  16853.                                                     TROUBLESHOOTING  385
  16854.   ----------------------------------------------------------------------
  16855.  
  16856.   Report Starts In Middle Of Page 
  16857.        Problem: The first lines of a page are spaced far down the paper,
  16858.        and the detail overlaps  onto the next piece of paper.  Sometimes
  16859.        it occurs  on the first page  of the report, sometimes  after the
  16860.        first page, and sometimes on all pages. 
  16861.  
  16862.        Related Problem: A report  prints OK on the first  page, but then
  16863.        skips a  page and  prints page  2 on  the third  sheet of  paper.
  16864.        Sometimes it occurs  on every page; sometimes only on  one or two
  16865.        pages. 
  16866.  
  16867.        Related Problem:  The last few lines of a  page "jump" an inch or
  16868.        so, and start printing on the top of the next page.   This throws
  16869.        off the spacing of subsequent pages. 
  16870.  
  16871.        Be sure the  paper is positioned  properly when printing  begins.
  16872.        The perforation must be  positioned near the print head,  exactly
  16873.        where you want the title line to print. 
  16874.  
  16875.        Print the report again, this time watching as it begins printing.
  16876.        If the  paper advances  several lines before  printing the  first
  16877.        title line, check for these problems: (1) a large  top margin has
  16878.        inadvertently  been specified  in the  report  specification; (2)
  16879.        form feeds have been specified  in the report specification,  but
  16880.        top-of-form is  not properly  set on  the printer;  (3) the  page
  16881.        length of  66 has been changed,  and no longer reflects  the true
  16882.        page length in lines;  (4) eight lines  per inch were  specified,
  16883.        but  the  page length  was not  changed  to 88;  (5) a  form feed
  16884.        character is being  placed in the body of the report, either by a
  16885.        bad text  formula or  by bad data  on the disk.   The  first four
  16886.        items can be  checked by reviewing the report format.   The fifth
  16887.        item might require that you write the  report to disk and examine
  16888.        it with your word processor. 
  16889.  
  16890.        Another  thing to check is your printer's hardware configuration.
  16891.        If you  use form  feeds, is  the paper  set to  the correct  page
  16892.        height? It's eleven inches for most  paper.  Some printers have a
  16893.        switch for skipping  over the perforation when the  bottom of the
  16894.        page is sensed.   File Express  doesn't know that the  printer is
  16895.        doing its own skip  to the new page, so both the printer and File
  16896.        Express skip a  few lines.  The  result is that the  report moves
  16897.        progressively downward on each successive page, about an inch per
  16898.        page.  Or  if form feeds are  being used, the printer  skips to a
  16899.        new page, then File Express ejects to the next page, resulting in
  16900.        an entire blank page or one  with just a couple lines on it.   To
  16901.        remedy this situation, either change the printer's switches so it
  16902.        doesn't  automatically skip over  the perforation, or  reduce the
  16903.        Lines Per Page in the report format until the problem stops.  You
  16904.        may have to reduce the Lines Per Page to as little as 50. 
  16905.  
  16906.  
  16907.   386  TROUBLESHOOTING
  16908.   ----------------------------------------------------------------------
  16909.                                      empty
  16910.  
  16911.  
  16912.                                                     TROUBLESHOOTING  387
  16913.   ----------------------------------------------------------------------
  16914.  
  16915.   Bad Data Appears On Records 
  16916.        Problem: Some of the fields  on one or more records  have strange
  16917.        characters in them, like musical notes and graphic symbols. 
  16918.  
  16919.        If  your  data   changes  mysteriously,  especially  if   it  has
  16920.        characters in it that you didn't enter, it usually means  a media
  16921.        error or disk error has occurred.  If  the data is on a diskette,
  16922.        the  most likely  cause  is that  the  diskette is  bad.   As  we
  16923.        mentioned  in the  chapter  on backups,  diskettes  do wear  out.
  16924.        Diskette drives need  to be adjusted and cleaned  much more often
  16925.        than hard  disks.  Diskette  errors are even  more likely  if the
  16926.        diskettes are being  used in more than  one computer.  Even  if a
  16927.        diskette drive is badly timed or badly aligned, it can often read
  16928.        the bad  data it writes.   But if the  diskette is then  put into
  16929.        another  diskette drive which  is working  properly, some  of the
  16930.        data may be unreadable.  Worse yet, if the properly aligned drive
  16931.        writes  data  on the  disk,  it  may  become unreadable  on  both
  16932.        computers. 
  16933.  
  16934.        This problem is best solved by prevention: make frequent backups,
  16935.        have  your equipment serviced regularly, and treat diskettes with
  16936.        the utmost respect. 
  16937.  
  16938.        When a media problem occurs, the safest bet is to throw  away the
  16939.        bad diskette and  make a  new diskette using  the data from  your
  16940.        latest backup.   If  you have  no recent  backup, the  process is
  16941.        painstaking (and sometimes fruitless), but do the following: 
  16942.  
  16943.        1.  Immediately put a write-protect tab over the notch on the bad
  16944.        diskette, so  no  data can  be  inadvertently written  to  it  or
  16945.        erased. 
  16946.  
  16947.        2. Use the DOS FORMAT command to format a brand new  diskette, or
  16948.        one which you are certain is of good quality.  Then use the  COPY
  16949.        command (COPY *.*) to copy all the files from the bad diskette to
  16950.        the new  one.   If you aren't  familiar with  COPY, see  your DOS
  16951.        manual. 
  16952.  
  16953.        3. During the COPY process, if any message appears which  prompts
  16954.        "Abort, Retry or  Ignore", or "Abort, Retry, Fail",  press <R> to
  16955.        retry.  If  the message recurs, remove the bad diskette, then put
  16956.        it  back in  the  drive  and press  <R>  again.   (Sometimes  the
  16957.        diskette is not seated  properly.  Removing  it and replacing  it
  16958.        can slightly change  its positioning, and the data  can be read.)
  16959.        If the  message recurs a third time, press  <I> for Ignore or <F>
  16960.        for Fail.   This tells DOS to  go ahead and copy the  bad spot on
  16961.        disk as best it can.  If more errors occur, continue this process
  16962.        until the complete diskette is copied. 
  16963.  
  16964.        4. Start File Express.  Using the new data diskette,  select Find
  16965.        Records, specify  ALL, and  examine each record  in each  file to
  16966.  
  16967.  
  16968.   388  TROUBLESHOOTING
  16969.   ----------------------------------------------------------------------
  16970.  
  16971.        ensure that the  data is intact and that  no information has been
  16972.        lost.  If you had to  reply <I>gnore or <F>ail to the  message in
  16973.        the  previous step, there will definitely be  some bad data on at
  16974.        least one record.  Then rebuild all your indexes.
  16975.  
  16976.        5. As a follow-up,  have your diskette  drives serviced and  make
  16977.        frequent  backups of your data.  Back up data from other programs
  16978.        as well,  not just  your databases.   They are all  vulnerable to
  16979.        disk drive  problems.  Save  all the  backup diskettes.   If your
  16980.        disk  drives  are  malfunctioning, they  can  create  bad backups
  16981.        occasionally  too,  in  which  case  you  need  to  rely  on  the
  16982.        next-most-current backup. 
  16983.  
  16984.        It should be noted  that this recovery process  is not unique  to
  16985.        File Express.   A similar process is necessary  with any software
  16986.        when  a disk  media error  occurs.   Actually,  the File  Express
  16987.        database design makes recovery of at least some of the  data more
  16988.        likely than it might  be with other software products  if a media
  16989.        error occurs. 
  16990.  
  16991.        Media errors are  much less frequent on  hard disks, but they  do
  16992.        occur.   Once  again, if  bad  data starts  appearing,  the  best
  16993.        solution is  to resort  to your backups  and have  the hard  disk
  16994.        drive tested  and serviced  immediately.  If  you have  no recent
  16995.        backup, the  data  recovery process  on  hard disks  is  just  as
  16996.        painful as it is on diskettes: 
  16997.  
  16998.        1. Since you can't put a write-protect tab on your hard disk, the
  16999.        only alternative  is to  not use  the  data and  to be  extremely
  17000.        careful  not to  accidentally erase  the  file or  copy over  it.
  17001.        These instructions assume that  your database is  on drive C  and
  17002.        that the database name is MYDATA. 
  17003.  
  17004.        2.  Using the <Alt-R>  command on the  Open A Database  screen of
  17005.        File Express,  rename  the bad  database,  giving it  a  name  of
  17006.        BADSPOT. 
  17007.  
  17008.        3. From DOS use  the following command to make a  new copy of the
  17009.        data: 
  17010.  
  17011.                                           COPY  C:BADSPOT.*  C:MYDATA.* 
  17012.  
  17013.        During  the COPY  process, if any  message appears  which prompts
  17014.        "Abort, Retry  or Ignore or  Fail", press <R>  to retry.   If the
  17015.        message recurs, press  <R> again.  If the  message recurs a third
  17016.        time, press <I> for Ignore or <F> for Fail.  This tells DOS to go
  17017.        ahead and copy the bad spot on disk as best it can. 
  17018.  
  17019.        Now you have two copies of the  database on your hard disk.   The
  17020.        original one is  called BADSPOT and is still in the same place on
  17021.  
  17022.  
  17023.                                                     TROUBLESHOOTING  389
  17024.   ----------------------------------------------------------------------
  17025.  
  17026.        the disk.  The  new database is  called MYDATA (or whatever  name
  17027.        you gave it) and occupies a new place on disk. 
  17028.  
  17029.        4.  Start File  Express  and  open the  new  file.   Select  Find
  17030.        Records, specify  ALL, and  examine each record  in each  file to
  17031.        ensure that  the data is intact and  that no information has been
  17032.        lost.  If you had  to reply <I>gnore or <F>ail to  the message in
  17033.        the previous step, there will definitely  be some bad data on  at
  17034.        least one record. 
  17035.  
  17036.  
  17037.        5.  As  a follow-up,  have  your  disk  drive serviced  and  make
  17038.        frequent backups  of your data.  Back up data from other programs
  17039.        as well, not  just your  databases.  They  are all vulnerable  to
  17040.        disk drive  problems.  Save  all the  backup diskettes.   If your
  17041.        disk  drives  are  malfunctioning, they  can  create  bad backups
  17042.        occasionally  too,  in  which  case  you  need  to  rely  on  the
  17043.        next-most-current backup. 
  17044.  
  17045.        A user  who was  experiencing disk  errors once  asked us  how we
  17046.        could be  so sure that the problem was  media or hardware and was
  17047.        not something  our program had  done to damage the  diskette.  We
  17048.        have many reasons to be self-assured on this point: (1)  hundreds
  17049.        of thousands  of people  use File Express  every day  without any
  17050.        problems.   (2) the  few people  who contact  us with disk  error
  17051.        messages  typically   discover  hardware   problems  when   their
  17052.        equipment is serviced. (3) our programs do not write data to disk
  17053.        -- DOS writes  data to disk.   We simply  issue high-level  Write
  17054.        commands and  let  Microsoft's C  and DOS  do the  rest.   It  is
  17055.        virtually impossible for a program error in File Express to cause
  17056.        a disk  media error.  The guy  who sold you the  disk drive might
  17057.        try to tell you otherwise.  If so, let him read this chapter. 
  17058.  
  17059.        One more point on media errors: we know from personal  experience
  17060.        that it is frustrating when data is lost.  But if you call us for
  17061.        help, we can tell  you nothing more than this section has already
  17062.        explained. 
  17063.  
  17064.        When a problem occurs with hardware which destroys data, there is
  17065.        little we,  or any other vendor  can do.   It is possible  that a
  17066.        good technical  person  can recover  some  of your  data  from  a
  17067.        damaged disk. 
  17068.  
  17069.  
  17070.   Formula Error Or Bad Result 
  17071.        Problem: A formula on a report or record is not working properly,
  17072.        or can't be entered. 
  17073.  
  17074.        Sometimes a message  is displayed giving  some indication of  the
  17075.        problem.  If there is no message, or if the message doesn't help,
  17076.        check each of the items in this list: 
  17077.  
  17078.  
  17079.   390  TROUBLESHOOTING
  17080.   ----------------------------------------------------------------------
  17081.  
  17082.        1. Verify the spelling  of any field names in the  formula.  They
  17083.        must be  spelled completely,  and exactly as  they appear  on the
  17084.        record.   Try the formula using the field  number with an F, such
  17085.        as F5, instead of the field name. 
  17086.  
  17087.        2. Verify the spelling of function names  and keywords, referring
  17088.        to the  manual for correct  spelling.  A  space is not  permitted
  17089.        between a function name and its left parenthesis. 
  17090.  
  17091.        3. Try enclosing  constant text in  the formula within  quotation
  17092.        marks.  Sometimes constant text is the same as a valid keyword or
  17093.        operator, so the  formula routine doesn't know it  is meant to be
  17094.        text.  Quotation marks explicitly identify it as constant text. 
  17095.  
  17096.        4.  If the formula  contains multiple comparisons,  try a shorter
  17097.        version of it with just one or  two comparisons to try to isolate
  17098.        the problem area. 
  17099.  
  17100.        5. If the formula contains two or  more AND, OR or NOT operators,
  17101.        the problem may be that your logic is not mathematically sound or
  17102.        that parentheses are needed to provide proper precedence. 
  17103.  
  17104.        6. If  the  formula is  returning  the word  ERROR  instead of  a
  17105.        number,   it  contains  a   mathematical  calculation   which  is
  17106.        unacceptable.  For example,  it may be dividing by zero, which is
  17107.        not mathematically possible.  Or the  result may be a huge number
  17108.        which  is  larger  than  the fourteen  digits  File  Express  can
  17109.        accommodate. 
  17110.  
  17111.        7. Be sure the data used in a function meets the  requirements of
  17112.        the  function.   If  the  operand  is  supposed  to be  an  eight
  17113.        character  date, are  the  month, day  and  year valid  two-digit
  17114.        numbers? If the operand is supposed to be a number, is it? 
  17115.  
  17116.        Most formulas can  be written more than  one way.  If  it doesn't
  17117.        work, and the comments above don't help, try a variant of it or a
  17118.        smaller version of it using a  slightly different syntax.  If you
  17119.        can't make it work, see the section titled Reporting Problems  To
  17120.        Expressware. 
  17121.  
  17122.  
  17123.                                                  REPORTING PROBLEMS  391
  17124.   ----------------------------------------------------------------------
  17125.  
  17126.   Reporting Problems To Expressware
  17127.        As  you may  know,  Expressware  provides  technical  support  by
  17128.        telephone and in writing to registered users.  Unlike many  other
  17129.        software companies, there  is no extra  charge for this  service.
  17130.        But like  many other  software companies,  our phones  are always
  17131.        busy.    At least  half  the technical  calls  we receive  can be
  17132.        answered by reading  the manual.  So  please help us to  keep our
  17133.        costs down and keep our phone lines open: look it up first in the
  17134.        manual. 
  17135.  
  17136.        Our tech support number is 206-788-0932.  If your  problem is not
  17137.        urgent, write to us instead of calling.  The problem often  can't
  17138.        be resolved over the phone anyway, since it usually requires that
  17139.        we have a  copy of your database  or report spec to  recreate the
  17140.        problem on our computer.  Send your problem reports to: 
  17141.  
  17142.                          Expressware Corporation
  17143.                          Technical Support Dept.
  17144.                               P.O. Box 1800
  17145.                              Duvall, WA 98019
  17146.                                206-788-0932
  17147.  
  17148.        Include  a diskette  with a  copy  of your  database and  related
  17149.        reports and  labels.   Include  an  explanation of  the  problem,
  17150.        describing how to  make it  recur.  Also  include any reports  or
  17151.        screen dumps which may be useful in researching the problem.  
  17152.        Most importantly, tell  us which version of File  Express you are
  17153.        using and  the date  of the  files.   You can  quickly find  this
  17154.        information while in File Express by pressing <Ctrl-V> to display
  17155.        the Version/Status  Screen.   The  version  number and  date  are
  17156.        displayed on the first line.
  17157.  
  17158.        If you find it  necessary to call  for technical support,  please
  17159.        have all  the information  available.  If  possible, call  from a
  17160.        phone near your computer, in case you need to run File Express to
  17161.        troubleshoot or explain the problem. 
  17162.  
  17163.  
  17164.   392  DISCLAIMER
  17165.   ----------------------------------------------------------------------
  17166.  
  17167.  
  17168.                                Disclaimer 
  17169.  
  17170.  
  17171.        Expressware makes no representation or warranties with respect to
  17172.        the  contents  hereof  and  specifically  disclaims  any  implied
  17173.        warranties of  merchantability  or  fitness  for  any  particular
  17174.        purpose.  File Express  is provided "as  is" without warranty  of
  17175.        any kind, either expressed or implied. 
  17176.  
  17177.        Expressware  shall have no liability or  responsibility to you or
  17178.        any  other person or  entity with respect  to any loss  or damage
  17179.        caused by File Express including, but not limited to, any loss of
  17180.        profits,   interruption   of  service,   loss   of  business   or
  17181.        consequential damages resulting from the use of such programs. 
  17182.  
  17183.        When starting the  use of new software  it is a good  practice to
  17184.        test  the programs with sample  data, and to  run the programs in
  17185.        parallel with any previous system for a period of time sufficient
  17186.        to ensure satisfactory results. 
  17187.  
  17188.        File Express is a trademark owned by Expressware Corporation. 
  17189.  
  17190.  
  17191.                                                            GLOSSARY  393
  17192.   ----------------------------------------------------------------------
  17193.  
  17194.   Appendix A: Glossary of Terms
  17195.  
  17196.  
  17197.        Ascending  sort:   The  process   of  placing   information  into
  17198.        alphabetical or numerical order. 
  17199.  
  17200.        ASCII:  An  industry  standard  for  representing  characters  in
  17201.        computers. 
  17202.  
  17203.        Backup: The process  of copying databases  and other files  which
  17204.        contain important information. 
  17205.  
  17206.        Boot: The process of starting your computer and getting it  ready
  17207.        to accept commands. 
  17208.  
  17209.        Calculated field: A field that is filled in automatically by File
  17210.        Express as a  result of calculations between other  fields in the
  17211.        database file (also called a Formula field). 
  17212.  
  17213.        Character: Usually a letter, numeric digit or space.  A character
  17214.        can  also  be a  special symbol  such as  &, a  foreign character
  17215.        symbol, a  graphic symbol or  a math  symbol.   See the  Advanced
  17216.        Features chapter for a chart. 
  17217.  
  17218.        Cloning: Creating a  new database that is made  up of information
  17219.        taken from an existing file.   In the process you may change  the
  17220.        length of any field, add new fields, delete fields, and rearrange
  17221.        the fields. 
  17222.  
  17223.        Database: A group of records that are related to each other, such
  17224.        as an inventory list or mailing list, which has been entered into
  17225.        the computer so  it can be updated, printed,  sorted and inquired
  17226.        from.  Sometimes called a file. 
  17227.  
  17228.        Descending  Sort: The process of placing information into reverse
  17229.        alphabetical order or in numeric order from highest to lowest. 
  17230.  
  17231.        Default: The answer that is  assumed by the program if you  don't
  17232.        provide an answer. 
  17233.  
  17234.        Default Disk Drive:  The disk drive used  by the computer  if not
  17235.        told to use a specific drive. 
  17236.  
  17237.        DIF   file  format:  A  standard  for  data  interchange  between
  17238.        different programs. 
  17239.  
  17240.        DOS:  The disk operating system that  manages the basic operation
  17241.        of the computer and runs programs. 
  17242.  
  17243.        DOS Prompt: The  "A>" or "C>" prompt that  indicates the computer
  17244.        is ready to accept commands or program names. 
  17245.  
  17246.  
  17247.   394  GLOSSARY
  17248.   ----------------------------------------------------------------------
  17249.  
  17250.        Edit: To change previously entered information.  Sometimes called
  17251.        Updating or Changing. 
  17252.  
  17253.        Embedded  Text: A  string of  characters surrounded  by  a longer
  17254.        string of characters; i.e. "eat" is embedded in "Seattle". 
  17255.  
  17256.        Export: To  copy a File  Express database into  a form usable  by
  17257.        another program, such as a spreadsheet or a mail-merge program. 
  17258.  
  17259.        Field:  A  piece  of  information  consisting   of  a  string  of
  17260.        characters, such as a last name or city or dollar amount. 
  17261.  
  17262.        Filename:  A  string of  up  to  eight  characters plus  a  three
  17263.        character extension used by  the computer to identify a file on a
  17264.        disk. 
  17265.  
  17266.        Format: A template or pattern into which information is placed. 
  17267.  
  17268.        Format a disk: To  prepare a diskette  to store information,  and
  17269.        erase its contents in the process.  FORMAT is a DOS command. 
  17270.  
  17271.        Formula field: A field  that is filled  in automatically by  File
  17272.        Express as a  result of calculations between other  fields in the
  17273.        database file. 
  17274.  
  17275.        Import: To read  information from a file and place it into a File
  17276.        Express database. 
  17277.  
  17278.        Index: A  separate file used  to speed up  searching and make  it
  17279.        possible to present information in sorted order.
  17280.  
  17281.        Label Format: The placement pattern of fields on a mailing label.
  17282.  
  17283.  
  17284.        Mail-merge file:  A file that is  used by a  word processor while
  17285.        printing  automatically generated form letters.  The file usually
  17286.        contains names and addresses. 
  17287.  
  17288.        Mixed  case: A  combination of  upper  and lower  case alphabetic
  17289.        characters. 
  17290.  
  17291.        RAM disk:  A portion of the computer memory  that has been set up
  17292.        to look like a disk drive to  the computer operating system.  The
  17293.        access  to this type of "disk" is very  fast.  It is also subject
  17294.        to immediate erasure  if the electricity goes off.   See VDISK in
  17295.        your DOS manual for more information. 
  17296.  
  17297.        Record: A group  of related fields that are placed  in a database
  17298.        as an  entity.   For  example,  a record  might contain  a  Name,
  17299.        Address, City,  State, Zip code,  Telephone number and  a Comment
  17300.        field. 
  17301.  
  17302.  
  17303.                                                            GLOSSARY  395
  17304.   ----------------------------------------------------------------------
  17305.  
  17306.        Record format: The collective fields that make up each record  of
  17307.        a database.  The  record format must  be specified before  adding
  17308.        information to a database. 
  17309.  
  17310.        Record Number: When File Express saves any record into a database
  17311.        it  assigns  a  unique  record  number  that corresponds  to  the
  17312.        location within the file that the record was placed. 
  17313.  
  17314.        Report Format: The pattern to be used for the placement of fields
  17315.        and formulas when printing a report. 
  17316.  
  17317.        Syntax: The arrangement of field names, functions, keywords, etc.
  17318.        in a formula or comparison. 
  17319.  
  17320.  
  17321.   396  GLOSSARY
  17322.   ----------------------------------------------------------------------
  17323.                                      empty
  17324.  
  17325.  
  17326.                                                         ASCII CHART  397
  17327.   ----------------------------------------------------------------------
  17328.  
  17329.   Appendix B: ASCII Chart
  17330.  
  17331.  
  17332.   398  ASCII CHART
  17333.   ----------------------------------------------------------------------
  17334.                                      empty
  17335.  
  17336.  
  17337.                                                            KEYWORDS  399
  17338.   ----------------------------------------------------------------------
  17339.  
  17340.   Appendix C: Keywords
  17341.  
  17342.                            Text Numeric   Date True/False
  17343.                            ---- --------  ---- ----------
  17344.  
  17345.   Comparitors
  17346.        AFTER                                X
  17347.        BEFORE                               X
  17348.        Comparitors           X      X
  17349.        CONTAINS              X
  17350.        EXACTLY               X
  17351.        SOUNDS LIKE (SL)      X
  17352.  
  17353.  
  17354.   Functions
  17355.        AGE                          X
  17356.        ASC                          X
  17357.        .AVERAGE                     X
  17358.        CENTER                X
  17359.        CHR                   X
  17360.        .COUNT                       X
  17361.        DAYABBV               X
  17362.        DAY                          X
  17363.        DAYNAME               X
  17364.        DBDRIVE               X
  17365.        DBNAME                X
  17366.        DBPATH                X
  17367.        FIRSTLINE                                   X
  17368.        FORMATDATE            X
  17369.        FUTUREDATE            X
  17370.        GRAPH                 X
  17371.        INSTR                        X
  17372.        LEFT                  X
  17373.        LENGTH (LEN)                 X
  17374.        LINE                         X
  17375.        LJUST                 X
  17376.        LOOKUP                X      X
  17377.        LOWER (LCASE)         X
  17378.        LTRIM                 X
  17379.        .MAX                         X
  17380.        MID                   X
  17381.        MILTIME               X
  17382.        .MIN                         X
  17383.        MONTH                        X
  17384.        MONTHNAME             X
  17385.        MONTHABBV             X
  17386.  
  17387.  
  17388.   400  KEYWORDS
  17389.   ----------------------------------------------------------------------
  17390.  
  17391.                            Text Numeric   Date True/False
  17392.                            ---- --------  ---- ---------------
  17393.  
  17394.   Functions (cont')
  17395.        .NBCOUNT                     X
  17396.        .NBSUBCOUNT                  X
  17397.        PAGE                         X
  17398.        .PREV                 X      X
  17399.        PROPER                X
  17400.        RANDOM                       X
  17401.        RECORD NUMBER (F0)           X
  17402.        REPEAT                X
  17403.        REPLACE               X
  17404.        RIGHT                 X
  17405.        RJUST                 X
  17406.        ROUND                        X
  17407.        RTRIM                 X
  17408.        SPACE                 X
  17409.        SPELLOUT              X
  17410.        .SUBAVERAGE                  X
  17411.        .SUBCOUNT                    X
  17412.        .SUBMAX                      X
  17413.        .SUBMIN                      X
  17414.        .SUBTOTAL                    X
  17415.        SUM                          X
  17416.        TIMEDIF                      X
  17417.        TIME                  X
  17418.        TODAY                 X
  17419.        .TOTAL                       X
  17420.        TRIM                  X
  17421.        UPPER (UCASE)         X
  17422.        VALUE (VAL)                  X
  17423.        YEAR                         X
  17424.  
  17425.  
  17426.   Operators
  17427.        & (Concatenate)       X
  17428.        + (Plus)              X      X
  17429.        - (Minus)                    X
  17430.        * (Multiply)                 X
  17431.        / (Divide)                   X
  17432.        ^ (Power of)                 X
  17433.        % (Percentage)               X
  17434.        \ (Mod or Remainder)         X
  17435.        : (THROUGH)           X
  17436.  
  17437.  
  17438.                                                            KEYWORDS  401
  17439.   ----------------------------------------------------------------------
  17440.  
  17441.                            Text Numeric   Date True/False
  17442.                            ---- -------   ---- ---------------
  17443.   Logical Operators
  17444.  
  17445.        AND                   X      X
  17446.        OR                    X      X
  17447.  
  17448.  
  17449.   Statements
  17450.  
  17451.        ADD ONLY
  17452.        BLANKLINE
  17453.        CENTERED
  17454.        COMMAS
  17455.        DOLLAR SIGN  ($)
  17456.        LEFT JUSTIFIED (LJ)
  17457.        MONEY SIGN ($,  ,  )
  17458.        NEWPAGE
  17459.        NO COMMAS
  17460.        NOLINEFEED
  17461.        NOPRINT
  17462.        NO ZEROS
  17463.        OR
  17464.        PARENTHESIS (PARENS)
  17465.        RIGHT JUSTIFIED (RJ)
  17466.        ZEROS
  17467.  
  17468.  
  17469.   402  KEYWORDS
  17470.   ----------------------------------------------------------------------
  17471.                                      empty
  17472.  
  17473.  
  17474.                                                        FILE FORMATS  403
  17475.   ----------------------------------------------------------------------
  17476.  
  17477.   Appendix D: File Formats
  17478.  
  17479.  
  17480.        A database  is stored on disk  in several different files.   Only
  17481.        two of  these  files are  easily  accessible to  a user  and  are
  17482.        described below.
  17483.  
  17484.        Header:  The Header file (database.HDR) holds the basic format of
  17485.        the database.   It  contains the number  of fields,  their names,
  17486.        lengths, types, and  formulas.  Below is  an example of a  simple
  17487.        header file.  Each line has a description to the right.
  17488.  
  17489.             line 1   5Sample database     Version number, description
  17490.             line 2    FILE EXPRESS 5.0    Major version number
  17491.             line 3    3              Number of fields in the database
  17492.  
  17493.             line 4    Lab Fee        Name of the first field
  17494.             line 5    10,5,2              field length, type, decimals
  17495.             line 6                   formula string (if any)
  17496.             line 7                   future use
  17497.             line 8                   future use
  17498.  
  17499.             line 9    Sales Tax      repeat of previous five lines
  17500.             line 10   10,5,2              for each remaining field.
  17501.             line 11   Lab Fee * .05
  17502.             line 12
  17503.             line 13
  17504.  
  17505.             line 14   Balance Due
  17506.             line 15   10,5,2
  17507.             line 16   Lab Fee + Sales Tax
  17508.             line 17
  17509.             line 18
  17510.  
  17511.  
  17512.   404  FILE FORMATS
  17513.   ----------------------------------------------------------------------
  17514.  
  17515.        The name of a field can be up to twelve characters long.
  17516.        Field types are as follows:
  17517.  
  17518.             1 = Character field
  17519.             2 = Text formula field
  17520.             3 = Date field
  17521.             4 = User defined field
  17522.             5 = Numeric field
  17523.             6 = Numeric formula field
  17524.  
  17525.  
  17526.        Data File:  The  Data file (database.DTA)  contains all the  data
  17527.        records in  the database.  The records are stored in fixed length
  17528.        format,  also  known as  a  Random  Access  file, with  an  extra
  17529.        character at  the end  of each  record that  is used  to indicate
  17530.        tagged and deleted records.  Compute the record length by  adding
  17531.        up all the field lengths and adding one for the extra character.
  17532.  
  17533.  
  17534.        David     Berdan         Duvall    WA   98019*Ken McGinnis
  17535.        Duvall    WA   98019*Bill     Gates          Redmond   WA
  17536.        98052*Tom Rice      Seattle   WA   98124*
  17537.  
  17538.        The asterisk  (*) represents  the extra character  at the  end of
  17539.        each record.
  17540.  
  17541.        Other files:  Following are short descriptions of the other files
  17542.        that File Express creates.
  17543.  
  17544.        Index  Files:  There is an index header (database.IXH) containing
  17545.        information  about all  the index  files  (up to  5) having  been
  17546.        created  for  a  given  database.   Each  individual  index  file
  17547.        (database.IX0  -   database.IX6)  contains  the   order  of  that
  17548.        particular index sequence.
  17549.  
  17550.        Painted Screens:   The Views of a database  (up to 10) are stored
  17551.        in database.S0 through database.S9.   The current active  View is
  17552.        stored in the database.SCR file.
  17553.  
  17554.        Macro  Key  Files:     Macro  key  sequences  are   stored  in  a
  17555.        database.KEY file.
  17556.  
  17557.        Label Format  Files:   Label  formats are  stored in  database.L0
  17558.        through database.L99.
  17559.  
  17560.        Report Format Files:   Report formats  are stored in  database.R0
  17561.        through database.R99.
  17562.  
  17563.        Letter Format Files:   Report formats  are stored in  database.D0
  17564.        through database.D99.
  17565.  
  17566.  
  17567.                                                        DATE FORMATS  405
  17568.   ----------------------------------------------------------------------
  17569.  
  17570.   Appendix E: Date Formats
  17571.  
  17572.        The  following date  formats  are  available  in  the  FORMATDATE
  17573.        function.
  17574.  
  17575.  
  17576.        Format #       Style               Example
  17577.        --------       ----------------    -------------------------
  17578.  
  17579.            1          yymmdd              891225
  17580.            2          yyyymmdd            19891225
  17581.            3          yy-mm-dd            89-12-25
  17582.            4          mm-dd-yy            12-25-89
  17583.            5          mm-dd-yyyy          12-25-1989
  17584.            6          dd-mm-yy            25-12-89
  17585.            7          dd-mm-yyyy          25-12-1989
  17586.            8          ddmmyy              251289
  17587.  
  17588.            9          yy/mm/dd            89/12/25
  17589.           10          mm/dd/yy            12/25/89
  17590.           11          mm/dd/yyyy          12/25/1989
  17591.           12          dd/mm/yy            25/12/89
  17592.           13          dd/mm/yyyy          25/12/1989
  17593.  
  17594.           14          mm..m dd, yy        December 25, 89
  17595.           15          mm..m dd, yyyy      December 25, 1989
  17596.           16          mmm dd, yyyy        Dec 25, 1989
  17597.           17          mmm dd, yy          Dec 25, 89
  17598.           18          dd mm..m yy         25 December 89
  17599.           19          dd mm..m yyyy       25 December 1989
  17600.           20          dd mmm yy           25 Dec 89
  17601.           21          dd mmm yyyy         25 Dec 1989
  17602.  
  17603.           22-42 - precede above formats with day of the week
  17604.                  Example:  42 = Monday 25 Dec 1989
  17605.  
  17606.           43-63 - precede formats with day of the week abbrev.
  17607.                  Example:  63 = Mon. 25 Dec 1989
  17608.  
  17609.  
  17610.   406  DATE FORMATS
  17611.   ----------------------------------------------------------------------
  17612.  
  17613.  
  17614.        Format #       Style               Example
  17615.        --------       ----------------    ------------------------------
  17616.  
  17617.           64          yymm                8912
  17618.           65          yy-mm               89-12
  17619.           66          yy/mm               89/12
  17620.           67          yy/mm..m            89/December
  17621.           68          yy-mm..m            89-December
  17622.           69          yy mm..m            89 December
  17623.  
  17624.           70          yyyymm              198912
  17625.           71          yyyy/mm             1989/12
  17626.           72          yyyy-mm             1989-12
  17627.           73          yyyy mm..m          1989 December
  17628.           74          yyyy/mm..m          1989/December
  17629.           75          yyyy-mm..m          1989-December
  17630.  
  17631.           76          mmyy                1289
  17632.           77          mm/yy               12/89
  17633.           78          mm-yy               12-89
  17634.           79          mmyyyy              121989
  17635.           80          mm/yyyy             12/1989
  17636.           81          mm-yyyy             12-1989
  17637.  
  17638.           82          mmm yy              Dec 89
  17639.           83          mmm/yy              Dec/89
  17640.           84          mmm-yy              Dec-89
  17641.           85          mmm yyyy            Dec 1989
  17642.           86          mmm/yyyy            Dec/1989
  17643.           87          mmm-yyyy            Dec-1989
  17644.  
  17645.           88          mm..m yy            December 89
  17646.           89          mm..m/yy            December/89
  17647.           90          mm..m-yy            December-89
  17648.           91          mm..m yyyy          December 1989
  17649.           92          mm..m/yyyy          December/1989
  17650.           93          mm..m-yyyy          December-1989
  17651.  
  17652.  
  17653.                                                             SOUNDEX  407
  17654.   ----------------------------------------------------------------------
  17655.  
  17656.   Appendix F: Sounds Like Routine (Soundex)
  17657.  
  17658.        The Sounds Like search  routine in File  Express looks for  words
  17659.        that sound alike.  By assigning words that sound similar the same
  17660.        code, the routine  can compare alternate spellings of  a word and
  17661.        detect spelling errors.   Each pair  of words to  be compared  is
  17662.        converted to upper case and then assigned a code according to the
  17663.        table below.  If the codes  are the same, the words sound  alike.
  17664.        (Although some hilarious matches sometimes show up).
  17665.  
  17666.        The Soundex routine divides the alphabet into seven groups:
  17667.  
  17668.             Group 1:  AEIOUHWY
  17669.             Group 2:  BFPV
  17670.             Group 3:  CGJKQSXZ
  17671.             Group 4:  DT
  17672.             Group 5:  L
  17673.             Group 6:  MN
  17674.             Group 7:  R
  17675.  
  17676.        Group 1 contains vowels and consonants that are sometimes used as
  17677.        vowels.  The other six groups contain letters that sound alike.
  17678.  
  17679.        Because  vowels  sound  differently  in  combination  with  other
  17680.        letters, the Soundex  routine ignores Group 1.   Because the user
  17681.        is likely  to begin a word  with the correct letter,  the routine
  17682.        copies it to the output.  Double letters are treated as one.  The
  17683.        Soundex routine only works with letters.
  17684.  
  17685.        As  an example, the words Grapple, Gravel, Grappelli, and Grapall
  17686.        would all receive the code G725.
  17687.  
  17688.        The  Soundex routine  does  not work  in  every case.   The  word
  17689.        "tough" doesn't receive the same code as "tuff".  In most  cases,
  17690.        however, the routine provides a simple way to compare words  that
  17691.        sound alike but are spelled differently.
  17692.  
  17693.  
  17694.   408  SOUNDEX
  17695.   ----------------------------------------------------------------------
  17696.                                      empty
  17697.  
  17698.  
  17699.                                            PRINTER DEFINITION FILES  409
  17700.   ----------------------------------------------------------------------
  17701.  
  17702.   Appendix G: Printer Definition Files
  17703.  
  17704.  
  17705.        The  following printer  support  files  are  provided  with  File
  17706.        Express:
  17707.    
  17708.   File Name      Make      Model               Mode
  17709.   ----------------------------------------------------------------------
  17710.  
  17711.   ALPS-1.PDF     ALPS      200/300             Epson/IBM   
  17712.   ALPS-2.PDF     ALPS      P2000G/2100         
  17713.   ALPS-3.PDF     ALPS      Allegro 24          
  17714.   BROTH-1.PDF    BROTHER   M-1724              Diablo Mode     
  17715.   BROTH-2.PDF    BROTHER   M-1724              Epson LQ Mode   
  17716.   BROTH-3.PDF    BROTHER   Twinriter 5         DP Mode         
  17717.   BROTH-4.PDF    BROTHER   M-1709              Mode II         
  17718.   BROTH-5.PDF    BROTHER   M-1724              IBM Proprinter  
  17719.   BROTH-6.PDF    BROTHER   Twinriter 5         WP Mode         
  17720.   BROTH-7.PDF    BROTHER   M-1709              Mode I          
  17721.   BROTH-8.PDF    BROTHER   M-1109              Mode II         
  17722.   BROTH-9.PDF    BROTHER   M-1109              Epson Mode      
  17723.   BROTH-10.PDF   BROTHER   M-1509              Mode I          
  17724.   BROTH-11.PDF   BROTHER   M-1509              Mode II         
  17725.   BUSI-1.PDF     BUSINESSLAND  24LQ            Diablo Mode     
  17726.   BUSI-2.PDF     BUSINESSLAND  45LQ            Qume Mode       
  17727.   CANON-1.PDF    CANON     C-715F
  17728.   CANON-2.PDF    CANON     AP-550        
  17729.   CANON-3.PDF    CANON     A-50                IBM Graphics    
  17730.   CANON-4.PDF    CANON     AP-76               Interface       
  17731.   CANON-5.PDF    CANON     A-40        
  17732.   CANON-6.PDF    CANON     A-60        
  17733.   CANON-7.PDF    CANON     AP-400/92        
  17734.   CANON-8.PDF    CANON     A-50                Epson Mode      
  17735.   CANON-9.PDF    CANON     LBP-8               Series Mode     
  17736.   CANON-10.PDF   CANON     BJ-130        
  17737.   CANON-11.PDF   CANON     BJ-80        
  17738.   CENTR-1.PDF    CENTRONICS                    351  
  17739.   CENTR-2.PDF    CENTRONICS                    737/739      
  17740.   CENTR-3.PDF    CENTRONICS                    353  
  17741.   CITIZ-1.PDF    CITIZEN   MSP-40/45/50/55 IBM Mode
  17742.   CITIZ-2.PDF    CITIZEN   MSP-50/55           Epson EX  
  17743.   CITIZ-3.PDF    CITIZEN   MSP-40/45           Epson FX  
  17744.   CITIZ-4.PDF    CITIZEN   MSP-10/15/20/25    
  17745.   CITIZ-5.PDF    CITIZEN   Premiere 35         Diablo Mode     
  17746.  
  17747.  
  17748.   410  PRINTER DEFINITION FILES
  17749.   ----------------------------------------------------------------------
  17750.  
  17751.   File Name      Make      Model               Mode
  17752.   ----------------------------------------------------------------------
  17753.   CITIZ-6.PDF    CITIZEN   Premiere 35         NEC Mode
  17754.   CITIZ-7.PDF    CITIZEN   Tribute 224         Standard Mode
  17755.   CITIZ-8.PDF    CITIZEN   Tribute 124         Standard Mode
  17756.   CITIZ-9.PDF    CITIZEN   Tribute 124         Diablo Mode
  17757.   CITIZ-10.PDF   CITIZEN   Premiere 35         Qume Mode
  17758.   CITIZ-11.PDF   CITIZEN   180-D               IBM Mode
  17759.   CITIZ-12.PDF   CITIZEN   224                 Diablo Mode
  17760.   CITIZ-13.PDF   CITIZEN                       Epson Mode
  17761.   CITIZ-14.PDF   CITIZEN                       IBM Mode
  17762.   CITIZ-15.PDF   CITIZEN                       Epson Mode
  17763.   DSYWR-1.PDF    DAISYWRITER 1500/2000
  17764.   DATAS-1.PDF    DATASOUTH
  17765.   DATAS-2.PDF    DATASOUTH 220  
  17766.   DATAS-3.PDF    DATASOUTH 120
  17767.   DIABL-1.PDF    DIABLO    630
  17768.   DIABL-2.PDF    DIABLO    1610/1620
  17769.   DICON-1.PDF    DICONIX   150                 Epson Mode
  17770.   DICON-2.PDF    DICONIX   150                 IBM Mode
  17771.   DIGIT-1.PDF    DIGITAL   LA-50
  17772.   DIGIT-2.PDF    DIGITAL   Letterprinter 210
  17773.   DIGIT-3.PDF    DIGITAL   LQP-02/03
  17774.   DIGIT-4.PDF    DIGITAL   LA-120 
  17775.   DIGIT-5.PDF    DIGITAL   LA-75
  17776.   EPSON-1.PDF    EPSON     FX-850/1050         Epson Mode
  17777.   EPSON-2.PDF    EPSON     FX-850/1050         IBM Mode
  17778.   EPSON-3.PDF    EPSON     JX-80
  17779.   EPSON-4.PDF    EPSON     FX-286              IBM Pro Mode
  17780.   EPSON-5.PDF    EPSON     FX-286              Epson Mode
  17781.   EPSON-6.PDF    EPSON     FX-86e/286e         Epson Mode
  17782.   EPSON-7.PDF    EPSON     FX-86e/286e         IBM Pro XL
  17783.   EPSON-8.PDF    EPSON     L-750/L-1000 
  17784.   EPSON-9.PDF    EPSON     LX-80
  17785.   EPSON-10.PDF   EPSON     RX-Series
  17786.   EPSON-11.PDF   EPSON     FX-85/185           IBM Mode
  17787.   EPSON-12.PDF   EPSON     MX 
  17788.   EPSON-13.PDF   EPSON     LQ-Series
  17789.   EPSON-14.PDF   EPSON     LX-86
  17790.   EPSON-15.PDF   EPSON     LX-800/LX-810
  17791.   EPSON-16.PDF   EPSON     T-750
  17792.   EPSON-17.PDF   EPSON     DX-10/DX-20
  17793.   EPSON-18.PDF   EPSON     EX-800              Epson Mode
  17794.  
  17795.  
  17796.                                            PRINTER DEFINITION FILES  411
  17797.   ----------------------------------------------------------------------
  17798.  
  17799.   File Name      Make      Model               Mode
  17800.   ----------------------------------------------------------------------
  17801.   EPSON-19.PDF   EPSON     DFX-5000 
  17802.   EPSON-20.PDF   EPSON     EX-800              IBM Pro 
  17803.   EPSON-21.PDF   EPSON     FX-85/185           Epson Mode
  17804.   EPSON-22.PDF   EPSON     EX-1000             Epson Mode
  17805.   EPSON-23.PDF   EPSON     FX-80/100
  17806.   EPSON-24.PDF   EPSON     EX-1000             IBM Pro Mode
  17807.   FUJIT-1.PDF    FUJITSU   DPL24
  17808.   FUJIT-2.PDF    FUJITSU   DX Series           Epson Mode
  17809.   FUJIT-3.PDF    FUJITSU   DX Series           IBM Pro Mode
  17810.   FUJIT-4.PDF    FUJITSU   DL Series           Native
  17811.   FUJIT-5.PDF    FUJITSU   DPL24
  17812.   GENIC-1.PDF    GENICOM   3014-II/3024-II/3210 84/2
  17813.   GENIC-2.PDF    GENICOM   3184 
  17814.   GENIC-3.PDF    GENICOM   3410 
  17815.   GENIC-4.PDF    GENICOM   3014-II/3024-II     IBM Mode
  17816.   GENIC-5.PDF    GENICOM   3310/3320           ANSI X3 
  17817.   GENIC-6.PDF    GENICOM   3310/3320           IBM Mode
  17818.   GENIC-7.PDF    GENICOM   310/3320            Diablo 630 Mode 
  17819.   HP-1.PDF       HEWLETT-PACKARD LasrJet/LaserJet Plus 
  17820.   HP-2.PDF       HEWLETT-PACKARD DeskJet/DeskJetPlus
  17821.   HP-3.PDF       HEWLETT-PACKARD LaserJet Series II 
  17822.   IBM-1.PDF      IBM       Proprinter 
  17823.   IBM-2.PDF      IBM       Proprinter XL
  17824.   IBM-3.PDF      IBM       Quietwriter
  17825.   IBM-4.PDF      IBM       Graphics 
  17826.   IBM-5.PDF      IBM       Proprinter II
  17827.   IDS-1.PDF      IDS       Prism 80 
  17828.   ITOH-1.PDF     ITOH      C-310/15 XP         IBM Mode
  17829.   ITOH-2.PDF     ITOH      24-LQ               24 LQ Mode
  17830.   ITOH-3.PDF     ITOH      8510                Prowriter 
  17831.   ITOH-4.PDF     ITOH      24-LQ               F10 Mode
  17832.   ITOH-5.PDF     ITOH      F10-40/55           Starwriter
  17833.   ITOH-6.PDF     ITOH      C-310/15 XP         Epson Mode
  17834.   ITOH-7.PDF     ITOH      A10-20P
  17835.   JDL-1.PDF      JDL       850 EWS             Standard Mode 
  17836.   JDL-2.PDF      JDL       850 EWS             IBM Mode
  17837.   JDL-3.PDF      JDL       850 EWS             Epson Mode
  17838.   JUKI-1.PDF     JUKI      6000/6100/6300 
  17839.   MANNE-1.PDF    MANNESMANN-TLY 440
  17840.   MANNE-2.PDF    MANNESMANN-TLY 1612 
  17841.   MANNE-3.PDF    MANNESMANN-TLY Spirit 80
  17842.  
  17843.  
  17844.   412  PRINTER DEFINITION FILES
  17845.   ----------------------------------------------------------------------
  17846.  
  17847.   File Name      Make      Model               Mode
  17848.   ----------------------------------------------------------------------
  17849.   MANNE-4.PDF    MANNESMANN-TLY 160            180 
  17850.   MANNE-5.PDF    MANNESMANN-TLY 85/86          Epson Mode
  17851.   MANNE-6.PDF    MANNESMANN-TLY 87/88          IBM Mode
  17852.   MANNE-7.PDF    MANNESMANN-TLY 85/86          IBM Mode
  17853.   MANNE-8.PDF    MANNESMANN-TLY 87/88          Epson Mode
  17854.   NEC-1.PDF      NEC       5530                7730
  17855.   NEC-2.PDF      NEC       8023A
  17856.   NEC-3.PDF      NEC       8027A
  17857.   NEC-4.PDF      NEC       8835 
  17858.   NEC-5.PDF      NEC       5515                5525
  17859.   NEC-6.PDF      NEC       8025A
  17860.   NEC-7.PDF      NEC       2050                3550
  17861.   NEC-8.PDF      NEC       2010                3510-20 
  17862.   NEC-9.PDF      NEC       Elf 350
  17863.   NEC-10.PDF     NEC       2015                3515-25 
  17864.   NEC-11.PDF     NEC       2030                3530
  17865.   NEC-12.PDF     NEC       3500R
  17866.   NEC-13.PDF     NEC       5510                5520
  17867.   NEC-14.PDF     NEC       Elf 360
  17868.   NEC-15.PDF     NEC       P960                Epson Mode
  17869.   NEC-16.PDF     NEC       P965                Diablo Mode 
  17870.   NEC-17.PDF     NEC       P2200
  17871.   NEC-18.PD      NEC       P5200/P5300
  17872.   NEC-19.PDF     NEC       P565                P665
  17873.   NEC-20.PDF     NEC       PC-PR103A/PC-PR105A
  17874.   NEC-21.PDF     NEC       P560                P660
  17875.   NEC-22.PDF     NEC       P2/P3 6302          6307 Mods 
  17876.   NEC-23.PDF     NEC       P2/P3 6303          6306 Mods 
  17877.   NEC-24.PDF     NEC       P530                P535
  17878.   OKIDA-0.PDF    OKIDATA
  17879.   OKIDA-1.PDF    OKIDATA   393
  17880.   OKIDA-2.PDF    OKIDATA   390/391             Epson LQ Mode 
  17881.   OKIDA-3.PDF    OKIDATA   393C 
  17882.   OKIDA-4.PDF    OKIDATA   390/391             IBM Proprinter
  17883.   OKIDA-5.PDF    OKIDATA   Pacemark 2410       Standard
  17884.   OKIDA-6.PDF    OKIDATA   320/321             Standard
  17885.   OKIDA-7.PDF    OKIDATA   w/OK-writer ROM
  17886.   OKIDA-8.PDF    OKIDATA   Pacemark 2410       IBM Compatible
  17887.   OKIDA-9.PDF    OKIDATA   Pacemark 2350
  17888.   OKIDA-10.PDF   OKIDATA   Okimate 20 
  17889.   OKIDA-11.PDF   OKIDATA   320/321             IBM Compatible
  17890.  
  17891.  
  17892.                                            PRINTER DEFINITION FILES  413
  17893.   ----------------------------------------------------------------------
  17894.  
  17895.   File Name      Make      Model               Mode
  17896.   ----------------------------------------------------------------------
  17897.   OKIDA-12.PDF   OKIDATA   92/93               Standard Mode 
  17898.   OKIDA-13.PDF   OKIDATA   84                  Standard Mode 
  17899.   OKIDA-14.PDF   OKIDATA   82A/83A
  17900.   OKIDA-15.PDF   OKIDATA   292/293             IBM Compatible
  17901.   OKIDA-16.PDF   OKIDATA   92/93               IBM Compatible
  17902.   OKIDA-17.PDF   OKIDATA   84                  IBM Compatible
  17903.   OKIDA-18.PDF   OKIDATA   182                 Standard Mode 
  17904.   OKIDA-19.PDF   OKIDATA   292/293             Standard Mode 
  17905.   OKIDA-20.PDF   OKIDATA   192/193             IBM Compatible
  17906.   OKIDA-21.PDF   OKIDATA   192/193             Standard Mode 
  17907.   PANAS-1.PDF    PANASONIC KX-P1524            Epson LQ Mode 
  17908.   PANAS-2.PDF    PANASONIC KX-P1524            IBM Mode
  17909.   PANAS-3.PDF    PANASONIC KX-P1524            Diablo Mode 
  17910.   PANAS-4.PDF    PANASONIC KX-P1191            Standard Mode 
  17911.   PANAS-5.PDF    PANASONIC KX-P1592            Standard Mode 
  17912.   PANAS-6.PDF    PANASONIC KX-P1180            IBM Pro Mode
  17913.   PANAS-7.PDF    PANASONIC KX-P1191            IBM Mode
  17914.   PANAS-8.PDF    PANASONIC KX-P3151 
  17915.   PANAS-9.PDF    PANASONIC KX-P1092            Standard Mode 
  17916.   PANAS-10.PDF   PANASONIC KX-P1180            Standard Mode 
  17917.   PANAS-11.PDF   PANASONIC KX-P3131 
  17918.   PANAS-12.PDF   PANASONIC KX-P1595            IBM Mode
  17919.   PANAS-13.PDF   PANASONIC KX-P1595            Diablo 630 Mode 
  17920.   PANAS-14.PDF   PANASONIC KX-P1595            Standard Mode 
  17921.   PANAS-15.PDF   PANASONIC KX-P1592            IBM Mode
  17922.   PANAS-16.PDF   PANASONIC KX-P1091i           Standard Mode 
  17923.   PANAS-17.PDF   PANASONIC KX-P1091 
  17924.   PANAS-18.PDF   PANASONIC KX-P1080 
  17925.   PANAS-19.PDF   PANASONIC KX-P1090 
  17926.   PANAS-20.PDF   PANASONIC KX-P1080i           IBM Mode
  17927.   PANAS-21.PDF   PANASONIC KX-P1080i           Standard Mode 
  17928.   PANAS-22.PDF   PANASONIC KX-P1091i           IBM Pro Mode
  17929.   PANAS-23.PDF   PANASONIC KX-P1092            IBM Mode
  17930.   PANAS-24.PDF   PANASONIC KX-P1093            IBM Mode
  17931.   PANAS-25.PDF   PANASONIC KX-P1124            Epson LQ Mode 
  17932.   PANAS-26.PDF   PANASONIC KX-P1093            Standard Mode 
  17933.   PANAS-27.PDF   PANASONIC KX-P1092i           IBM Pro Mode
  17934.   PANAS-28.PDF   PANASONIC KX-P1092i           Standard Mode 
  17935.   PANAS-29.PDF   PANASONIC KX-P1124            IBM Pro Mode
  17936.   QUME-1.PDF     QUME      Sprint 
  17937.   QUME-2.PDF     QUME      Letterpro 20 
  17938.  
  17939.  
  17940.   414  PRINTER DEFINITION FILES
  17941.   ----------------------------------------------------------------------
  17942.  
  17943.   File Name      Make      Model               Mode
  17944.   ----------------------------------------------------------------------
  17945.   RS-1.PDF       RADIO SHACK
  17946.   RS-2.PDF       RADIO SHACK
  17947.   RS-3.PDF       RADIO SHACK DWP-220
  17948.   RS-4.PDF       RADIO SHACK DWP-230           IBM Mode 
  17949.   RS-5.PDF       RADIO SHACK DWP-210
  17950.   RS-6.PDF       RADIO SHACK DMP-2200          Tandy Mode
  17951.   RS-7.PDF       RADIO SHACK DMP-2200          IBM Mode
  17952.   RS-8.PDF       RADIO SHACK DWP-230           Tandy Mode
  17953.   RS-9.PDF       RADIO SHACK DMP-2100P/2110 
  17954.   RS-10.PDF      RADIO SHACK DWP-1120 
  17955.   RS-11.PDF      RADIO SHACK DWP-520           Tandy Mode
  17956.   RS-12.PDF      RADIO SHACK DWP-520           IBM Mode
  17957.   RS-13.PDF      RADIO SHACK Line Printer VIII
  17958.   RS-14.PDF      RADIO SHACK Lineprinter V
  17959.   RS-15.PDF      RADIO SHACK DMP-120
  17960.   RS-16.PDF      RADIO SHACK DMP-106           Tandy Mode
  17961.   RS-17.PDF      RADIO SHACK DMP-110
  17962.   RS-18.PDF      RADIO SHACK DMP-106           IBM Mode
  17963.   RS-19.PDF      RADIO SHACK DMP-105
  17964.   RS-20.PDF      RADIO SHACK DMP-2100/2120
  17965.   RS-21.PDF      RADIO SHACK Daisy Printer II 
  17966.   RS-22.PDF      RADIO SHACK DMP-200
  17967.   RS-23.PDF      RADIO SHACK DMP-2100/2120     IBM Mode
  17968.   RS-24.PDF      RADIO SHACK DMP-500 
  17969.   RS-25.PDF      RADIO SHACK DMP-430/440       Tandy Mode
  17970.   RS-26.PDF      RADIO SHACK DMP-430/440       IBM Mode
  17971.   SEIKO-1.PDF    SEIKOSHA  SL-80AI             Standard Mode 
  17972.   SEIKO-2.PDF    SEIKOSHA  SP-1000
  17973.   SEIKO-3.PDF    SEIKOSHA  SL-80AI             IBM Mode
  17974.   SEIKO-4.PDF    SEIKOSHA  GP-7000
  17975.   SILVE-1.PDF    SILVER REED EXP 770
  17976.   SILVE-2.PDF    SILVER REED EXP 400
  17977.   SILVE-3.PDF    SILVER REED EXP 500/550
  17978.   SMITH-1.PDF    SMITH CORONA D-200/D-300
  17979.   STAR-1.PDF     STAR MICRONICS
  17980.   STAR-2.PDF     STAR MICRONICS SB-10
  17981.   STAR-3.PDF     STAR MICRONICS SD-10/15       IBM Mode
  17982.   STAR-4.PDF     STAR MICRONICS NX-2400        Standard Mode 
  17983.   STAR-5.PDF     STAR MICRONICS NX-2400        IBM Mode
  17984.   STAR-6.PDF     STAR MICRONICS SG-10/15       Star Mode 
  17985.   STAR-7.PDF     STAR MICRONICS NX-1000        Standard Mode 
  17986.  
  17987.  
  17988.                                            PRINTER DEFINITION FILES  415
  17989.   ----------------------------------------------------------------------
  17990.  
  17991.   File Name      Make      Model               Mode
  17992.   ----------------------------------------------------------------------
  17993.   STAR-8.PDF     STAR MICRONICS SR-10/15       Star Mode 
  17994.   STAR-9.PDF     STAR MICRONICS SR-10/15       IBM Mode
  17995.   STAR-10.PDF    STAR MICRONICS SG-10/15       IBM Mode
  17996.   STAR-11.PDF    STAR MICRONICS SD-10/15       Star Mode 
  17997.   STAR-12.PDF    STAR MICRONICS NX-10
  17998.   STAR-13.PDF    STAR MICRONICS LV-1210/1215 
  17999.   STAR-14.PDF    STAR MICRONICS Gemini 10X PC
  18000.   STAR-15.PDF    STAR MICRONICS Gemini 10X 
  18001.   STAR-16.PDF    STAR MICRONICS NX-1000        IBM Mode
  18002.   STAR-17.PDF    STAR MICRONICS LV-1615
  18003.   STAR-18.PDF    STAR MICRONICS Delta          Radix 
  18004.   STAR-19.PDF    STAR MICRONICS NP-10
  18005.   STAR-20.PDF    STAR MICRONICS NB 24-10/15    Standard Mode 
  18006.   STAR-21.PDF    STAR MICRONICS NB 24-10/15    IBM Mode
  18007.   STAR-22.PDF    STAR MICRONICS NB-15
  18008.   TI-1.PDF       TEXAS INSTRU 855
  18009.   TOSHI-1.PDF    TOSHIBA   P351SX              IBM Pro Mode
  18010.   TOSHI-2.PDF    TOSHIBA   P351SX              Diablo Mode 
  18011.   TOSHI-3.PDF    TOSHIBA   P351SX              Qume Mode 
  18012.   TOSHI-4.PDF    TOSHIBA   P351SX              Epson JX-80 
  18013.   TOSHI-5.PDF    TOSHIBA   P1350/P1351
  18014.   TOSHI-6.PDF    TOSHIBA   P351/P351C          Qume Mode 
  18015.   TOSHI-7.PDF    TOSHIBA   TH-2100H 
  18016.   TOSHI-8.PDF    TOSHIBA   P1340
  18017.   TOSHI-9.PDF    TOSHIBA   321                 IBM Pro Mode
  18018.   TOSHI-10.PDF   TOSHIBA   321                 Qume Mode 
  18019.   TOSHI-11.PDF   TOSHIBA   321                 Epson JX-80 Mode
  18020.   TOSHI-12.PDF   TOSHIBA   321SL               IBM Pro Mode
  18021.   TOSHI-13.PDF   TOSHIBA   321SL               Toshiba Mode
  18022.   TOSHI-14.PDF   TOSHIBA   341e 
  18023.   TOSHI-15.PDF   TOSHIBA   341
  18024.   TOSHI-16.PDF   TOSHIBA   P351/P351C          IBM Mode
  18025.   TOSHI-17.PDF   TOSHIBA   321                 Diablo Mode 
  18026.  
  18027.