home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
fe50_d.zip
/
FE5DOC.EXE
/
FE5.DOC
next >
Wrap
Text File
|
1991-04-23
|
725KB
|
18,026 lines
File Express
User's Guide
by
David Berdan
and
Ken McGinnis
Version 5
For MS-DOS Operating Systems
Expressware Corporation
Information in this document is subject to change without notice
and does not represent a commitment by Expressware Corporation.
The software described in this User's Guide is furnished under a
license agreement and may be used or copied only in accordance
with the terms of that agreement.
Expressware Corporation
P.O. Box 1800
Duvall, WA 98019
(C) Copyright Expressware Corporation, 1991. All rights reserved
Printed and bound in the United States of America.
File Express, ExpressCalc, ExpressCheck, On-Side and ExpressGraph
are trademarks of Expressware Corporation.
IBM is a registered trademark of International Business Machines
Corporation.
Lotus is a registered trademark of Lotus Development Corporation.
dBASE III is a registered trademark of Ashton-Tate Corporation.
WordPerfect is a registered trademark of WordPerfect Corporation.
Part No. FE5-1991
ISBN 1-878012-05-3
Phone Numbers
800-753-FILE
Toll free order line.
(orders only, no technical support available on this line)
7:00 a.m. to 5:00 p.m. Pacific Time
Monday through Friday
206-788-0932
Technical support number
7:00 a.m. to 5:00 p.m. Pacific Time
Monday through Friday
206-788-4493
Fax line
24 hours a day
Available for technical support and orders
206-788-4008
Bulletin Board System
24 hours a day
Seven days a week
Available for technical support, tips, orders, and
downloading
i
Some New Features
* An all-new report writer lets you define much larger
reports. Expanded Title and Header sections. New Footer
section has been added. Long fields can be printed as
blocks with automatic word wrap. Three subtotal levels are
now permitted.
* Fields can now be easily lengthened, shortened, added,
deleted and moved without cloning the database.
* Multiple indexes (up to five) are automatically updated as
new records are added.
* Quick Scan browse mode now lets you edit the records
displayed.
* The Paint Screen option allows up to ten input screens to be
laid out as desired.
* 36 Macro keys are now available.
* Keyboard macros allow more keystrokes, use more special
keys, and can pause for input while executing.
* Printer support for more than 250 printers, including laser
printers.
* Expanded import and export sections now include dBASE and
Lotus 1-2-3 file support.
* Expanded Quick Labels use the full power of the Report
generator.
* Separate Setup program lets you personalize the whole
program.
* The manual has been expanded.
We hope you enjoy using the new File Express as much as we have
enjoyed creating it. If there are still more features you would
like to see added, please fill out the User Response Form at the
back of this manual and send it to us along with your comments.
Thank you for your continued support.
ii
CONTENTS
----------------------------------------------------------------------
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Registration . . . . . . . . . . . . . . . . . . . . . . . . 1
What Is File Express? . . . . . . . . . . . . . . . . . . . 1
Is It Easy To Use? . . . . . . . . . . . . . . . . . . . . 2
A New Vocabulary . . . . . . . . . . . . . . . . . . . . . 2
Will It Run On My Computer? . . . . . . . . . . . . . . . . 3
How Do I Get Started? . . . . . . . . . . . . . . . . . . . 4
Installing File Express . . . . . . . . . . . . . . . . . . . . . 5
Computers With Hard Disks . . . . . . . . . . . . . . . . . 5
Computers With RAM Disks . . . . . . . . . . . . . . . . . . 6
Computers With Color Monitors . . . . . . . . . . . . . . . 6
Computers On Local Area Networks . . . . . . . . . . . . . 6
Starting File Express . . . . . . . . . . . . . . . . . . . . . . 8
From a Hard Drive . . . . . . . . . . . . . . . . . . . . . 8
From a Diskette Drive . . . . . . . . . . . . . . . . . . . 8
Command Line Options . . . . . . . . . . . . . . . . . . . 11
Backing Up Your Data . . . . . . . . . . . . . . . . . . . . . . 14
Data Is Vulnerable . . . . . . . . . . . . . . . . . . . . 14
How Much Is Your Data Worth? . . . . . . . . . . . . . . . 15
Daily Backups . . . . . . . . . . . . . . . . . . . . . . . 15
Offsite Backups . . . . . . . . . . . . . . . . . . . . . . 15
Backing Up A Diskette . . . . . . . . . . . . . . . . . . . 16
Backing Up Databases On A Hard Disk . . . . . . . . . . . . 17
Backing Up A Complete Hard Disk . . . . . . . . . . . . . . 18
Tape Backup . . . . . . . . . . . . . . . . . . . . . . . . 19
Keyboard Conventions . . . . . . . . . . . . . . . . . . . . . . 20
The <Esc> Key . . . . . . . . . . . . . . . . . . . . . . . 20
Single Keystroke Input . . . . . . . . . . . . . . . . . . 20
Input Fields Of Two Or More Characters . . . . . . . . . . 21
Using a Mouse . . . . . . . . . . . . . . . . . . . . . . . 22
Context-Sensitive Help System . . . . . . . . . . . . . . . 24
Information Window . . . . . . . . . . . . . . . . . . . . . 25
Pop up Calculator . . . . . . . . . . . . . . . . . . . . . 26
A File Express Tutorial . . . . . . . . . . . . . . . . . . . . . 27
Instructions . . . . . . . . . . . . . . . . . . . . . . . . 27
Section One: A Brief Tour of File Express . . . . . . . . . 29
Lesson One: Opening A Database . . . . . . . . . . . . 29
Lesson Two: Finding A Record . . . . . . . . . . . . . 34
Lesson Three: Print a Report . . . . . . . . . . . . . 37
iii
CONTENTS
----------------------------------------------------------------------
Section Two: Defining a New Database . . . . . . . . . . . . 39
Lesson One: Defining a New Database . . . . . . . . . . 39
Lesson Two: Adding New Records . . . . . . . . . . . . 46
Lesson Three: Painted Screens . . . . . . . . . . . . . 51
Lesson Four: Create an Index . . . . . . . . . . . . . 61
Lesson Five: Quick Scan . . . . . . . . . . . . . . . . 65
Lesson Six: Create a Report . . . . . . . . . . . . . . 67
Opening a Database . . . . . . . . . . . . . . . . . . . . . . . 76
Defining A New Database . . . . . . . . . . . . . . . . . . . . . 79
Database Definition Screen . . . . . . . . . . . . . . . . . 79
Field Name . . . . . . . . . . . . . . . . . . . . . . . . 79
Field Type . . . . . . . . . . . . . . . . . . . . . . . . 81
When Is A Number Not Numeric? . . . . . . . . . . . . . . . 82
Field Length . . . . . . . . . . . . . . . . . . . . . . . 83
Field Format . . . . . . . . . . . . . . . . . . . . . . . 84
Is The Sequence Of The Fields Significant? . . . . . . . . 85
Changing And Saving The Definition . . . . . . . . . . . . 85
Changing Database Specifications . . . . . . . . . . . . . 87
Adding New Records . . . . . . . . . . . . . . . . . . . . . . . 90
Filling In The Blanks . . . . . . . . . . . . . . . . . . . 90
Formulas Are Display-Only . . . . . . . . . . . . . . . . . 91
New Records Go On The End . . . . . . . . . . . . . . . . . 91
Record Numbers Are Not Data . . . . . . . . . . . . . . . . 91
Multiple Pages (Screens) . . . . . . . . . . . . . . . . . 92
Selecting Alternate Input Screen . . . . . . . . . . . . . . 92
The Flip-Field-Contents Mark . . . . . . . . . . . . . . . 92
The Repeat Key . . . . . . . . . . . . . . . . . . . . . . . 93
Quick Labels . . . . . . . . . . . . . . . . . . . . . . . 93
Finding and Changing Records . . . . . . . . . . . . . . . . . . 95
Finding A Record . . . . . . . . . . . . . . . . . . . . . 96
Viewing The Record . . . . . . . . . . . . . . . . . . . . 96
Changing Display Order . . . . . . . . . . . . . . . . . . . 98
Natural Language . . . . . . . . . . . . . . . . . . . . . 98
General Rules Of Syntax . . . . . . . . . . . . . . . . . . 98
Quick Scan Mode . . . . . . . . . . . . . . . . . . . . . . . . 100
Editing Records in Quick Scan Mode . . . . . . . . . . . . . 102
Search And Replace . . . . . . . . . . . . . . . . . . . . . . . 104
Formulas In Search And Replace . . . . . . . . . . . . . . 106
Search And Delete . . . . . . . . . . . . . . . . . . . . . . . 108
Search And Tag . . . . . . . . . . . . . . . . . . . . . . . . . 108
iv
CONTENTS
----------------------------------------------------------------------
Finding Duplicates . . . . . . . . . . . . . . . . . . . . . . . 109
Duplicates In One Database . . . . . . . . . . . . . . . . 111
Duplicates In Two Databases . . . . . . . . . . . . . . . . 115
Sorting Records . . . . . . . . . . . . . . . . . . . . . . . . 119
What Is An Index? . . . . . . . . . . . . . . . . . . . . . 120
Defining or Changing an Index . . . . . . . . . . . . . . . 121
Record Number Index . . . . . . . . . . . . . . . . . . . . 122
Deleted Record Index . . . . . . . . . . . . . . . . . . . . 122
Defining A New Index . . . . . . . . . . . . . . . . . . . . 123
Editing An Existing Index Definition . . . . . . . . . . . . 125
Saving The Index Definition . . . . . . . . . . . . . . . . 125
Sort Precedence . . . . . . . . . . . . . . . . . . . . . . 126
Sorting Dates . . . . . . . . . . . . . . . . . . . . . . . 127
Sorting By Record Number . . . . . . . . . . . . . . . . . . 128
How Long Does It Take? . . . . . . . . . . . . . . . . . . . 128
Speeding Up Sorts . . . . . . . . . . . . . . . . . . . . . 128
Printing Reports . . . . . . . . . . . . . . . . . . . . . . . . 131
Designing a Report or Form Letter . . . . . . . . . . . . . 131
Starting a New Report . . . . . . . . . . . . . . . . . . . 134
Moving Around the Layout Screen . . . . . . . . . . . . . . 135
Report Layout Sections . . . . . . . . . . . . . . . . . . . 138
Title . . . . . . . . . . . . . . . . . . . . . . . . . 138
Centering Titles . . . . . . . . . . . . . . . . . . . 138
Headings . . . . . . . . . . . . . . . . . . . . . . . 139
Detail Area . . . . . . . . . . . . . . . . . . . . . . 140
Subtotals . . . . . . . . . . . . . . . . . . . . . . . 141
Total . . . . . . . . . . . . . . . . . . . . . . . . . 144
Footer . . . . . . . . . . . . . . . . . . . . . . . . 144
Adding Text to the Layout . . . . . . . . . . . . . . . . . 145
Inserting Text . . . . . . . . . . . . . . . . . . . . 145
Deleting Text . . . . . . . . . . . . . . . . . . . . . 145
Special Characters . . . . . . . . . . . . . . . . . . 145
Control Characters . . . . . . . . . . . . . . . . . . 145
Placing Fields on the Screen . . . . . . . . . . . . . . . . 146
Regular Fields . . . . . . . . . . . . . . . . . . . . 146
Name & Field . . . . . . . . . . . . . . . . . . . . . 147
Window Field . . . . . . . . . . . . . . . . . . . . . 147
Quick Functions . . . . . . . . . . . . . . . . . . . . . . 161
Using Formulas In Reports . . . . . . . . . . . . . . . . . 163
Formula Name . . . . . . . . . . . . . . . . . . . . . 163
Formula Length and Decimals . . . . . . . . . . . . . . 164
Changing Fields . . . . . . . . . . . . . . . . . . . . . . 166
Removing a Field . . . . . . . . . . . . . . . . . . . 166
Changing the Printed Field Length . . . . . . . . . . . 166
Field Order . . . . . . . . . . . . . . . . . . . . . . 166
Drawing Lines . . . . . . . . . . . . . . . . . . . . . . . 167
Changing the Box Style . . . . . . . . . . . . . . . . . . . 167
v
CONTENTS
----------------------------------------------------------------------
Optional Specifications Screen . . . . . . . . . . . . . . 169
Report Output Option . . . . . . . . . . . . . . . . . . . . 172
Printer Options . . . . . . . . . . . . . . . . . . . . . . 174
Index Selection . . . . . . . . . . . . . . . . . . . . . . . . . 178
Saving A Report Format . . . . . . . . . . . . . . . . . . 178
Printing the Report . . . . . . . . . . . . . . . . . . . . 178
Wide Reports . . . . . . . . . . . . . . . . . . . . . . . . 179
Letter Writer . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Starting a New Letter . . . . . . . . . . . . . . . . . . . 180
Moving Around the Letter Writer . . . . . . . . . . . . . . 182
Letter Output Option . . . . . . . . . . . . . . . . . . . . 184
Printer Options . . . . . . . . . . . . . . . . . . . . . . 186
Index Selection . . . . . . . . . . . . . . . . . . . . . . . . . 189
Saving A Letter Format . . . . . . . . . . . . . . . . . . 189
Printing the Letter . . . . . . . . . . . . . . . . . . . . 189
Printing Labels . . . . . . . . . . . . . . . . . . . . . . . . 191
The Label Menu . . . . . . . . . . . . . . . . . . . . . . 191
Designing A New Label . . . . . . . . . . . . . . . . . . . 192
Test Printer Setup . . . . . . . . . . . . . . . . . . . . . 198
The Label Layout Screen . . . . . . . . . . . . . . . . . . 199
The Paging Option . . . . . . . . . . . . . . . . . . . . . 200
Label Output Options . . . . . . . . . . . . . . . . . . . 202
Printer Options . . . . . . . . . . . . . . . . . . . . . . 205
Labels For Other Applications . . . . . . . . . . . . . . . 208
Quick Labels . . . . . . . . . . . . . . . . . . . . . . . . 208
Defining a Quick Label . . . . . . . . . . . . . . . . . . 208
Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
The Maintenance Menu . . . . . . . . . . . . . . . . . . . . 209
Painting Custom Input Screens . . . . . . . . . . . . . . . . . . 214
Editing an Existing View Screen . . . . . . . . . . . . . . 215
Deleting a View . . . . . . . . . . . . . . . . . . . . . . 215
Renaming a View . . . . . . . . . . . . . . . . . . . . . . 215
Defining a New View Screen . . . . . . . . . . . . . . . . . 215
Set the Default View . . . . . . . . . . . . . . . . . . . . 215
Painting a View Screen . . . . . . . . . . . . . . . . . . . 216
Moving Around the View Screen . . . . . . . . . . . . . . . 216
Adding Text to the Input Screen . . . . . . . . . . . . . . 218
Placing Fields on the Screen . . . . . . . . . . . . . . . . 219
Regular Input Fields . . . . . . . . . . . . . . . . . . . . 219
Changing Fields . . . . . . . . . . . . . . . . . . . . . . . . . 222
vi
CONTENTS
----------------------------------------------------------------------
Changing Field Attributes . . . . . . . . . . . . . . . . . 222
Removing a Field . . . . . . . . . . . . . . . . . . . . . . 222
Changing the Field Display Length . . . . . . . . . . . . . 222
Input Order . . . . . . . . . . . . . . . . . . . . . . . . 223
Changing Field Input Order . . . . . . . . . . . . . . . . . 223
Testing Input Order . . . . . . . . . . . . . . . . . . . . 223
Painting Color on the Screen . . . . . . . . . . . . . . . . 224
Turning Paint On and Off . . . . . . . . . . . . . . . 224
Changing The Current Color . . . . . . . . . . . . . . 224
Changing the Box Style . . . . . . . . . . . . . . . . . . . 225
Saving or Canceling the View Screens . . . . . . . . . . . . 226
Macro Key Setup . . . . . . . . . . . . . . . . . . . . . . . . . 227
Defining a Macro . . . . . . . . . . . . . . . . . . . . . . 228
The Keyboard Recorder . . . . . . . . . . . . . . . . . . . 231
Recalculating The Database . . . . . . . . . . . . . . . . . . . 233
Untagging All Records . . . . . . . . . . . . . . . . . . . . . . 233
Printing The Database Format . . . . . . . . . . . . . . . . . . 234
Printer Definition Files . . . . . . . . . . . . . . . . . . . . 235
Adding a PDF File . . . . . . . . . . . . . . . . . . . . . 236
Editing a PDF File . . . . . . . . . . . . . . . . . . . . . 236
Default PDF File . . . . . . . . . . . . . . . . . . . . . . 237
Import/Export/Clone . . . . . . . . . . . . . . . . . . . . . . 238
Some Common File Formats . . . . . . . . . . . . . . . . . 240
Mail Merge (sequential) . . . . . . . . . . . . . . . . 240
WordPerfect Merge Files . . . . . . . . . . . . . . . . 241
DIF Files . . . . . . . . . . . . . . . . . . . . . . . 241
Fixed Length Files . . . . . . . . . . . . . . . . . . 242
SDF or Text Files . . . . . . . . . . . . . . . . . . 242
Lotus 123 Files . . . . . . . . . . . . . . . . . . . . 242
dBASE Files . . . . . . . . . . . . . . . . . . . . . . 243
File Express Files . . . . . . . . . . . . . . . . . . 243
Importing Into A Database . . . . . . . . . . . . . . . . . . . 244
Exporting From A Database . . . . . . . . . . . . . . . . . . . . 247
Cloning A Database . . . . . . . . . . . . . . . . . . . . . . . 251
Quit - Exit to DOS . . . . . . . . . . . . . . . . . . . . . . . 254
Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Some Definitions . . . . . . . . . . . . . . . . . . . . . . 256
Function: . . . . . . . . . . . . . . . . . . . . . . . . . 256
vii
CONTENTS
----------------------------------------------------------------------
Statement: . . . . . . . . . . . . . . . . . . . . . . . . . 257
Comparitor: . . . . . . . . . . . . . . . . . . . . . . . . 259
Operators: . . . . . . . . . . . . . . . . . . . . . . . . . 259
Logical Operators: . . . . . . . . . . . . . . . . . . . . . 259
Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . 353
Screen Dumps To Disk . . . . . . . . . . . . . . . . . . . 353
Custom Banner Screens . . . . . . . . . . . . . . . . . . . 354
Customizing File Express . . . . . . . . . . . . . . . . . . . . 356
Starting the Setup Program . . . . . . . . . . . . . . . . . 356
Floppy System: . . . . . . . . . . . . . . . . . . . . 356
Hard Disk System: . . . . . . . . . . . . . . . . . . . 356
Using Setup: . . . . . . . . . . . . . . . . . . . . . 357
General Defaults . . . . . . . . . . . . . . . . . . . . . . 357
Sound Option: . . . . . . . . . . . . . . . . . . . . . 357
Screen Display: . . . . . . . . . . . . . . . . . . . . 357
Snow: . . . . . . . . . . . . . . . . . . . . . . . . . 357
Menu Lines: . . . . . . . . . . . . . . . . . . . . . . 357
Auto Enter Option: . . . . . . . . . . . . . . . . . . 357
Space Character: . . . . . . . . . . . . . . . . . . . 358
Default Date Format . . . . . . . . . . . . . . . . . . 358
Default Monetary Sign . . . . . . . . . . . . . . . . . 358
Color Defaults . . . . . . . . . . . . . . . . . . . . . . . 359
Color or Mono: . . . . . . . . . . . . . . . . . . . . 359
Screen Colors: . . . . . . . . . . . . . . . . . . . . 359
Data Entry Defaults . . . . . . . . . . . . . . . . . . . . 360
Drive and Path name: . . . . . . . . . . . . . . . . . 360
Database File Name: . . . . . . . . . . . . . . . . . . 360
Clear Buffer Option: . . . . . . . . . . . . . . . . . 360
Disk Space: . . . . . . . . . . . . . . . . . . . . . . 361
Label Printing Defaults . . . . . . . . . . . . . . . . . . 361
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . 363
Reporting Problems To Expressware . . . . . . . . . . . . . . . . 371
Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Appendix A: Glossary of Terms . . . . . . . . . . . . . . . . . . 373
Appendix B: ASCII Chart . . . . . . . . . . . . . . . . . . . . . 377
Appendix C: Keywords . . . . . . . . . . . . . . . . . . . . . . 379
Appendix D: File Formats . . . . . . . . . . . . . . . . . . . . 383
Appendix E: Date Formats . . . . . . . . . . . . . . . . . . . . 385
viii
CONTENTS
----------------------------------------------------------------------
Appendix F: Sounds Like Routine (Soundex) . . . . . . . . . . . . 387
Appendix G: Printer Definition Files . . . . . . . . . . . . . . 389
ix
INTRODUCTION 1
----------------------------------------------------------------------
Introduction
This section introduces you to File Express and some of its
features. If you are new to File Express, you should take the
time to read through this section before running the program. If
you are already familiar with File Express, you might want to
skim through this section to see what new features version 5 has
to offer.
Registration
Before you continue, please take the time to fill out and mail in
the registration card that came with your File Express package.
This ensures you are kept up to date on future releases and
information concerning File Express. It also entitles you to a
subscription to ExpressNews, Expressware's newsletters giving
valuable tips and tricks for using File Express and our other
products.
What Is File Express?
File Express is a database management program written for the IBM
Personal Computer and PC-compatible computers. Using File
Express, information of virtually any kind can be put into the
computer, printed, sorted, displayed and reported. For example,
a list of names and addresses can be entered, then they can be
sorted into zip code sequence or last name sequence, printed out
onto mailing labels, and updated as the list changes. The same
data can be included in reports, or simply displayed on the
computer screen when needed. Customized form letters can also be
written in File Express by merging names from the database file
with a letter.
File Express is very popular among first-time database users and
non-technical users, so we have tried to aim the manual to this
level of reader. But as File Express has continued to be
improved over the last six years, it has also become very
powerful. Some of its early first-time users have advanced to
true "power users" and we need to address their needs too, while
maintaining the simplicity of the manual and the software. Some
of the more technical explanations have been confined to special
sections in the back of the manual. There is a section called
Advanced Features which discusses many of File Express's features
which might interest only technically oriented users. Throughout
this manual you will occasionally see paragraphs labeled
Technical Note. If you are not a technical user, you can simply
ignore these sections. If you read a Technical Note and don't
understand it, don't be concerned. You don't need to understand
it in order to use File Express.
2 INTRODUCTION
----------------------------------------------------------------------
Is It Easy To Use?
File Express is very easy to use because it makes extensive use
of "menus" and "prompts". These are computer terms which mean
the program asks questions and the user simply answers them. A
"prompt" is a question which usually has only one or two answers,
such as "Do you want to save this report on your disk? (Yes or
No)" or "How many labels will be printed?". A prompt can also
instruct rather than ask a question: "Press <Enter> when the
printer is ready".
A "menu" is similar to a prompt, only bigger. When File Express
asks a question which can be answered in several different ways,
it lists all the possible responses, and lets the user enter one
of them. For example, here is a simple menu:
Export Menu
1 - Mail merge file
2 - WordPerfect merge file
3 - DIF file
4 - Fixed length file
5 - Text editor (SDF)
6 - Lotus 123 file
7 - dBase file
When a menu like this is displayed by File Express, pressing any
one of the keys shown (in this example, 1 through 7) tells the
program what you want to do. Programs using menus and prompts
are called "conversational" programs, because you and the program
actually carry on a conversation, where you tell the program what
you want to do, and it asks you precisely how. Conversational
programs are much easier to use than programs which require
complex commands (called "command-driven" programs). It's this
conversational approach which makes File Express one of the
easiest database programs available.
A New Vocabulary
Computers have brought us many great improvements in the way we
work. But along with the benefits came the need for new words
and terms to describe things that formerly didn't need
describing. As a PC user, you have no doubt already encountered
some of the new words. For example, by now you know that when
someone says to "boot" your computer, they don't mean to
drop-kick it across the room (though there may have been times
you wanted to).
Let's review some of the words used in this manual and in the
File Express program that may be new to you. For definitions of
technical terms there is also a glossary at the end of the
manual.
INTRODUCTION 3
----------------------------------------------------------------------
FIELD: A piece of data, from one to 1000 characters in length. A
field may contain letters (alphabetic field), numbers (numeric
field) or a combination of letters and numbers (alphanumeric
field), or it may have nothing in it at all (empty field). For
example, a simple mailing list might have six fields: 1) first
name, 2) last name, 3) address, 4) city, 5) state, and 6) zip
code.
RECORD: Several fields with something in common, entered into a
database. Groups of records make a database. For example, in a
mailing list, each complete name and address put into the
computer comprises one record.
DATABASE: A collection of related information which is put in the
computer so it can be printed, sorted, updated and searched
easily. Each database has an identifying name of one to eight
characters, such as CUSTOMER or MAILLIST. In this manual we may
occasionally use the term "file" when referring to a File Express
database.
The following diagram illustrates the relationship of fields,
records and databases.
Record 1 Record 2 Record 3
Field 1:First Name Bob John Joe
Field 2:Last Name Smith Jones Doaks
Field 3:Address 123 Main 999 Ninth Box 230
Field 4:City Seattle Bellevue Redmond
Field 5:State WA WA WA
Field 6:Zip 98119 98007 98073
Several records
make a database
Will It Run On My Computer?
If your computer is 100% compatible with the IBM PC, XT or AT,
then File Express will definitely run on it. Some
semi-compatibles may require some special configuring.
Generally, if your computer uses the PC-DOS or MS-DOS operating
system, then File Express will probably run on it. There are
some minimum hardware requirements:
* PC-DOS or MS-DOS version 2.0 or higher
* At least 512K of RAM memory
* Two diskette drives (one of which must be 720K or
larger) or a hard disk with at least 1 megabyte of free
space.
Your computer may have either a monochrome or 80-column color
monitor. If you have a color monitor, File Express formats its
4 INTRODUCTION
----------------------------------------------------------------------
screens in your choice of colors. A printer is optional, but is
of course needed if reports or labels are to be printed.
INTRODUCTION 5
----------------------------------------------------------------------
How Do I Get Started?
The first step is to install the File Express software on your
computer. Usually this is a simple process, but there are some
PC's with unique configurations which require special procedures.
The second chapter of this manual is called Installing File
Express and it takes you through the steps of installing the
programs and sample files.
If you are a newcomer to File Express you will want to review the
chapter titled A File Express Tutorial to familiarize yourself
with some of the program's basic features. Even if you are an
experienced File Express user, we recommend that you review the
Tutorial section. There are many new capabilities in this new
version of the program which become readily apparent in the
tutorial. Also, the sample database in the tutorial is
referenced in examples throughout this manual, and the examples
assume you are familiar with the database discussed in the
tutorial.
6 INSTALLATION
----------------------------------------------------------------------
Installing File Express
Included in your package is the File Express Installation Guide
with instructions for installing the program on your computer.
These instructions are repeated here in case you have misplaced
the card.
File Express may be run on a computer with two diskette drives as
long as one of them is at least 720K or larger, or a computer
with a hard disk drive. Like most other software programs, File
Express runs much faster on a hard disk; and database files can
be considerably larger. If you have an application needing more
speed or requiring large amounts of data, a hard disk is an
excellent investment, costing only a few hundred dollars for most
PC's.
These installation instructions assume you have a basic
understanding of DOS commands and terms. If you are not familiar
with terms such as subdirectory, path, formatted diskette, etc.
you will need to consult your DOS manual for more information.
The File Express program files included on the distribution
diskettes are in a compressed format and cannot be run without
being expanded using the INSTALL program included on the PROGRAM
DISK. Even if you are running File Express from floppy
diskettes, you must use the INSTALL program to create your
working diskettes.
To install File Express on either a hard disk or diskettes, place
the PROGRAM DISK in drive A, type A: <Enter> to make the A: drive
your default drive, and then type INSTALL <Enter> to start the
installation process.
The INSTALL program asks you several questions about where you
want to put File Express and how you want to configure it.
INSTALL also looks at your AUTOEXEC.BAT file to ensure that the
PATH command contains a reference to your new File Express
directory. INSTALL will only change your AUTOEXEC.BAT file if
you give it permission to. Your CONFIG.SYS file is also checked
to make sure that at least 20 files can be open at the same time.
Again, permission is asked before any changes will be made.
Computers With Hard Disks
When using File Express from a hard disk (fixed disk), it is
possible to put the program modules in one subdirectory and your
database files in one or more other subdirectories. This is not
a decision you need to make now; the path to the database files
can be changed anytime File Express is started.
INSTALLATION 7
----------------------------------------------------------------------
empty
8 INSTALLATION
----------------------------------------------------------------------
Computers With RAM Disks
RAM disks use computer memory to emulate an additional disk
drive. Usually the memory used is part of your computer's
available RAM memory. File Express offers no extra features for
RAM disk users, but like many other software programs, File
Express runs much faster when its data files are in the RAM
drive.
An inherent danger exists with RAM disks. If the electricity
goes off, all the files in a RAM disk are lost. For that reason,
we recommend you use RAM disks sparingly. If you are using a RAM
disk as a second drive on a one-drive system, copy the File
Express programs to the RAM disk and put your database diskette
in the real diskette drive. The programs load and run much
faster, and updates to your data will be permanently recorded on
the diskette.
Technical Note: If you have an application where you need the
added speed of RAM disk access, and you are willing to risk the
potential loss of data, RAM disks work great with File Express.
If data is being updated, consider making regular copies of it
onto a real disk every hour.
Computers With Color Monitors
If your computer has a color monitor and a graphics board, File
Express automatically displays its screens in color. If you
would like to change the colors used by File Express, see the
section titled Customizing File Express for changing screen
colors.
File Express detects whether your computer has a monochrome board
or a color graphics board and uses colors or black/white
accordingly. But some computers have a black and white monitor
connected to a color board, which tricks File Express into
sending colors to the black-and-white screen. This can cause
some characters to appear hazy and unreadable, or in some cases,
to not appear on the screen at all.
If this condition occurs, or if you suspect it is occurring,
press <Esc> then <Enter> to exit from File Express, then start
the program again using the /M command line option (more on this
later). Or you can customize the various screen colors to
black-on-white and white-on-black using the Setup program (see
Customizing File Express).
Computers On Local Area Networks
File Express may be used on local area networks. The program
incorporates its own file locking feature and does not depend on
the network software or the DOS SHARE program to provide this
capability.
INSTALLATION 9
----------------------------------------------------------------------
The first person to open a particular database on a network is
the only user given permission to change it. (Add and edit
records, search and replace, change indexes, tag records, etc).
Subsequent users who open the same database are given a warning
message indicating that the database is locked and they can only
view records and print reports and labels.
When the first user closes the database, another person using the
same database can only get edit capability by reopening the file.
It is possible for a person to give up the editing rights by
using the /R command line option when starting File Express. See
Command Line Options for a complete description.
Technical Note: When File Express locks a database, it creates a
READ ONLY file on the data drive to indicate to subsequent users
that the database is being used by someone else. This file also
contains the users name, if known. This file is normally erased
when the first user closes the database. It is possible however,
that due to a power failure or system crash for any reason, all
future attempts by any user to edit the file will be given the
warning message indicating that someone else is using the file.
In this case, the lock file must be erased. This cannot be done
from DOS because the lock file has been marked as a READ ONLY
file. There is a separate program file called UNLOCK.EXE that
must be used to erase the lock file. To use this program, return
to DOS and type:
UNLOCK databasename <Enter>
If you have to use the UNLOCK program to clear a database lock,
there are other side effects that can result from the same cause
that left the database locked. If the power went out while you
were adding or editing records, some of those additions or
changes may not have been written to disk yet. If you were doing
a Search and Replace, the process may not have been completed.
If you had changed the database format in some way such as adding
new fields, moving fields or changing their lengths, and File
Express was in the process of rebuilding the database, a power
failure can cause catastrophic, leaving part of the data file in
a format different than the remaining portion. This is why it is
so important to have a current backup before making this kind of
change.
So, if your computer ever locks up or the power goes out, note
the process you were going through so you can determine the
possible problems.
10 STARTING FILE EXPRESS
----------------------------------------------------------------------
Starting File Express
From a Hard Drive
Users with hard disks use the following commands to start the
File Express program. Be sure to press <Enter> after each one.
C: Make drive C: the current drive
CD \FE5 Change directory to the new FE subdirectory
FE Start the File Express program
Actually, File Express can be run from any directory as long as
the subdirectory containing the File Express program files is
part of the current PATH. File Express is smart enough to
remember where it was loaded from and knows where to look when
loading the overlay file it needs at certain points in the
program.
From a Diskette Drive
You cannot use the Master Program Diskette to run File Express.
Make a working copy of the program diskette using the INSTALL
program, and store the original in a safe place. Remember, the
File Express Supplemental Diskette is not the diskette to use in
drive B. Drive B needs an empty, or nearly empty diskette to
hold your data files. There is very little free space available
on the Supplemental Diskette. For more information on creating
and formatting your working diskettes, see the Installation
section at the beginning of this chapter.
There is no room on the Program Diskette for DOS or COMMAND.COM
so you must use a separate DOS diskette to boot your computer.
After booting, remove the DOS diskette and insert the FE Program
Diskette into drive A and type:
FE <Enter>
STARTING FILE EXPRESS 11
----------------------------------------------------------------------
The File Express program loads into memory, and after a second or
two, this title screen appears:
Registered Version has screen picture here
If your opening screen does not display, or if it has some
unreadable characters, you probably have a special hardware
configuration that File Express cannot properly detect. See the
/M command in the next section, or refer to the section titled
Troubleshooting near the end of this manual.
12 STARTING FILE EXPRESS
----------------------------------------------------------------------
The title screen is displayed until you press a key. The program
loads and this screen appears asking for the disk drive and path
(if any) your data is on:
Registered Version has screen picture here
File Express anticipates your response to these questions, and
fills in some default values. If you are running from diskette,
File Express assumes your data is on drive B. If not, type the
correct drive letter. If you are running from a hard disk, File
Express assumes your data is on drive C, in the same directory as
the File Express programs. If not, change the path name.
If the drive letter and subdirectory are correct, just press the
<Enter> key twice, and the "Open A Database" screen appears. An
illustration of this screen and further instructions on running
File Express are in the chapter titled A File Express Tutorial.
Technical Note: File Express does not create new subdirectories.
If the specified subdirectory does not exist, an error message is
given. For information on creating subdirectories, see your DOS
manual.
STARTING FILE EXPRESS 13
----------------------------------------------------------------------
Command Line Options
In the example above we typed FE on the command line to start
File Express. There are other things that can be typed on that
same line. For example, the drive letter and path can be
included on the command line. File Express then skips the screen
asking for them. Here are some examples of valid starting
commands:
FE B: Indicates data is on drive B. Program prompts for
path.
FE \MASTER\ Indicates data is in subdirectory \MASTER on the
current drive. (The ending backslash on MASTER\
indicates a path as opposed to a database name.)
FE B:\MASTER\ The data is in subdirectory \MASTER on drive B.
FE MAIL Selects database called MAIL on current drive and
path. (Because there is no trailing backslash,
MAIL is considered a database name as opposed to a
path name.)
FE B:MAIL Selects the database called MAIL in the current
path on drive B.
FE B:\MASTER\MAIL Selects the database called MAIL from the
\MASTER subdirectory on drive B.
If a database name is specified on the command line but the
database doesn't exist, File Express assumes you want to create a
new database, so control is passed to the Define a New Database
section.
In addition to the drive, path and database name, the command
line may also contain one or more of the following commands:
/M Monochrome (black and white) display: This command is
sometimes necessary when using File Express on a monochrome
graphics monitor with a color graphics board. Users with
color graphics monitors can also use the command to make the
screens appear in black and white.
/S Turn off the sound: File Express makes a distinctive "beep"
when it accepts a data field from the keyboard. It makes a
slightly different sound when an invalid character is
entered. Some computers have louder speakers than others,
and the sound may be annoying to you or to others around
you. Use the /S command to turn it off. Sound can also be
turned off by pressing <Alt-S> while at the Main Menu
screen.
14 STARTING FILE EXPRESS
----------------------------------------------------------------------
/B Use BIOS calls for screen display: Some computers' video
memory is not fully compatible with the IBM PC. To display
data on the screen as quickly as possible, File Express
places data directly into video RAM. Some early models of
MS-DOS computers did not map video memory at the same
address as the IBM PC. On computers with video RAM at a
different address, nothing is displayed; i.e., the screen
stays blank. If you specify /B on the command line, File
Express uses calls to the ROM BIOS for screen displays.
This makes screen displays slower, but assures the data is
displaying on the screen.
/F Fast startup: This command tells File Express to skip the
banner screen during startup.
/I Ignore mouse: This command tells File Express to ignore any
mouse connected to your computer.
/K Keyin: This command feeds a string of characters to File
Express when it starts up. The /K is immediately followed
by the keystrokes to be executed when the program starts.
For example, the command:
FE MASTER /KRC
starts File Express, opens the MASTER database and then
continues as if you typed RC, taking you to the Report Menu
and selecting the Choose an existing Report option. The
keystrokes File Express accepts are quite extensive,
covering every key on the keyboard and all combinations with
<Alt> and <Ctrl>. The syntax is the same as the macro
language. For a complete description, please refer to the
Defining a Macro section of the manual.
/N Network users name: The first person to log onto a database
usually is given edit capabilities. Other users are given a
warning message as they open the file that it is locked and
they cannot edit any records. If the first person uses the
/Nname command when opening a database from the command
line, the warning message given to other users will include
the persons name. The /N option must be immediately
followed by the user name. For example, the command:
FE PAYROLL /NDAVE
by the first person opening the PAYROLL database, gives
later users the message, "Warning, file is locked by DAVE".
If no /N user name is given, the message will read,
"Warning, file is locked by unknown user".
STARTING FILE EXPRESS 15
----------------------------------------------------------------------
/R Read only: When using File Express on a local area network,
only one user at a time is allowed to have edit capability
on a particular database file. this is normally the first
user to open the file. If the first person wants to give up
the edit capability, use the /R command.
/2 to /8 Menu selection: Indicates to File Express to
select the specified menu number from the Main
Menu, as if it had been typed in. Instead of the
Main Menu appearing, the specified sub-menu
appears on the screen. For example, if File
Express is started using this command line:
FE C:\MASTER\MAIL /3
the program opens the database called MAIL in the \MASTER
subdirectory on drive C. The banner screen is not
displayed, the drive/path prompt screen is not displayed,
and the Main Menu screen is not displayed. The first screen
the operator sees after entering this command is screen
number 3, the Find/Edit Records screen.
These slash command switches must follow the drive, path and
database if they are specified. Use the forward slash
character "/". The backslash character "\" does not work.
There should be no spaces following the slash, but there may
be one or more spaces preceding it. For example, these are
acceptable commands:
FE /M/S Acceptable
FE /S Acceptable
FE C:MAIL/M/S Acceptable
FE C:MAIL /M/S/R Acceptable
FE /M /S /B /NJill Acceptable
These commands are unacceptable:
FE / M Unacceptable. No space allowed between / and
M.
FEC:MAIL Unacceptable. DOS thinks program name is
FEC. There must be a space after FE.
File Express can be configured to automatically use one or
more of these command line options plus several other
16 STARTING FILE EXPRESS
----------------------------------------------------------------------
options by using the Setup program to create a configuration
file. For more information on customizing File Express see
the chapter titled Customizing File Express.
Backing Up Your Data
Making regular backup copies of disk data is essential, whether
using File Express or any other program. Yet the backup process
is often taken for granted or ignored in many software manuals.
Backups are so fundamental we are including this section at the
front of the manual, where new users will be sure to see it.
Data Is Vulnerable
Consider for a moment all the ways computer data can be lost or
destroyed. Here are some of them:
Human Error: This is the number one cause of data loss.
Deleting the wrong record; erasing the wrong database;
turning off the computer without exiting from the program;
using the wrong command; these fall under the heading of
human error.
Media Wear: Diskettes wear out. Database programs help
them wear out faster because they access the disk much more
than word processors, spreadsheets and other software. This
is not a criticism of database programs; it is expected of a
database program to access large amounts of disk data
quickly without having to load it all into memory.
Damaged or Misplaced Media: Diskettes get bent, heavy
objects get laid on them, coffee gets spilled on them, they
are handled roughly, and eventually, they get even, by
failing. Occasionally diskettes get lost, misplaced, even
inadvertently thrown away.
Equipment Failure: Hard disks and diskette drives fail,
sometimes intermittently, sometimes permanently. When they
go down, they often take their data with them.
Acts of God: Most of us are insured against losses due to
fire, flood, tornado, etc. Insurance companies pay to
replace computers, lost software, sometimes even the cost of
re-entering all the data into a database. But they don't
pay for the time and revenue lost while the database is
being rebuilt. And when the data is destroyed, often the
paperwork from which the information was entered is
destroyed too.
Program Error: Program bugs can damage or destroy data too.
While File Express has been extensively tested and is used
BACKUPS 17
----------------------------------------------------------------------
on hundreds of thousands of computers, there is always the
possibility of an unforeseen problem somewhere within.
Other programs can fail and cause loss of data too: DOS is a
program, and not an infallible one.
Theft: A manufacturer of anti-theft devices for computers
ranks theft as the number two cause of data loss, second
only to human error. We don't know if that's accurate, but
when a burglar gets your computer, he also gets your hard
disk and your data. You can get a new computer within a few
hours, but without backups it could take weeks to rebuild
your databases.
Mystical factors, sun spots, UFO's, the dog ate it, etc.:
These are the times when we don't know exactly why, but the
file just disappeared from the disk. It's usually caused by
one or more of the reasons listed earlier, but who really
knows for sure?
How Much Is Your Data Worth?
As we use computers more and more in our work and personal lives,
we come to rely more and more on them. At Expressware our
databases have expanded over time to the extent that most of the
data does not even exist anywhere else. So we make it exist
somewhere else, by making backup copies of it.
Even if the written data existed to rebuild our databases from
scratch, it would take a person typing 50 words per minute over
four months just to key it all back into the computer. And since
the data doesn't exist anywhere else, the value of our backups is
substantial.
Daily Backups
At Expressware we make a backup of our databases every day. Each
evening the order desk clerk copies the current month's databases
onto diskettes. These diskettes are kept in a safe place, and
are not reused for seven days. There are five sets of daily
backup diskettes, one for each day of the work-week. This means
that every day we have five separate copies of our data, each
progressively more current. Anyone making hundreds of changes
and additions to a database every day is advised to make daily
backups as well.
Offsite Backups
At the end of each month we make a complete backup onto magnetic
tape of every hard disk in the company. These backup tapes are
then taken to another building, where they are stored for six
months. If burglars or hurricanes devastate our office, they
will probably take all the software packages off the shelf along
with the computers. But our programmers have their own PC's at
18 BACKUPS
----------------------------------------------------------------------
home, so with the offsite backups of their hard disks, they can
be productive again by lunch time.
BACKUPS 19
----------------------------------------------------------------------
Backing Up A Diskette
The easiest way to make a backup of a diskette is to make an
identical copy of it, using the DISKCOPY program. Put your DOS
disk in drive A and on the command line type:
DISKCOPY A: B:
A message appears on the screen telling you to put the source
diskette in drive A and the destination diskette in drive B. If
you have only one diskette drive, type:
DISKCOPY A: A:
Remove the DOS diskette from drive A. Put a write-protect tab on
the master diskette (the one to be copied) and put it in drive A.
Put the backup diskette into drive B (no write-protect tab on
this one; it will be written on). It doesn't matter if the
diskette in drive B is formatted or not because DISKCOPY formats
as it copies. It's OK if the diskette has some data on it
already; the data will be written over.
Now press a key, and the copying begins. This process normally
takes two to three minutes. Check the screen for errors. If an
error has occurred, don't take any chances: throw the backup
diskette in the trash and try another one. Your data is worth a
lot more than the cost of a new diskette. If the copy was
successful, DISKCOPY tells you so, then asks if you want to copy
another diskette. If you have more to copy, respond <Y> and put
the next two diskettes into drives A and B.
Just because the copy was successful does not mean the diskette
in drive B is readable. To really be safe, make new labels for
both diskettes and make the copy your new master. Your old
master diskette becomes the backup diskette. If the copy is bad,
you will know it as soon as you try to use your new master
diskette.
One more step which many of us overlook or forget: label the
backup diskette. It's a backup of what? When was it backed up?
If you plan to re-use the diskette later and don't want to stick
a label on it, then write a note on a piece of paper and put it
in the disk sleeve. Or stick a yellow post-it note on the
diskette. Or put all your backup diskettes in an envelope with
the date written on the outside.
Finally, put the backups in a safe place: maybe an unused desk
drawer that is now the official backup drawer; or in a file
folder. Keep the backup diskettes someplace where they will not
be exposed to excessive heat, cold, dust or physical abuse.
Briefcases, purses and glove compartments are usually not good
storage areas.
20 BACKUPS
----------------------------------------------------------------------
empty
BACKUPS 21
----------------------------------------------------------------------
Backing Up Databases On A Hard Disk
These instructions assume the databases to be backed up are in a
subdirectory named \FE5. If not, use your own subdirectory name.
Databases on hard disks are often too large to fit on a single
diskette, so the simple COPY command which DOS provides is not
adequate. Instead, use the DOS program called BACKUP. Formatted
diskettes are required, so format several (using the DOS FORMAT
program) and set them aside. It's also OK to use diskettes with
data on them, either from an earlier backup or something else
(they are already formatted, so you can skip that step).
22 BACKUPS
----------------------------------------------------------------------
To start the backup process, type this command at the DOS prompt:
BACKUP C:\FE5\*.* A:
The backup program tells you to put a diskette in drive A. Label
one of the formatted diskettes: BACKUP C:\FE5\*.* A: 1 OF __
and put it into drive A. The Backup program warns that all data
on the diskette in drive A will be destroyed. Press <Enter> and
the backup begins. As each file is copied to diskette its name
appears on the screen. If you don't see some files displayed
with names of your databases, something is wrong.
If your databases are small, they might all fit on one diskette.
Probably not, though. Soon the BACKUP program tells you to put
diskette #2 in drive A. Label a second diskette, 2 OF __, put
it in drive A, and press <Enter>. As each diskette is filled,
label the next one and put it in drive A until the BACKUP program
finally ends. This process may require several diskettes.
Now fill in the blanks on the diskettes (e.g., 1 OF 5) and put
them in a safe place.
If you find you need the data from these backups at some time in
the future, the diskette label indicates they were produced with
the command BACKUP C:\FE\*.* A: which is important information.
Since they were produced with the BACKUP program, they must be
restored to the hard disk with the DOS program named RESTORE. If
you need to retrieve only one file, don't use the DOS COPY
command to restore it to the hard disk. Use the RESTORE program
to restore any file backed up with BACKUP. Another important
piece of information on the diskette label is that the files were
backed up from the subdirectory \FE5. Restore them to the same
subdirectory.
RESTORE A: C:*.*
is the command to use to put the files from the diskettes back
onto your hard disk. They will automatically be placed in the
\FE5 subdirectory.
Backing Up A Complete Hard Disk
If you want to periodically make a backup copy of your entire
hard disk, the procedure is similar to backing up a subdirectory.
But start by formatting lots of diskettes. If your 10 meg hard
disk is full, or your 20 meg drive is half full, you will need 29
diskettes to back it up. Then type the following commands at the
DOS command line:
C:
CD \
BACKUPS 23
----------------------------------------------------------------------
BACKUP *.* A: /S
These commands get you onto the root directory of drive C, then
the last command backs up all the files on the root, plus all
subdirectories of the root (/S is for the subdirectories).
One word of caution on complete system backups: because they take
so many diskettes, it is tempting to start erasing old files from
the hard disk to reduce the amount of time and space the backups
take. Take it from a computer veteran who has made all the
mistakes at least twice: don't erase anything prior to a backup.
Human error (erasing the wrong files) is the biggest single cause
of lost data. Resist the temptation. As soon as the backup is
completed, go in and erase all those old files that have been
gathering dust for two years. That way, they'll be gone when you
do your backups next month, and you won't be faced with the
temptation next month to erase before backing up.
Tape Backups
At Expressware we have many computers with so much information
stored on them that it is not practical to make backups using the
DOS BACKUP program. Instead, we use a tape drive for this
purpose. Backing up many megabytes of data takes only a few
minutes and doesn't require anybody sitting at the computers
feeding them piles of diskettes. In the end, an entire 40
megabyte hard disk gets backed up on a tape cartridge that is
about the size of a deck of cards.
We have found that convenience plays a big part in whether timely
backups are made of our files. If it is a painful process to
make a backup, it won't be done as often as it should. If the
process is easy and doesn't take much time, then the job will be
done consistently. If you have a hard disk that is about 30
megabytes or larger and find that you are not making regular
backups, you should consider purchasing either a tape drive or
special backup software. They are relatively inexpensive and
well worth the investment.
24 KEYBOARD
----------------------------------------------------------------------
Keyboard Conventions
In this manual, and on many File Express screens, when you see a
letter, number or special key enclosed in <brackets>, it means to
press the key enclosed in the brackets. For example, <F1> means
the F1 key. <Alt-F1> means hold down Alt and press F1.
Likewise, <Shift-F1> means hold down Shift and press F1, and
<Ctrl-F1> means hold down Ctrl and press F1.
When a letter <A> through <Z> appears in brackets, either an
upper-case (capital) or lower-case (small) letter may be entered.
Sometimes at the bottom of a screen, the first letter of a word
is enclosed in brackets, such as <P>rint. This is a short-hand
way to indicate that pressing the P key selects the Print
function.
The <Esc> Key
The Escape Key, <Esc>, can be used anywhere in File Express to
back out of a section of the program and return to the previous
menu. For example, if you are adding records and the last one
has been added, press <Esc> to return to the Main Menu. If you
are involved in a lengthy function, such as defining a report or
defining a new database, and you press <Esc>, File Express does
not leave the work you are doing without first asking if you want
to abandon it. For example, if you are defining a new database
and you press <Esc>, the following message appears:
Press <Esc> for Main Menu, <Enter> to resume or
<Spacebar> to start over
File Express gives you a second chance, just in case you pressed
the <Esc> key unintentionally.
Sometimes the <Esc> key backs up only to the beginning of a line
or the beginning of a logical sequence of events, in which case
pressing it a second time exits to the previous menu.
When a menu is displayed and you want to return to the Main Menu,
press <Esc>. In fact, pressing <Esc> repeatedly always brings
you back to the Main Menu.
Single Keystroke Input
When a prompt requires only one key to be pressed, the command is
carried out immediately without having to press <Enter>. All
single-key commands make a short "blip" sound (unless the sound
option has been turned off).
Whenever an incorrect or inappropriate key is pressed, File
Express sounds a two tone warning and ignores the keystroke.
KEYBOARD 25
----------------------------------------------------------------------
The <F10> key is used in many places to indicate you are finished
entering information and are ready to move on to the next step.
For example, if a new database record has ten fields, but you
only need to put data into the first field, press the <F10> key
after entering the data in the first field. <Ctrl-W> and <Ctrl-
Enter> can also be used as the <F10> key.
Input Fields Of Two Or More Characters
All questions or entries that let you press more than one key
must be followed by an <Enter> before File Express processes the
keystrokes. On any prompt or field letting you enter two or more
characters, the following editing keys may be used:
<Backspace> Erases the character to the left of the cursor.
<Del> Erases the character the cursor is on.
<Ins> Toggles Insert mode on and off. When Insert mode
is on, the cursor increases in size. Characters
are inserted at the cursor as they are entered,
and the characters to the right of the cursor are
shifted toward the end of the field. If any
characters are pushed off the end of the field,
File Express gives a short "blip" sound.
<Left> Moves the cursor left, toward the beginning of the
field. No characters are erased.
<Right> Moves the cursor right, toward the end of the
field. No characters are erased.
<Home> Moves the cursor to the first position of the
field. If the cursor is already in the first
position of the field, <Home> moves to the first
field on the screen.
<End> Moves the cursor to the position following the
last non-blank character on the line.
<Ctrl-Home> Erases the entire line and puts the cursor back at
the beginning of the field.
<Ctrl-End> Erases all characters from the cursor to the end
of the field. The cursor does not move.
<Enter> Indicates all the data has been entered in the
field. <Enter> may be pressed no matter where the
cursor is within a field, and the entire field is
processed as input.
26 KEYBOARD
----------------------------------------------------------------------
<PgDn> When the information being displayed occupies more
than one screen, this key "scrolls" down to the
next full screen. For example, the report writer
lets you use up to 200 lines, but only sixteen
lines fit in the window. Pressing <PgDn> causes
the second sixteen lines to be displayed.
Pressing it again displays the third sixteen
lines.
<PgUp> This key is the opposite of <PgDn>. On a
multi-screen display it causes the previous full
screen of information to be displayed.
Characters may not be entered past the end of a field. Any
attempt to enter further characters causes the computer to beep.
However, all control keys (<Enter>, <Backspace>, <F10>, etc.) may
still be used.
Using a Mouse
File Express supports the use of a Mouse for many input
functions. You can use a mouse to select many File Express
features and options. Before you do so, however, you must
install your mouse according to the instruction in your mouse
documentation. This includes the installation of a mouse driver
telling your computer a mouse device is available for use. Once
this is done, File Express automatically enables your mouse for
use in the program.
To File Express the mouse is an extension of the keyboard. If
you move your mouse up (toward the back of the table), File
Express interprets the movement as an <Up> cursor key. Likewise,
if you move the mouse down (toward the front of your table), a
<Down> cursor key is sent to File Express. Left and right
movement translate to <Left> and <Right> cursor keys. Since
selections on all menu screens in File Express can be controlled
by using the cursor keys, the movement of a mouse can be used to
make the same selections. Moving the mouse up and down or left
and right causes the highlighted selection bar on the menus to
move from one option to the next.
Pressing the left button on your mouse is the same as pressing
the <Enter> key. When you have highlighted the desired option on
a menu screen, press the left mouse button to invoke it.
Pressing the right button on your mouse is the same as pressing
the <Esc> key. If you want to go back one menu level or cancel
any operation you are involved in, pressing the right button
takes you back.
Anywhere in File Express that a cursor key, <Enter> key, or <Esc>
key is appropriate, you can use the mouse as an alternative.
KEYBOARD 27
----------------------------------------------------------------------
If you have a mouse driver installed in your computer but don't
want the mouse to work in File Express, use the /I command line
option when starting the program.
28 KEYBOARD
----------------------------------------------------------------------
Context-Sensitive Help System
File Express offers you context-sensitive help that is available
at any time. Virtually every menu item, question, prompt, error
message, and option in File Express has a help screen connected
to it. There are well over 500 different help screens available.
No matter where you are in the program, you can press <Alt-H> to
get more information.
For example, if you are about to import a file but you are not
sure what kind of file you have, you can press <Alt-H> while
viewing the Import Menu and File Express tells you a little about
each type of file format.
If you are about to enter a calculated field, you can press <Alt-
H> for a list of all the functions available and helpful
examples.
If an error message is displayed on the screen, pressing <Alt-H>
tells you about the error and what to do to correct it.
Help topics can be from one to several pages in length. If a
topic occupies more than one screen, you will see -- more -- at
the bottom of the window and you can use the <PgDn> to display
additional information. At the very bottom of the last page of
each Help topic you will see -- end --.
Many Help screens also refer you to a particular section in the
User's Manual for additional information concerning the topic.
To close the Help window, press any key other than the <PgUp> and
<PgDn> keys.
Help File
The information and index necessary to display the Help screens
are contained in the files FE5.HLP and FE5.HLI which are provided
with File Express. If File Express can't find these files when
you press <Alt-H>, the window pops up with the message, Help File
Not Found...press any key. If this happens, make sure you have
copied FE5.HLP and FE5.HLI onto your hard disk or that the files
are on your default diskette drive.
KEYBOARD 29
----------------------------------------------------------------------
Information Window
Whenever you are using File Express, you can pop up an
information screen showing you many things about your computer
system and about the current conditions inside File Express.
Pressing <Ctrl-V> displays the Version/Status Screen which looks
like this:
Registered Version has screen picture here
As you can see, the screen displays the version of File Express
you are using, the amount of free memory currently available to
File Express, the amount of free disk space on the Data Drive,
and the Path to the Data Drive. Below this is the name of the
database that is open, how many records you have added during the
current session and how many records you have changed. The name
of the current index and the total number of records in the
database are also shown. The last piece of information at the
bottom of the window indicates whether or not you have a mouse
driver installed that File Express can use. The version number
of the mouse driver is shown along with the type of mouse:
1 = bus mouse
2 = serial mouse
3 = InPort mouse
4 = PS/2 mouse
5 = Hewlett-Packard mouse
Press any key to close the Version/Status Window.
30 KEYBOARD
----------------------------------------------------------------------
Pop up Calculator
File Express has a powerful, built-in calculator that can be
popped up at any time by pressing <Ctrl-K>. This calculator
harnesses the full power of the formula handler that is part of
File Express.
After popping up the calculator, which looks like this:
Registered Version has screen picture here
You can enter simple mathematical formulas like:
23 * (34 + 45)
and the answer appears below the input line when you press
<Enter>. You can also use any of File Express' math functions:
SIN(45) + COS(30) * SQR(ATN(82.5))
or even any of the string or date functions:
FutureDate(TODAY, 45)
If one of the records from the database is displayed on the
screen behind the calculator, you can refer to any of the fields
in the record:
TOTAL SALES * .118
Whenever an answer has been displayed on the calculator, you can
have the answer played back to File Express as if you had typed
it in yourself. To do this, press <Alt-C>. The calculator
disappears and the answer is played back. If you want to put
away the calculator without remembering the answer, press <Esc>.
TUTORIAL 31
----------------------------------------------------------------------
A File Express Tutorial
Instructions
The following tutorial is provided to acquaint you with many of
the features of File Express and to give you practical experience
in creating and maintaining databases.
The tutorial is presented in two sections, each containing
several lessons. The first section, A Brief Tour of File
Express, uses the TUTORIAL database included in the File Express
package to show you some of the many features and options. The
second section, Defining a New Database, takes you though the
process of defining the fields for a database, adding a couple
records,and many other common procedures.
The lessons in section one all begin from the Main Menu and leave
you at the Main Menu at the end of the lesson. No information in
the TUTORIAL database is changed during the lessons in this
section. Because of this, each lesson is independent of the
others and can be followed at any time without having completed
any of the other lessons in the section. Just start File
Express, open the TUTORIAL database and start the lesson of your
choice. The lessons in section one include:
Opening a Database
Find a Record
Printing a Report
The lessons in section two are designed to be followed step-by-
step in order. Each lesson assumes you have completed all the
previous lessons. Because each subsequent lesson depends on the
information entered in the previous lesson, don't skip around.
The lessons in section two include:
Defining a New Database
Adding New Records
Painted Screens
Quick Scan
Create a Report
32 TUTORIAL
----------------------------------------------------------------------
As you go through the tutorial, you are asked to type specific
strings of characters and to press specific keys. Each string
you are to type is highlighted and is on a line by itself. For
example:
Phone Directory
Just type the two words. Don't press <Enter> at the end unless
it is part of the entry. For example:
Phone Directory <Enter>
Individual control keys, such as the cursor keys, function keys,
alt key combinations, etc. are enclosed in angle brackets and are
either part of a text entry or are presented by themselves on
their own line. For example:
<Up><Up><Enter>
means press the <Up> cursor key twice and then the <Enter> key.
Sequential entries are presented as:
Jim <Enter>
Smith <Enter>
Acme Company <Enter>
123 1st St. <Enter>
Seattle <Enter>
The <Enter> keys are sometimes lined up to the right just to make
them easier to read. Don't enter the spaces between the end of
the string and the <Enter>.
Some commands have an explanation of what they do in parentheses.
<Down> <Enter> (move to Last Name field and press <Enter>)
Don't type the parentheses or what they contain.
At various points in the tutorial there are pictures of how the
screen should look at that point.
TUTORIAL 33
----------------------------------------------------------------------
Section One: A Brief Tour of File Express
Starting the Tutorial
The tutorial begins by showing you some of the features and
options of File Express using the TUTORIAL database that comes
with the package. Before starting, make sure the TUTORIAL
database is available. If you are using a hard disk, the INSTALL
program copied the TUTORIAL database into a subdirectory call
TUTOR which is off your program subdirectory. If you have
deleted the TUTORIAL files, you must either copy them back onto
your hard disk or use a diskette containing them. If you are
using a diskette drive system, the TUTORIAL database is on the
diskette titled Help Disk.
Lesson One: Opening A Database
This section assumes the File Express program files are in a
subdirectory of drive C, called FE5 which is off the root
directory or, if you are using a diskette system, that the
program files are on the Program Disk in drive A. It is also
assumed that the TUTORIAL files are in a subdirectory of FE5
called TUTOR, or if you are using a diskette system, are on the
Help Disk in drive B. If your files are in a different place you
will have to change the start-up commands to suite your
environment.
We start the tutorial by starting File Express. Type:
FE <Enter>
This brings up the Opening Screen which prompts you to Press any
key to continue. Press:
<Spacebar>
File Express now asks you to: Indicate the drive to be used for
Data. Answer:
C
Remember, don't press the <Enter> key. Single letter responses
don't need it. If you are using a diskette system, press B
instead.
Now File Express wants to know path to your data. If you are
using a hard disk, the default prompt should read C:\FE5 with the
cursor blinking at the end of it. Press:
<Enter>
34 TUTORIAL
----------------------------------------------------------------------
empty
TUTORIAL 35
----------------------------------------------------------------------
If you have a diskette system, the default was B:\ and you should
just press <Enter>.
Next the Open A Database screen displays. It looks like this:
Registered Version has screen picture here
Before you can add records to a database, or print a report, or
do anything in File Express, the program needs to know which
database you want to work with. This screen displays all the
databases on your disk, and asks which one is to be opened.
If you have just installed File Express, there is only one
database displayed; it is called TUTORIAL. It is the one you
copied onto your disk during the installation process. If your
screen doesn't look like this, or if you get a message that there
are no databases on the disk, review the installation process
before proceeding with the tutorial.
The databases that are found on the drive and path selected are
displayed on the screen alphabetically.
Since TUTORIAL is the only database on this subdirectory or
diskette, it is the only name listed on the screen and the prompt
at the bottom already defaults to TUTORIAL so just press:
<Enter>
36 TUTORIAL
----------------------------------------------------------------------
Now that the database has been selected, File Express goes to its
Main Menu screen, which looks like this:
Registered Version has screen picture here
The Main Menu
Wherever you are in the File Express program, it is always
possible to return to the Main Menu by pressing the <Esc> key one
or more times.
TUTORIAL 37
----------------------------------------------------------------------
Another option available at any time is a window describing the
environment File Express finds itself in. To pull up this
window, press:
<Ctrl-V>
The Version/Status Screen appears:
Registered Version has screen picture here
This screen displays the version number, amount of free memory
and disk space, the data drive path name, some information on the
current database, and whether or not a mouse driver has been
installed. To close the window press:
<Spacebar>
38 TUTORIAL
----------------------------------------------------------------------
Context-Sensitive Help Screens
If you have problems or questions about what you are doing at any
time in File Express, you can pop up a help screen. All the help
screens are context-sensitive, meaning that the help information
displayed directly applies to what you are doing. Every menu
option, prompt, field input, and error message in File Express
has its own help screen.
Let's move the highlight bar on the Main Menu down to the
Find/Edit Records option by pressing:
<Spacebar><Spacebar>
When the Find Records selection is highlighted, press:
<Alt-H>
to display the Help screen for this option:
Registered Version has screen picture here
Press:
<Spacebar>
to restore the screen.
TUTORIAL 39
----------------------------------------------------------------------
Lesson Two: Finding A Record
Let's look at some of the records in the TUTORIAL database by
going to the Find/Edit Records section. There are three
different ways you can select this option. You will notice that
the first option on the Main Menu is highlighted. You can move
this highlight bar down to each successive menu option by
pressing either the down cursor key, the spacebar or, if you have
a mouse, by moving the mouse down. It will also move back up
with the up cursor key, or by moving the mouse up. The second
way to select a menu option is by pressing the number on the left
side. The third way, and the one we will use now, is to press
the first letter of the description: O for Open a Database, A for
Add New Records, etc. It is not necessary to press the <Enter>
key; menu choices are single keystroke commands. To select the
Find/Edit Records option, press:
F
The Find Menu, appears:
Registered Version has screen picture here
The most common choice on this menu is the first one, labeled
Find A Record. Press:
1
to bring up the Record Selection screen so we can look at some
records in this tutorial database.
40 TUTORIAL
----------------------------------------------------------------------
Registered Version has screen picture here
Although this screen has lots of information on it, there is only
one line at the bottom for data; everything else is information-
al.
The left side of the screen has a list of the fields in the
database for reference. In a database of your own, the list of
fields would be familiar, because you would have created it
yourself. For this tutorial database, this is the first time we
have seen the list of fields the database contains. As you can
see, each record in this database has a first name, last name,
company name, address, date, and some fields for entering
numbers.
The right side of the screen is a brief "help screen" describing
some of the common ways to find a record and giving examples.
Take a moment to examine this screen, including the notes on the
right side. If it is not clear to you what all of them mean,
that's OK. This tutorial will help to clarify the concepts.
Additional information can be read in the Formulas section.
The database we are about to search contains 20 fictitious names
and addresses. Let's try finding the record for Penny Banks.
Notice that the cursor is positioned on the line that says: Find
all the records where:. File Express is waiting for you to
complete the sentence. The default entry for the question is ALL
but we are going to type right over it. Since we want to find
Miss Banks' record, complete the sentence like this, type:
last name is banks <Enter>
TUTORIAL 41
----------------------------------------------------------------------
Immediately, the record for Penny Banks displays on the screen.
(If you are using a diskette system, you are a patient person and
know that "immediately" really means "a moment or two", right?)
Registered Version has screen picture here
Once again, here are all the field names but they are arranged on
a Painted screen. We will show you how to create this type of
screen later in Section Two.
Note the commands along the bottom line. Since these commands
are the only keys you can press at this point, they are a sort of
one-line menu, listing the things you can do, and asking you to
select one. Let's try pressing the letter N for "Next" and see
what happens. Type:
N
Remember, no <Enter>. File Express advances to the next record.
After this tutorial database was created, it was sorted in
alphabetic sequence by Last Name, so when you press N, the next
record you see is the next one alphabetically. Press
NNN
again a few times and notice how quickly File Express finds each
record and displays it.
Now press
PPP
a few times. File Express displays backward through the
database.
Now lets go back to the Main Menu. Press:
42 TUTORIAL
----------------------------------------------------------------------
<Esc><Esc>
Lesson Three: Print a Report
The Report Writer is where you tell File Express what you want to
print and how you want it to look. With the Main Menu on the
screen, press:
R
to display the Report Menu:
Registered Version has screen picture here
We have already defined a nice report for the TUTORIAL database
so press:
C
to choose an existing report format file. Move the highlighted
bar to the TUTORIAL file using the cursor keys and press:
<Enter>
When the Report Options Menu displays, press:
P
to print the report. File Express asks where you want the report
displayed. Press:
S
to print the report to the screen:
TUTORIAL 43
----------------------------------------------------------------------
When the report has printed, press:
<Esc> <Esc>
to return to the Main Menu.
44 TUTORIAL
----------------------------------------------------------------------
Section Two: Defining a New Database
Start at the Main Menu
The second section of the tutorial takes you through the process
of defining a new database and adding records to it. Then we
show you how to set up custom input screens, use the powerful
Quick Scan mode where you can see twenty records at a time and
edit them right in the list. We also go through the process of
creating indexes and reports.
The first section of the tutorial left you at the Main Menu with
the TUTORIAL database open. We will start from here. If you are
starting this section without having completed Section One,
please follow Lesson One of that section One to the point where
the Main Menu appears.
Lesson One: Defining a New Database
Defining a new database begins on the Open a Database screen.
This screen is displayed after the Drive and Path Name prompts
when starting File Express and it also appears when you select
the Open a Database option from the Main Menu. If you have just
completed Section One of the tutorial, the Main Menu is now
displayed on the screen. To display the Open a Database screen,
press:
1
If you are starting File Express from DOS, follow the
instructions in Lesson One of Section One until the Open a
Database screen appears:
Registered Version has screen picture here
The Database name prompt at the bottom of the screen currently
defaults to TUTORIAL. To start a new database you must type in a
TUTORIAL 45
----------------------------------------------------------------------
new name that is not on the list in the window. We will start a
database called EXAMPLE. If someone else has already gone
through this section of the tutorial and has created an EXAMPLE
database, you can either erase the existing database by
highlighting the EXAMPLE line and pressing the <Alt-D> key or
select a different name for the new database, like EXAMPLE2. The
tutorial assumes you are creating EXAMPLE so if your name is
different, substitute your name wherever EXAMPLE is used.
At the Database name prompt, type:
EXAMPLE <Spacebar><Enter>
The <Spacebar> blanks out any letters remaining on the name you
are typing over.
The Define Database screen now appears and looks like this:
Registered Version has screen picture here
The Example database we are going to define is a simple mailing
list consisting of date, name, and address fields, two numeric
fields, a formula field, and a comment field.
Field Name
Each field in a database must have a field name. Field names can
consist of up to twelve characters and can include spaces and
other punctuation marks.
Field number 1 will be the Date field. Type:
When Entered <Enter>
Field Type
The cursor moves over to the -type- column. A field can be one
of six different field types supported by File Express,
Character, Numeric, Formula, Date, User-defined, and Text
46 TUTORIAL
----------------------------------------------------------------------
Formula. The default is Character. A field type is selected by
pressing its first letter. Our When Entered field will be a Date
type, so press:
D
Date fields have a set length and format. The default length is
8 and the default format is MM-DD-YY. This can be change to any
one of four different formats by using the Setup program included
with File Express. Since the length and format are known, File
Express automatically fills in these two columns on the screen
for you.
The cursor is now at the -field name- column waiting for the next
entry. Type:
First Name<Enter>
To accept the -type- default answer if C, press
<Enter>
Our First Name field is to be twelve characters long. This will
accommodate most first names. Type
12<Enter>
The word Character is placed in the -format- column and you are
ready for field three. Type in the following entries to fill in
the next five fields:
Last Name <Enter> <Enter> 20 <Enter>
Address <Enter> <Enter> 30 <Enter>
City <Enter> <Enter> 20 <Enter>
State <Enter> <Enter> 2 <Enter>
Zip Code <Enter> <Enter> 10 <Enter>
Your screen should now look like this:
The next two fields will be Numeric. The first be a whole number
field and the second will contain dollar amounts. For the first,
type:
How Many<Enter>N3<Enter>0<Enter>
This defines a field with a name of How Many that is Numeric,
three digits long, with zero decimal places. The ### in the -
format- column indicates this. This field will later accommodate
numbers from -99 to 999.
TUTORIAL 47
----------------------------------------------------------------------
For the second numeric field, actually field number 9, type:
How Much<Enter>N6<Enter><Enter>
The last <Enter> accepted the default of two decimal places. The
-format- column shows ###.## to indicate the length and decimals.
Now, for a formula field to multiply the How Many field by the
How Much field. We will call it Balance Due. Type:
Balance Due<Enter>F8<Enter><Enter>
The F in the -type- column indicates a Formula field. Formula
fields are automatically calculated and filled in for you when
you are later entering records into your database.
The screen now looks like this:
File Express is now prompting for you to enter the formula for
the field. Type:
how many * how much <Enter>
You could have used all capital letters if you wanted. File
Express ignores the case of field names. Whenever you are
referring to a field, you can either use the name of the field or
an F followed by the field number (F8 for example). Thus, the
formula could be F8 * F9. Using field names makes it easier to
later decipher a formula, but if you have any fields in a
database that have the same name, the F-field number alternative
is the only way to refer to the second of the two fields.
The last field will be a nice big comment field. Type:
Comments<Enter><Enter>200<Enter>
Your screen should look like this:
48 TUTORIAL
----------------------------------------------------------------------
File Express is waiting for us to type in a twelfth field name
but we only want the eleven we have defined. Instead of entering
another field name, just press:
<Enter>
File Express jumps out of input mode and offers you some choices
at the bottom of the screen:
Registered Version has screen picture here
Looking at the database you have just defined on the screen, it
is obvious you have forgotten something. There is supposed to be
a Company field between the Last Name and Address. One of the
options at the bottom of the screen is <I>nsert. Press:
I
Remember, no <Enter>. File Express now asks, "Insert field
before which number?". We want to insert the Company field above
the Address field which is number 4, so type:
4 <Enter>
File Express moves fields 4 through 11 down one line and inserts
a new blank line where we want to put the Company field and
prompts for the field name.
TUTORIAL 49
----------------------------------------------------------------------
Type:
Company <Enter> <Enter> 30 <Enter>
This fills in the missing field and takes you back to the option
prompt at the bottom of the screen.
Let's change the name of the first field from When Entered to
Date Entered. Press:
C
to select the <C>hange option. Answer the "Enter Field Number to
Change" question with:
1 <Enter>
The cursor jumps back up to the name prompt on field one. Type:
Date <Enter>
over the When portion of the old field name and press:
<Enter>
to keep the D in the -type- column. Now were are back to the
options prompt again.
We forgot another field, Phone Number. We want to put this at
the end of the list. Press:
A
for the <A>dd option which put us back into adding new fields
mode. Type:
Phone Number <Enter>
For the -type- column press:
U
50 TUTORIAL
----------------------------------------------------------------------
for a User-defined field. For the -length- type:
13 <Enter>
File Express now prompts for the edit mask for this field. An
edit mask is a set of predefined characters that are
automatically filled into the field before you add information to
it. When you do add information, the cursor jumps over the
predefined characters so you don't have to type them. Phone
numbers are generally in the format: "( ) - ", so it is
natural for an edit mask. Type:
( ) -<Enter>
(That is an open parenthesis, three spaces, a closing
parenthesis, three more spaces, a dash, and then <Enter>. Now
press:
<Enter>
one more time to get back down to the options prompt.
One last change before we save the new database definition,
Let's move the Phone Number field up between the Zip Code and the
How Many fields. Press:
M
for the <M>ove option. When prompted to "Enter Field Number to
Move", answer:
13 <Enter>
When asked which field to move it before, answer:
9 <Enter>
File Express moves the field into its correct position. The
screen should now look like this:
Now we are ready to save the new format. Press:
S
for the <S>ave option.
<Enter>
to accept it. As a final question, File Express asks for a file
description. Type:
TUTORIAL 51
----------------------------------------------------------------------
Example database for Tutorial <Enter>
This description will be displayed on the Open a Database screen
in the future to remind you of the purpose of the database.
File Express now saves your new database definition and returns
you to the Main Menu.
Lesson Two: Adding New Records
If you are not at the Main Menu, press the <Esc> key until the
Main Menu screen is displayed. Adding new records is easy: just
select menu choice 2 - Add New Records by pressing:
2
A screen similar to the one used for displaying and changing
records is displayed, except all the fields are empty:
Registered Version has screen picture here
To add a new record to the database, just enter the data in each
field then press the <F10> key when you are done. Let's fill in
the first field of the first record. Type:
061290 <Enter>
Because this is a Date field, the cursor skips over the dashes as
you enter the numbers. Now fill in the name and address. Type:
David <Enter>
Berdan <Enter>
Expressware <Enter>
PO Box 1800 <Enter>
Duvall <Enter>
WA <Enter>
98019-1800 <Enter>
52 TUTORIAL
----------------------------------------------------------------------
The cursor is now on the Phone Number field. Because this is a
User-defined field, the parenthesis and dash are automatically
placed in the field. To fill this type of field, just type the
numbers to fill the blanks:
2067880932 <Enter>
For the How Many field, enter:
10 <Down>
Notice how the <Down> key works the same as the <Enter> key.
When entering numbers into a Numeric field, the input is left
justified as you enter it but is formatted and right-justified
when you leave the field.
Into the How Much field, type:
4.6 <Enter>
Two things now happen. First, the 4.6 you entered is converted
to 4.60 and redisplayed right-justified, and second, because the
Balance Due field is a formula field, its answer is calculated,
formatted and printed in its place to the right of the field
name.
The last field on the input screen is the Comments field. Notice
the "+" sign at the right end of the field. This shows you that
the field is longer than will fit on the screen and that as you
enter information, the field will scroll sideways to make room.
Enter:
Expressware publishes File Express, ExpressCalc,
ExpressCheck, ExpressGraph, and On-Side <Enter>
As you were typing ExpressGraph, the field started scrolling to
the left to make room for the remainder of the sentence.
After pressing <Enter>, the Comments field was reprinted from its
left end and File Express asks if you would now like to save this
record on disk. Your screen should look like this:
To save the record, press
<Enter>
The record is saved on disk and a new, blank record is displayed
and ready for your input.
TUTORIAL 53
----------------------------------------------------------------------
Since the second records information will be very similar to the
previous record, we would like to start with a copy of the last
record we just entered. To do this, press:
<Alt-R>
All the field entries from the previous record are duplicated and
printed on the screen. Make the following changes:
<Down> Ken <Spacebar> <Spacebar> <Enter>
McGinnis <Enter>
<Enter> <Enter> <Enter> <Enter> <Enter> <Enter>
20 <Enter>
8 <Enter>
Your screen now looks like this:
To save the record press:
<Enter> <Enter>
The third record we will enter has the same date as the previous
record, but all the remaining information will be different. To
copy a field from the previous record, press:
<Ctrl-R>
The previous date is placed into the Date Entered field and the
cursor moves to the First Name field. To complete the third
record fill the following:
Howard <Enter>
Smith <Enter>
<Enter>
789 West 3rd <Enter>
Mill Creek <Enter>
CA <Enter>
90262 <Enter>
<Enter>
16 <Enter>
222.48 <Enter>
Does not have a phone <Enter>
Note that nothing was entered into the Company and Phone Number
fields. Your screen looks like this:
Did you notice that when you just pressed <Enter> on the Phone
Number field without entering a phone number, the parentheses and
dash disappeared? This is a feature of a User-defined, and Date
field.
54 TUTORIAL
----------------------------------------------------------------------
Before you save the record, you notice that the How Much entry is
supposed to be 2.48, not 222.48. To go back and change the
field, press:
C
to get back into edit mode, and:
<Down><Down><Down><Down><Down>
<Down><Down><Down><Down><Down>
to move back down to the How Much field.
As an experiment, press the period key:
.
File Express just beeped because you were trying to enter a
decimal into the first position of the field and there was
already a decimal in the third position. Now type (without
pressing the <Enter> key):
2.48
The result is 248.48. When you typed 2.48 you actually got 2
beep 48. There are two special things to remember when editing a
Numeric field: Only one decimal point is allowed and the
<Spacebar> blanks from the cursor position to the end of the
field. With this information we can fix the entry by pressing:
<Left> <Left> <Spacebar> .48 <Enter>
Of course the easiest way to change 222.48 into 2.48 would be to
just press the <Del> key twice to delete the first two 2's. But
then you wouldn't have learned as much.
Now press:
<Enter> <Enter>
to save the third record.
You can actually save a record at any time by pressing <F10>
while the cursor is in any input field. When you save a record
this way, the Save window is not popped up.
To return to the Main Menu, press:
<Esc>
TUTORIAL 55
----------------------------------------------------------------------
Important: when you are done adding or changing records in a
database, always return to the Main Menu before removing your
diskettes or turning off your computer. File Express runs under
the control of your own DOS program, and sometimes DOS does not
write all your changes to disk until the data files are "closed".
This occurs each time you return to the Main Menu and after every
fifth record change.
By returning to the Main Menu after finishing with File Express,
you ensure that DOS has written everything to disk. If you are
concerned about potential loss of data, it is possible to
configure File Express to close the database files after every
update. This causes a noticeable slow-down when adding or
changing records on a diskette system, but ensures that data is
immediately stored on disk by requiring DOS to write it.
56 TUTORIAL
----------------------------------------------------------------------
Lesson Three: Painted Screens
On the input screen you used in Lesson Two, the fields were
arranged in a simple vertical column. File Express lets you
custom design input screens where you can move the fields to any
position on the screen, draw lines, and add text. Using the
Paint feature of File Express, you can create visually appealing
input screens that are easier to fill in and can actually mimic
the layout from which you are entering the information.
To create a new input screen, called a View, press:
M
from the Main Menu to display the Maintenance Menu. Then press:
P
to display the View Menu:
Registered Version has screen picture here
To design a new View, press:
D
TUTORIAL 57
----------------------------------------------------------------------
An empty painted screen appears:
Registered Version has screen picture here
Each Painted screen is 21 lines high and 80 characters wide. A
View can consist of up to 10 Painted screens (also known as
Pages). You can move the cursor around the screen by using the
<Up>, <Down>, <Left>, and <Right> cursor keys. As the cursor
moves, the row and column position of the cursor is displayed
near the lower right corner of the screen. In the screen picture
above, "p= 1:r= 1:c= 1" means the cursor is on page 1, row 1,
column 1.
Now we are going to place the input fields inside the box. Move
the cursor to row 4, column 10 by pressing:
<Down> three times
<Right> nine times
To place the first field on the screen, press:
<Alt-F>
This pops up a list window containing the name and length of each
field you have define for the EXAMPLE database. Since the Date
Entered field is highlighted and is the field we want to place on
the screen, just press:
<Enter>
File Express now gives you three choices on how to place the
field on the screen. You can either put just the input portion
of the field on the screen, both the field name and the input
portion on the screen, or, if the field is 40 characters or
longer, you can put the field on the screen in a rectangular
58 TUTORIAL
----------------------------------------------------------------------
block. We will be using the Name & Field option. Move the
highlight bar down to this choice and select it by pressing:
<Down> <Enter>
Now tell File Express to place the field as an Input field by
pressing:
<Enter>
to accept the default answer of I. File Express now places both
the field name and its input portion on the screen.
Move the cursor to row 6, column 10 by pressing:
<Down> twice, <Home> and <Right> nine times
The next field we want to put on the screen is the First Name
field. Press:
<Alt-F>
to pop up the field name list. Notice that the First Name field
is already highlighted. Press:
<Enter> <Enter> <Enter>
to place the field with its field name as an input field. The
cursor is left one character past the end of the field, just
where we want to put the Last Name. Press:
<Alt-F> <Enter> <Enter> <Enter>
Now move the cursor to row 7, column 10 by pressing:
<Enter> and <Right> nine times
(from here on we won't give you the exact keys to move to a
specific row and column location on the screen. We will just
tell you want row and column to move to and you can use the
cursor keys to get there any way you like).
Now, to put the Address and Company on the screen by pressing:
<Alt-F> <Enter> <Enter> <Enter>
move to row 8, column 10
<Alt-F> <Enter> <Enter> <Enter>
move to row 9, column 10
Now for City, State, and Zip Code, press:
TUTORIAL 59
----------------------------------------------------------------------
<Alt-F> <Enter> <Enter> <Enter>
<Alt-F> <Enter> <Enter> <Enter>
<Alt-F> <Enter> <Enter> <Enter>
Put the Phone Number field at row 11, column 10, How Much at row
13, column 10 and How Much at row 14, column 10 by pressing:
move to row 11, column 10
<Alt-F> <Enter> <Enter> <Enter>
move to row 13, column 10
<Alt-F> <Enter> <Enter> <Enter>
move to row 14, column 10
<Alt-F> <Enter> <Enter> <Enter>
Now move to row 16, column 10 and put the Balance Due field on
the screen by pressing:
move to row 16, column 10
<Alt-F> <Enter> <Enter>
Since the Balance Due field is a Formula field, the Input
question was skipped because a formula field won't accept input.
60 TUTORIAL
----------------------------------------------------------------------
The screen should now look like this:
Registered Version has screen picture here
Before we proceed any further, lets line up some of the fields on
the screen. When a field name and field are placed on the screen
there is only one space put between them. Vertical columns of
input fields don't line up if their field names are different
lengths. As you can see, the First Name, Company, Address, and
City fields don't line up. Neither do the three number fields at
the bottom.
move to row 7, column 18
Press:
<Insert>
to put the cursor into insert mode. When the cursor is in this
mode, it changes from a blinking underline to a blinking block.
Now press:
<Spacebar> three times
to push the input field three places to the right. Now let's
line the remaining fields:
move to row 8, column 18
<Spacebar> three times
move to row 9, column 15
<Spacebar> six times
move to row 13, column 19
<Spacebar> eight times
move to row 14, column 19
<Spacebar> five times
TUTORIAL 61
----------------------------------------------------------------------
Now press:
<Insert>
again to take the cursor out of insert mode and change it back to
a blinking underline.
We want to put the last field, Comments, on the screen as a
window field. Move to row 12, column 39:
move to row 12, column 39
<Alt-F> <Enter>
to pop up the field name list and select the Comments field.
Move the highlight bar to Field in Window and select it by
pressing:
<Down> <Enter>
File Express displays a block of blinking squares two rows high
and twenty characters wide. This is the minimum size of a window
field. We can now use the cursor keys to increase the width and
height of the block to the size we want. Press:
<Right> eleven times and then <Down> four times
The block is now the size we want so press:
<Enter> <Enter>
to set the block as an input field.
62 TUTORIAL
----------------------------------------------------------------------
The screen should look like this:
Registered Version has screen picture here
Now, lets put a box around it all using the line drawing option
of File Express.
move to row 3, column 7
Turn on the Line Drawing option by pressing:
<Alt-L>
<L>ine:OFF changes to <L>ine:ON at the bottom of the screen. The
<B>ox: option indicates we will be using double line
characters while we draw lines. Now to draw a box; press:
<Right> sixty-six times
until the column counter reaches 73. Be careful not to go past
column 73. (If you do, move the cursor back to column 73 using
the <Left> key. You will have an extra line on your box but it
won't affect the rest of the tutorial). Now press:
<Down> sixteen times (to row 19, column 73)
<Left> sixty-six times (to row 19, column 7)
<Up> sixteen times (to row 3, column 7)
<Right> <Alt-L>
to finish off the last corner of the box and to turn off the Line
option.
TUTORIAL 63
----------------------------------------------------------------------
Your screen should now look like this:
Registered Version has screen picture here
The finishing touch will be a little bit of text:
move to row 2, column 34
Customer List
move to row 11, column 39
Comments:
move to row 15, column 22
--------
We are finished! To save our creation, press:
<F10>
File Express asks: "Save all changes [Y/N]? Y". Press:
<Enter>
When prompted to "Enter a name for this view", type:
CARDFILE <Enter>
and for the description:
Example of Painted Screen <Enter>
File Express now saves your new View and returns to the View
Menu. Press:
<Esc> <Esc>
to return to the Maintenance Menu, and then to the Main Menu.
Now, let's look at your new input screen. Press
64 TUTORIAL
----------------------------------------------------------------------
A
for the Add New Records option. The new Painted input screen is
displayed:
Registered Version has screen picture here
Let's try it out. Enter the follow record:
062390 <Enter>
Mary <Enter>
Contrary <Enter>
Gardening is Us <Enter>
100 Primrose Ave <Enter>
Rose City <Enter>
WA <Enter>
98224 <Enter>
2065551212 <Enter>
3 <Enter>
1.95 <Enter>
This is an example of the word-wrap feature of a window
field. You can always see the entire contents of the
field and you don't have to worry where the words break.
To exit a block field, press:
<Ctrl-Enter>
(If you have set the Block Field Exit Key to be <Enter> in the
FE5SETUP program, you can also use <Enter> here to exit the
field.)
Now, to save the record, press:
<Enter>
TUTORIAL 65
----------------------------------------------------------------------
and finally:
<Esc>
to return to the Main Menu.
66 TUTORIAL
----------------------------------------------------------------------
Lesson Four: Create an Index
An Index keeps track of the information in a database in a
certain order. Each time you add a new record or edit an
existing one, all the associated indexes are updated. Whenever
you create a new database, two indexes are automatically defined
to go along with it, the Record Number index and the Deleted
Record index. The Record Number index keeps track of the records
you enter in the order of their assigned record numbers. The
Deleted Record index keeps track of any records that are deleted
so they can be reused by File Express when you add new records
later.
Most of the time, you will want to access the information in your
database in an order different than by record number. For the
purposes of this tutorial we will create two new indexes. The
first will track the information in Last Name order, and the
second in Company order.
To create a new index, make sure the Main Menu is displayed and
press:
S
to select the Sort Index option. The Select Index window
appears:
Registered Version has screen picture here
As you can see, the Record Number (Record #) and Deleted Record
indexes are already on the list. A defined index can have a
Status of either ACTIVE, INACTIVE, or PRIMARY. An INACTIVE index
is not updated as records are added or changed. ACTIVE and
PRIMARY indexes are updated. The PRIMARY index is used whenever
records are displayed or printed in sequence. There can only be
one index specified as PRIMARY at any given time. The PRIMARY
status can be reassigned to any ACTIVE index. Sound confusing?
Be patient.
TUTORIAL 67
----------------------------------------------------------------------
The current PRIMARY index is Record Number. If you were to print
a report right now, it would be printed in record number order,
which is the order in which we entered the records. Since we
want to be able to look at our records in Last Name order, we
have to create a new index to keep track of them in that order.
To create this new index, move the highlight bar to the first
UNUSED entry just below the Record Number index by pressing:
<Down>
To define this new index, press:
E
to select the <E>dit option. The Edit Index screen appears:
Registered Version has screen picture here
Press:
<Down> <Down> <Down> <Enter>
to select the Last Name field as the first field to keep sorted.
At the Position prompt, press:
<Enter> <Enter>
to accept the default of keeping track of the entire field in the
index (1:20), and to keep the field in Ascending order.
68 TUTORIAL
----------------------------------------------------------------------
For Sort Level 2 we will use the First Name field. This will
mean that any records that have the same Last Name will be
further sorted into First Name order. Select the full First Name
field in ascending order by pressing:
<Up> <Enter> <Enter> <Enter>
We are now finished, so press:
<F10>
to tell File Express we want to save the new index definition.
For the name of the index and its description, enter:
LASTNAME <Enter>
Sorted into Last Name order <Enter>
The Select Index screens reappears with the new LASTNAME index in
the list with a Status of ACTIVE and a check mark in the TAG
column indicating the new index is tagged to be created when we
press the <F10> key. Before we do, however, lets create another
index that keeps the information in Company field order. Type
the following:
<Down> E (next UNUSED and <E>dit)
<Down> <Down> <Down> <Down> (move to the Company field)
<Enter> <Enter> <Enter> (use all the default answers)
<F10> (finished and save)
COMPANY <Enter> (index name)
Sorted in Company order <Enter> (description)
TUTORIAL 69
----------------------------------------------------------------------
Now we are back to the Select Index list which should look
something like this:
Registered Version has screen picture here
Now, lets build both our new indexes by pressing:
<F10>
As the new indexes are being built, File Express keeps you
informed of its progress with a percentage gauge on the screen:
Registered Version has screen picture here
When the indexes have been built, press any key to return to the Main
Menu.
70 TUTORIAL
----------------------------------------------------------------------
Lesson Five: Quick Scan
The Quick Scan feature of File Express is a great way to view a
lot of information from multiple records on the screen at once.
All the data displayed can be edited right on the screen.
From the Main Menu, press:
FQ
to pull up the Find Menu and select the Quick Scan option. At
this point you can either select up to eight specific field in a
specific order, or you can just press <Enter> which selects the
first eight fields in consecutive order. Let's select the second
choice. Press:
<Enter>
Registered Version has screen picture here
The Quick Scan option displays up to twenty records on the
screen. As you move to each field, you can edit its contents if
edit mode is turned on. Let's turn it on now by pressing:
<Alt-E>
In the lower right corner of the screen, <E>dit:OFF changes to
<E>dit:ON.
Now move from the Date Entered field in the first record, to the
First Name field. Press:
<Tab>
Now lets change David to Dave. Type:
Dave <Spacebar> <Enter>
TUTORIAL 71
----------------------------------------------------------------------
As the cursor left the changed field when you pressed <Enter>,
the record was saved to disk with the new change.
Notice that the records are displayed in record number order.
The current PRIMARY index is displayed in the upper left corner;
Index:RECORD#. Let's change to our Last Name index by pressing:
<Alt-P> (pull up Select Primary Index screen)
<Down> (move highlight bar to LASTNAME)
<Enter> (select it)
Now the Quick Scan screen is displayed in Last Name order.
Move to the Last Name field on the bottom record, Smith, with:
<Ctrl-PgDn> <Tab>
Now change Smith to Anderson, by typing:
Anderson <Enter>
Because the Last Name field was part of the Primary index,
changing it caused File Express to rearrange the records into the
proper order.
The cursor is now in the Berdan record. To display the full
record, press:
<Alt-R>
You can now edit any of the fields in the record. To return to
Quick Scan mode, press:
<F10>
To return to the Main Menu, press:
<Esc> <Esc>
72 TUTORIAL
----------------------------------------------------------------------
Lesson Six: Create a Report
One of the most important reasons for entering information into a
database is to get useful information back out later. A printed
reports can compile mountains of data and present it in a useable
format.
To define a report, make sure you are viewing the Main Menu, and
press:
R
to select the Report Writer option. When the Report Menu
appears, press:
D
to Design a new Report. The first screen to appear is titled
Report Size and Spacing:
Registered Version has screen picture here
For our example report format we will use all the default
answers, so press:
<F10>
TUTORIAL 73
----------------------------------------------------------------------
to move on to the Report Layout screen:
Registered Version has screen picture here
The cursor is at the left edge of the Detail area. To put the
Last Name field on the report in that position, press:
<Alt-F> (pop up the field list window)
<Down> <Down> (move the highlight to Last Name)
<Enter> (select it)
<Enter> (select field without field name)
Now put the First Name field on the report by pressing:
<Alt-F> <Up> <Up> <Enter> <Enter>
Now the three numeric fields by typing:
<Alt-F> (pop up field list)
<Down> seven times <Enter> <Enter> (select the How Many
field)
<Alt-F> <Enter> <Enter> (select the How Much field)
<Alt-F> <Enter> <Enter> (select the Balance Due field)
74 TUTORIAL
----------------------------------------------------------------------
The screen should look like this:
Registered Version has screen picture here
Now, let's put a title on the report. When the Report Layout
screen was first displayed, only the Detail area had a blank line
already inserted. All the other areas are empty and contain no
lines at all. The <Alt-I> key is used to insert a line right
above the line the cursor is on. To insert a line in the Title
area move the cursor up so it is on the Headings line and
insert a line by typing:
<Up> <Up> (to get to the Headings line)
<Alt-I> (to insert a line in the Title area)
<Home> (move cursor to column 1)
Type in the following title:
Example Report Layout
The title is left justified but we want to have it centered on
our report. File Express has a feature called Text Alignment
that can be used to automatically format the text on any line of
a report. To demonstrate the Text Alignment capability in the
Title press:
<Alt-A> (to select Text Alignment)
<C> (to select Centering)
File Express automatically centers the title within the Report
Width setting (which is 80 in this case). Although the title
looks off center right now, it is actually centered within 80
characters and will print in the center of the page.
TUTORIAL 75
----------------------------------------------------------------------
The screen now looks like this:
Registered Version has screen picture here
Now, we need some Headings. Again, we can use Area Formatting to
help us out. The most commonly used format for a Heading area is
to use the field names as column headings and a dashed line below
them for the length of the field. To automatically generate this
style of Heading, type:
<Down><Down> (to move to the Headings line)
<Alt-G> (to Generate the Headings area format)
76 TUTORIAL
----------------------------------------------------------------------
The screen now looks like this:
Registered Version has screen picture here
When putting the field names above the columns, only the portion
that fits is used. For example, the How Many column is only
three characters wide so only How will fit above it. To make a
report look better, you can insert another line and make two line
headings, or you can spread out the fields in the Detail area so
that longer column headings can be used. For our example here,
however, we will simply type over some of the column headings so
they make more sense. Do the following:
move to the first How in line 1 of the Heading area
type ### over the How
move right one space and type $$$.$$ over the How Mu
Now, let's format the Total area:
move the cursor to the Footer line
<Alt-I> <Alt-I> (to insert two lines in the Total area)
move to Row 1, Col 35 in the Total area
--- ------ --------
move to Row 2, Col 35 in the Total area
<Alt-F> (pop up field list)
move the highlight bar to the HOW MANY field
<Enter> (pop up the field type window)
move the highlight bar to Field.TOTAL
<Enter> (to select it)
QTY <Enter> (for the field name)
N (make this a numeric field)
<Enter> (to confirm formula)
<Enter> (to confirm field length)
<Enter> (to confirm decimal places)
Now we will repeat this for the next two fields:
<Alt-F>
TUTORIAL 77
----------------------------------------------------------------------
<Enter>
<Enter>
PRICE TOTAL <Enter>
<Enter>
<Enter>
<Enter>
<Enter>
<Alt-F>
<Enter>
<Enter>
TOTAL DUE <Enter>
<Enter>
<Enter>
<Enter>
<Enter>
We are finished defining the layout for our report, so press:
<F10>
78 TUTORIAL
----------------------------------------------------------------------
The Report Optional Specification screen appears:
Registered Version has screen picture here
We will accept all the default answers on this screen, so press:
<F10>
again to bring up the Report Output Options screen:
Registered Version has screen picture here
Again, accept all the default answers by pressing:
<F10>
TUTORIAL 79
----------------------------------------------------------------------
The Select Primary Index screen pops up. We want to print our
records in Last Name order, so move the highlight bar to the
LASTNAME line and press:
<Enter>
File Express now asks if you would like to "Save all changes".
Press:
Y
For the name and description of the report, enter:
EXAMPLE <Enter>
Example Report Layout <Enter>
File Express now confirms where you want the report printed.
Press:
S
The report is printed to the screen and looks like this:
Registered Version has screen picture here
Press:
<Spacebar>
to return to the Main Menu.
80 TUTORIAL
----------------------------------------------------------------------
You now have a basic understanding of File Express menus and
prompts, and you know how to "find your way around" in the
program. There are hundreds of other options and features of
File Express which this tutorial did not discuss. The remainder
of this manual explains all these features, so you can review
them as you need them.
OPENING A DATABASE 81
----------------------------------------------------------------------
Opening a Database
Before you can add records to a database, or print a report, or
do anything in File Express, the program needs to know which
database you want to work with. When File Express is started,
there are three ways to identify the database to be used:
1) From the command line.
2) From the Setup program.
3) If neither of the other methods is used, File Express
goes directly to the Open A Database screen and asks
you to select a database from the list.
Option number 1 was described previously under Command Line
Options. Option 2 is described in the Customizing File Express
section. The following description pertains to option 3:
After starting File Express and answering the database drive and
path questions, a list is presented. This screen displays all
the databases on your data disk, and asks which one is to be
opened.
If you have just installed File Express, there is only one
database displayed; it is called TUTORIAL. It is the one you
copied onto your disk during the installation process. If you
have created additional databases, they are displayed in the list
as well. If you get a message telling you there are no databases
on the disk, please refer to the Defining a New Database section.
82 OPENING A DATABASE
----------------------------------------------------------------------
The databases found on the drive and path selected are displayed
on the screen alphabetically. The database selection screen
looks like this:
Registered Version has screen picture here
Several functions may be performed from the database selection
screen:
* An existing database can be chosen, by either moving the
highlighted bar to the desired database name or by typing
the database name directly into the input field. As you
move the highlighted bar up and down using the cursor keys,
<PgUp> and <PgDn> keys, or your mouse if you have one, the
name of the currently highlighted database is automatically
filled into the input field for you. When the correct
database name is in the input field, pressing <Enter> tells
File Express to go ahead and open that file.
* A new database can be defined by typing in a database name
not already in use. The screen for defining a new database
is displayed and explained below. If you end up at the
Define Screen because of misspelling a database name,
pressing <Esc> returns you to the database name list where
you can try again.
* An existing database can be deleted by highlighting its name
in the list and pressing <Alt-D>. File Express confirms
your intention for the database to be destroyed before it
continues. Erasing a database eliminates all its data
records and indexes plus any report and label formats and
keyboard macro file associated with the database.
* An existing database can be renamed (given a different name)
by pressing <Alt-R> when the database name is highlighted.
File Express prompts for the new name and description. The
OPENING A DATABASE 83
----------------------------------------------------------------------
new name may be any valid DOS file name from one to eight
characters, and may not already be in use as a database name
on the same drive and subdirectory.
* If you want to display a list of database files from a
different path, press <Alt-P>. File Express takes you back
to the Drive and Path prompts.
* You can make a copy of an existing database by highlighting
it name and pressing <Alt-C>. File Express asks you for the
name and description of the new database and which parts you
want to copy.
* When you define a new database and save it, File Express
prompts you to enter a description up to 40 characters long.
This description is saved in the header file for that
database. If you want to change the description, press
<Alt-E> while the database line is highlighted.
If you are running File Express from diskettes, and you discover
your database is not on the diskette currently in drive B, press
<Esc> to return to the Main Menu or the Path prompt, then put the
new diskette in drive B and select Open A Database from the Main
Menu or press <Enter> on the Path prompt again.
After File Express opens your database, the Main Menu is
displayed:
84 DEFINE A DATABASE
----------------------------------------------------------------------
Defining A New Database
Database Definition Screen
When the database name entered does not already exist, File
Express displays the Database Definition screen:
Registered Version has screen picture here
The fields of your new database are entered on this screen, one
per line. A database may have as many as 200 fields, provided
the total combined length of the fields does not exceed 4000
characters.
In addition to a name, each field has various attributes, such as
type, length, and format, which are entered on this screen.
Since there are several rules and considerations for each of the
columns on this screen, each column is discussed separately in
the following sections:
Field Name
When defining a new database, you first need to determine which
pieces of data (fields) are necessary. If need be, make a list
of the fields on paper before starting, then review them to see
if they should be broken down into smaller pieces. For example,
if you have the first and last name together in a field called
"NAME", there is no way to sort the records into last name
sequence. Likewise, if the CITY, STATE and ZIP are together in
one continuous field, there is no way to sort or select by zip
code.
Each field must be given a name, from one to twelve characters.
The field name usually describes the data the field holds. Here
are examples of some typical field names:
DEFINE A DATABASE 85
----------------------------------------------------------------------
empty
86 DEFINE A DATABASE
----------------------------------------------------------------------
First Name Invoice No.
Last Name Account No.
Company Name Part Number
Customer Price
Address Cost
Department Amount
Phone Number Quantity
City Tax
State Total
Zip Code Mo-Day-Yr
Country Date
From the examples above you can see that spaces, periods and
dashes are allowed in field names. Just about any other special
character may be used too, but we suggest you limit the use of
special characters, because they can occasionally cause problems
later when File Express is processing formulas. For example, if
you have fields named PRICE and PRICE+1, when you reference
PRICE+1 in a report, File Express assumes you want the value 1
added to the field called PRICE instead. To prevent such
ambiguities, it is a good idea to avoid special characters in
field names.
It is also best to avoid field names made up of only numeric
characters. If you try to do arithmetic on a field called 5280,
the report writer is not sure if you are referring to the field
named 5280 or the number 5280. Using a number with letters in a
field name, such as PRICE3, is acceptable.
The field name usually appears on the screen when adding or
changing records (field names can be omitted by making a custom
input screen called a View), so for appearance sake, you may want
to use upper- and lower-case characters in the name. This is
acceptable, and does not create any problems when referring to
the field names in reports and in formulas, because File Express
ignores case in those instances.
Two fields may have the same name. However, if you refer to a
field by name in a report, File Express uses the first occurrence
of the name. Another method of identifying the precise field
which you want to use is to reference it by field number such as
F32 for Field 32.
It is easy to change one or more field names later, even if there
is data in the database, by using a selection from the Mainte-
nance Menu. If reports have already been created which refer to
the old field name, they must be changed as well before they can
be printed.
DEFINE A DATABASE 87
----------------------------------------------------------------------
Field Type
After you have entered the field name at the beginning of the
line, the cursor moves to the Type column. A prompt displays a
list of the valid field types. They are:
<C> Character Field: This is the most common field type. Names,
addresses, abbreviations, even zip codes are usually defined as
character fields. Character fields may be as short as one
character or as long as 1000 characters. Any character, number
or special symbol you can enter on your keyboard is valid in a
character field, including the special foreign character set (see
the section titled Advanced Features for more information).
Character fields longer than the screen width can be defined as
either Scrolling fields or Window fields. These two features are
described later in the Paint section.
<N> Numeric Field: Use this field type for numbers such as dollar
amounts, unit quantities, etc. If you intend to do arithmetic or
print subtotals with a field, it must be Numeric. Numeric fields
may be from 1 to 14 characters and may have up to 13 decimals.
<F> Formula (Numeric): A formula field contains a mathematical
calculation or function. When a record is added or changed, each
formula is evaluated. Its result is displayed in its field on
the screen, and is saved in the database file. Data cannot be
entered into a formula field; it is display-only. Formulas can
perform arithmetic on other fields, such as:
PRICE * UNITS + TAX
For a detailed explanation of formulas, and more examples, see
the section titled Formulas.
<I> Increment Field: A type I field is an increment field. This type
of field automatically increments the numeric contents of this
field from the last record entered by one and places it as the
default entry for the field in the current record.
<T> Text Formula: A type T field contains a formula whose result is a
string of text instead of a number. For example:
FIRST NAME & LAST NAME
places the two fields together with a single space separating
them. Other text formulas display information such as date,
time, bar graphs, etc. For example, this formula:
TODAY & TIME
88 DEFINE A DATABASE
----------------------------------------------------------------------
places the current date and time in the formula field, indicating
the last time the record was updated. For a detailed explanation
of formulas, and more examples, see the section titled Formulas.
<D> Date Field: Dates are handled in a special manner by File Express.
In the Setup program you can specify the global format of the
Date field. This can be either MM-DD-YY, MM-DD-YYYY, DD-MM-YY,
or DD-MM-YYYY. For example, January 2nd, 1990 in the first
format type appears in a type "D" field as 01-02-90. The third
date style would be entered as 02-01-90. The dashes are placed
in the date field automatically by File Express; you only enter
the six or eight numeric digits. Date fields have only these
four formats. Later, in reports, you can print the date in many
different formats, such as Tuesday January 2, 1990.
Date fields are also checked for validity. If any one of the
digits is entered, then all must be entered and the date will not
be accepted if it is not valid. The year may be any number from
00 to 99 or 0000 to 9999.
Date fields may be left blank, in which case the dashes do not
appear on reports.
<U> User-Defined Field: This is a variant of the Character field. It
is treated the same in every respect, except it has an "edit
mask" which forces fixed characters into one or more positions.
For example, a social security number field might be given a mask
of
" - - "
When data is entered into the field, the dashes are already
filled in, and cannot be changed or moved. When you enter the
nine numeric digits, the cursor bounces over the dashes.
The edit mask may contain any alphabetic, numeric or special
character in any position of the field. Leave spaces in the
positions where data will later be entered. If the edit mask is
left completely blank, then the field acts exactly like a
Character field. A space may be indicated as an edit mask
character by entering a @ character in the position where the
space is to be. When entering data, the @ displays on the screen
as a space, and cannot have data entered into it. When saved to
disk, the @ position contains a space.
If empty, the User-Defined field is saved to disk as spaces; the
edit mask characters are not saved, but they are remembered.
When Is A Number Not Numeric?
Since a character field can contain numeric digits, a number can
be entered into a character field just as easily as into a
numeric field. In fact, we recommend that some numbers be placed
DEFINE A DATABASE 89
----------------------------------------------------------------------
in a Character field rather than a Numeric field. Zip codes are
a prime example. If a zip code is a character field (with a
length of 10) it can accommodate Canadian postal codes as well as
the dash in Zip+4 codes. A numeric field, even one ten
characters long, can handle neither. Another reason for defining
zip code fields as Character is that they will not lose the
leading zeros. 02415 would become 2415 if the field type was
Numeric.
Character fields are also sorted and displayed differently than
numeric fields. Character fields are sorted from left to right,
a character at a time, so 9.1 sorts after 88888.8 because 9 comes
after 8. Sorting a numeric field with the same two numbers would
do an arithmetic comparison and determine 88888.8 is much larger.
When a number is entered into a numeric field, the specified
number of decimal places is added to it. For example, if the
numeric field is supposed to have two decimal places and you
enter 123 then the number is redisplayed as 123.00 in the numeric
field. If the operator enters 123.456 in the same field, the
extra decimal place is rounded, leaving 123.46. An empty field
with decimals is left empty, however, unless the Zero Fill option
has been specified in the Setup program.
Character fields are left-justified on the screen and in reports,
while numeric fields are right-justified. It is possible in the
report writer to change justification, but to automatically
left-justify a number, define it as a character field.
One final difference between numeric and character fields: We
mentioned numeric fields are right-justified when they appear on
the screen. But when editing a record, as soon as you move the
cursor to a numeric field, the number slides to the left to let
it be edited easily without having to arrow across the field. As
soon as you leave the field, the number moves back to the right.
Numeric fields are stored right-justified on disk.
Field Length
After you select the names for the fields in your new database,
you must determine how long each field should be. A field's
length should be long enough to accommodate the longest string of
data the field might need to hold. It is possible to increase
the size of a field later, so start out by taking your best
guess. Here are some common field lengths we use at Expressware:
90 DEFINE A DATABASE
----------------------------------------------------------------------
First name: 10
Last name: 15
Company name: 30
Address: 30
City: 15
State: 2 (postal state abbreviation)
Zip: 10 (handles zip+4 and Canadian)
Dollar Amounts: 10 (9999999.99 to -999999.99)
Quantities: 6 (999999 to -99999)
Dates: 8 (nn-nn-nn)
If you press <Enter> without indicating a field length, you
discover File Express defaults to a length of 30 for character
fields and 10 for numeric fields. Although these are common
lengths, it is not advisable to use the default on every field
you define. Your records will be considerably larger if the
defaults are used, which causes your disk to fill up faster, and
slows down processing.
Field Format
The column on the screen labeled "-format-" is treated different-
ly for each of the five field types:
<C> (character) fields: The word Character appears, and the
column is skipped.
<N> (numeric) fields: You are prompted for the number of decimal
places. After entering the number, the column displays a
representation of the numeric field using # characters for
digits. For example, a numeric field with four decimal places
specified and length of ten appears in this column as #####.####
and a numeric field with no decimal places and length of five
appears as ##### in the format column.
<F> (numeric formula) fields: You are prompted for the number of
decimal places. The column displays just as it does for Numeric
fields.
<T> (text formula) fields: The word Character appears, and the
column is skipped.
<D> (date) fields: The current date format style (mm-dd-yy, dd-
mm-yy, mm-dd-yyyy, or dd-mm-yyyy) appears and the column is
skipped.
<U> (user-defined) fields: You are prompted for the Edit Mask to
be used when entering this field. The mask is as long as the
field length specified earlier, although only the first fourteen
characters are displayed on the screen in the format column.
DEFINE A DATABASE 91
----------------------------------------------------------------------
Is The Sequence Of The Fields Significant?
If the fields in the database will be entered directly from a
document or form, the sequence of the fields on your database
should match the sequence on the form as closely as possible.
When data has been entered into a field and <Enter> is pressed,
the cursor moves to the next consecutive field number so the
closer the field sequence matches the input document, the easier
it is to enter data. The input sequence for fields can be
rearranged on the screen with the Paint option. More on this
later.
Placement of formula fields on the database requires some
planning too. By placing a formula field in the proper sequence
within the database, you can control when it is evaluated as data
is entered. Formulas are display-only fields, so it is not
possible to enter data into them. But when the cursor moves past
them, they are evaluated (computed) and their new contents
displayed.
Consequently, formulas with date and time information should be
at the beginning of the database so they are immediately evaluat-
ed. If a formula (such as Units * Price) immediately follows the
unit and price fields, it is evaluated as soon as both numbers
have been entered. A formula such as a grand total, which
requires all the data on the screen to be entered first, can go
at the end of the record so it gets calculated last. It is also
possible to define "temporary" calculated fields that are only
displayed on the screen and not stored in the database on disk.
This is described in the Paint section.
Changing And Saving The Definition
After you have entered all the field names and their associated
types, lengths and formats, your screen might look something like
this:
92 DEFINE A DATABASE
----------------------------------------------------------------------
T h e
cursor
i s
waiting
for you
to type
in the
name of
the next
field.
Since
you are
through,
press
<Enter>
without
typing in any characters. When you do, a prompt appears at the
bottom of the screen:
<S>ave <A>dd <C>hange <I>nsert <D>elete <M>ove <Esc>
<S> Save: If your definition is exactly as you want it, Press <S>
to save it. The database is created and the Main Menu appears,
with the new database selected and ready to add records.
<A> Add: To continue adding new fields at the end of the
definition, press <A>. The cursor moves to the next empty field.
<C> Change: If one of the fields needs a change made to its field
name or specifications, press <C>. File Express asks which field
number is to be changed, and then moves the cursor to that
field's name and lets you re-type the line.
<I> Insert: If you decide to add a new field, but you don't want
it at the end of the record, press <I>. File Express asks
"Insert field before which number?" Enter the number of the
field you want to precede with a new field and File Express
inserts a new field and prompt you for the name, type, and
length. If you type a number 1 higher than the highest field
number, File Express places the field at the end of the database.
<D> Delete: To delete an existing field, press <D>. File Express
asks "Delete which field number?" Enter the field number to
delete and File Express removes it from the database.
<M> Move: To move a field to a different location in the list,
press <M>. File Express asks you to: "Enter Field Number to Move
__". Enter the number of the field you want to reposition. Then
File Express asks "Move Field Number x before Field Number __".
You should now enter the number of a field where you want to move
DEFINE A DATABASE 93
----------------------------------------------------------------------
your field to. The field is placed above this field. If you
type a number 1 higher than the highest field number, File
Express places the field at the end of the database.
94 DEFINE A DATABASE
----------------------------------------------------------------------
<Esc> As always, the <Esc> key cancels the current operation.
Before abandoning your work, however, File Express verifies your
intention to exit by prompting:
Registered Version has screen picture here
If you really want to abandon your changes, press <Esc> again.
To resume adding fields or changing, press <Enter>. If you want
to start over with a clean slate, press <Spacebar>.
Changing Database Specifications
It is common to define a database, start putting data into it,
then suddenly realize a field is missing, or is too short, or has
the wrong format. When this happens it is not necessary to start
all over. Every aspect of a database can be changed at any time
in the future.
If data has already been entered into the database, or if reports
or labels have already been designed, some changes become more
difficult. For example, if you have a field called Name which
you want to separate into two fields called First Name and Last
Name, there is more involved than simply adding a field. File
Express has no way of determining which part of the old field is
the first name and which is the last name, so you must do that
yourself, one record at a time or using the Search and Replace
option in Find/Edit Records. If any reports or labels are
defined which refer to the field called Name, the report
specifications must be changed. Some changes cannot be done
automatically; they require you to go through the file and make
the change manually.
Most other changes are considerably easier. Here are some
examples of changes you may want to make, and an explanation of
how to make them:
DEFINE A DATABASE 95
----------------------------------------------------------------------
CHANGING FIELD NAME: Select Item 1 (Change Database Specs) from
the Maintenance Menu, and use the <C>hange option. (Also change
any formulas in reports which refer to the field by name.)
CHANGING FIELD TYPE: Select Item 1 (Change Database Specs) from
the Maintenance Menu, and use the <C>hange option. Changing
field types to <C>haracter is easiest, because anything is valid
in a character field. Before changing a field to <N>umeric, go
through the database and make sure the field contains only
numeric digits, spaces, optional minus sign and optional decimal
point with the correct number of decimal places. After changing
a field to <F>ormula, select Item 6, Recalculate Entire Database
from the Maintenance Menu.
CHANGING FIELD LENGTH: Select Item 1 (Change Database Specs) from
the Maintenance Menu, and use the <C>hange option. When all the
changes have been made, File Express reads all the data records
in your file and writes them back to disk with the new length.
Small databases take just a few seconds, but large ones can take
several minutes. Before reducing the length of a field, go
through the database and make sure none of the fields contain
information past the new desired length. Otherwise, this
information will be lost. Also make a backup of the database
before starting, because if the process is interrupted before it
completes, the database becomes unreadable.
CHANGING NUMBER OF DECIMALS: Select Item 1 (Change Database
Specs) from the Maintenance Menu, and use the <C>hange option.
No other steps are necessary. When a record is displayed or
printed, the new number of decimals is used.
CHANGING THE CUSTOM INPUT SCREEN: Select Item 2 (Paint) from the
Maintenance Menu.
CHANGING A FORMULA: Select Item 1 (Change Database Specs) from
the Maintenance Menu, and use the <C>hange option.
ADDING A NEW FIELD: To add a field into the database, select Item
1 (Change Database Specs) from the Maintenance Menu, and use the
<I>nsert option.
DELETING A FIELD: To delete a field from the database, select
Item 1 (Change Database Specs) from the Maintenance Menu, and use
the <D>elete option.
MOVING A FIELD: To move a field within the database, select Item
1 (Change Database Specs) from the Maintenance Menu, and use the
<M>ove option.
96 DEFINE A DATABASE
----------------------------------------------------------------------
Technical Note:
Several features of File Express such as report and label
formats, index specifications and some types of formula
references are kept track of using field numbers.
If you define a report or label using a particular field
sequence, and then change the database format by adding,
deleting, or moving fields, some or all of the report and label
definitions may have to be changed. For example, if you have a
database defined with three fields:
FIRST NAME
LAST NAME
ADDRESS
and make a report using these three fields, the report will print
as expected. If you later add a new field between the LAST NAME
and ADDRESS fields called COMPANY so that your definition is now:
FIRST NAME
LAST NAME
COMPANY
ADDRESS
loading and printing the same report will print FIRST NAME, LAST
NAME, and COMPANY instead of printing FIRST NAME, LAST NAME,
ADDRESS as it did previously. To correct the report, you must
edit it to remove the third field and replace it with the ADDRESS
field again which is now the fourth field instead of the third.
If you do want to add new fields to a database it is best to do
at the end of the field list so they don't effect the field order
of existing fields above them. Since you can set the field input
order, this does not cause a problem with the desired field entry
order when adding or editing records.
Since index files are expected to track the specific fields they
were designed to, whenever you add, delete, or move fields, File
Express deletes all existing index files and requires you to
rebuild them.
Field references in formulas can be affected by the rearrangement
of fields in the definition list. If fields are referenced in a
formula by their number, such as F3, the fields they refer to may
change if the original field is moved around. Fields referenced
by field name are not affected by position. SUBTOTAL * SALES TAX
is better than F12 * F13 and much easier to read later on.
ADDING NEW RECORDS 97
----------------------------------------------------------------------
Adding New Records
To add records to a File Express database, press <2> or <A> on
the Main Menu. File Express immediately displays the current
input screen for the database with all the fields empty. For
example, adding records to the TUTORIAL database looks like this:
Registered Version has screen picture here
The tutorial example above is an example of a Painted screen
containing the 15 fields. Much more complex input layouts are
possible, containing up to 200 input fields on up to ten separate
screens, or pages. The number of fields on the input layout is
determined by the number of fields in the database. The number
of pages (1 to 10) varies with the number of fields, and can also
be changed using a custom screen layout.
Filling In The Blanks
To add a new record to the database, just fill in the blanks on
the screen, then press <F10> to save the record. If you change
your mind before pressing <F10> and decide not to add the record,
press <Esc> to return to the Main Menu after confirming your
intention to abandon the record.
Fields may be left blank by pressing <Enter>, <Tab> or <Down>.
As the cursor moves to a field, the total length of the field is
indicated by the space characters you selected in the Setup
program. (The default is an underline character.) These space
characters disappear when the cursor moves to the next field. Of
course, if the field is completely filled with data, no space
characters appear.
The special keys described in the Keyboard Conventions section
operate as described when adding new records. If the <Up> key is
98 ADDING NEW RECORDS
----------------------------------------------------------------------
pressed while the cursor is at the first field, the cursor moves
to the last field. When the <Down> or <Enter> key is pressed on
the last field, File Express pops up a window:
Save changes (Y/N)? Y
or <C> to continue editing
Pressing <Y> or <Enter>, saves the current record. Pressing <C>
resumes editing. You can also press <L> at this point to print a
Quick Label if you have one or more defined.
When the cursor moves to a numeric field, the data in the field
shifts to the left, to make it easier to change. When the cursor
leaves the field, the numeric data resumes its normal right-jus-
tified position. Only selected characters may be entered in a
numeric field: numeric digits <0> to <9>, minus sign <-> and
decimal point <.>. The minus sign, when present, must be the
first character in the field. The decimal point and minus sign
may appear only once in a numeric field.
After pressing <Enter>, File Express puts the specified number of
decimal places on the number and re-displays it. However, if the
resulting data is too large to fit in the field, fewer decimal
places are displayed. For example, if a numeric field is six
characters long with two decimal places, and you enter 1234, the
resulting 1234.00 string does not fit within six characters, so
the field contains 1234.0 instead. If 12345 is entered, it is
displayed in the field with no decimal places, because there is
no room for decimals to be displayed. 12.345 is rounded to
12.35.
Formulas Are Display-Only
Formulas are display-only fields, whose contents are determined
by evaluating the formula. As the cursor moves past a formula
field, the formula is evaluated (computed) and its result is
displayed on the screen. Also, when a record is saved, all the
formulas in the record are re-evaluated in case any were not
calculated.
New Records Go On The End
When a new record is added to the database, it is usually placed
at the end of the data file, and any active index files are
updated. However, if you have recently deleted any records from
your database, File Express attempts to re-use the space occupied
by those deleted records, by putting new records in their place.
Record Numbers Are Not Data
ADDING NEW RECORDS 99
----------------------------------------------------------------------
File Express assigns a unique record number to every record in
the database. Since this number is unique, it is tempting to use
it as a reference number, customer number, etc. This is not
recommended. As you will discover the first time your database
gets cloned or appended, all the record numbers are changed. And
when a record is deleted, the record number is re-used for a new
record.
If you need a reference number or customer number in your
database, set up a field called Reference or Cust Number. You
can enter the record number into it if you like. This way, when
the time comes that the record number is no longer accurate, your
reference number field is still intact and unchanged.
Multiple Pages (Screens)
When adding a record, there may be too many fields to fit on the
first page (screen). When this happens, a "1" appears in the
upper right corner of page 1, indicating this is the first of
multiple pages. There are three ways to get to the second page.
The fastest way is to press the <PgDn> key. Moving the cursor
off the bottom of the screen with the <Down> key also advances to
the second and subsequent pages. And pressing <Enter> or <Tab>
on the last field of a page advances to the next page.
Likewise, if you are on the second page, <PgUp> moves to the
first page. When the <Up> key moves off the top of the screen,
the previous page is also displayed. <Shift-Tab> on the first
field of a page moves to the previous page.
If you find it awkward to work with multiple pages, it is often
possible to fit all your data onto a single page by using the
Paint option. See the Maintenance section for information on
painting custom screens.
Selecting Alternate Input Screens
If you have defined one or more Views for input, you can change
from one to another at any time while adding or editing records.
To make a change, press <Alt-V> to bring up the View List. From
here you can move the highlighted bar to the View you want to use
and press <Enter>. The new input screen is displayed and you can
continue adding records. If you had entered information into
some fields before changing Views, the information is still in
the corresponding fields in the new View.
The Flip-Field-Contents Mark
On character fields the tilde <~> character performs a special
function. The tilde acts as a Flip-Field-Contents-Here mark.
When you print reports or mailing labels, the contents of the
100 ADDING NEW RECORDS
----------------------------------------------------------------------
field are reversed at the tilde mark and the two halves are
printed with one space between them.
A common use of the tilde is to combine first and last names into
a single field, yet let the field be sorted in last name
sequence. For example, if a field contains Washington~George it
sorts alphabetically by last name but prints on reports and
labels as George Washington.
The first tilde encountered within a character field is used as
the flip character. Additional tildes are ignored, and print as
data.
A recommended alternative to the tilde, at least for first and
last names, is to make them two separate fields. This lets them
be sorted either first/last or last/first, and makes it possible
to search on either field separately. The separate fields can be
combined on reports with a single space between them by
concatenating them with a <&> operator (see the section titled
Formulas for more information).
Separate first and last name fields also aid in duplicate
checking. Last names are the most reliable data to use when
locating duplicates in a database. People don't abbreviate their
last name or use a nickname for it. A person named William Smith
might sometimes write his name Bill Smith, sometimes W. Smith, or
sometimes only Mr. Smith. The last name is constant, and is an
excellent field for searching or finding duplicates, but only if
it is in a field by itself.
The Repeat Keys
Field by Field
If the contents of a field are the same from one record to the
next, it is not necessary to completely re-type the field
contents each time you add a record. Pressing <Ctrl-R> repeats
the field data from the previous record, placing it into the
field on the current record. For example, if three new records
have the same city type the city name on the first record. Then
when you come to the city name on the second and third records,
just press <Ctrl-R>. The city is filled in automatically, and
the cursor advances to the next field.
Entire Record
Pressing <Alt-R> copies all the fields from the previous record
into the current one. You can then move around the record making
any needed changes to individual fields.
Quick Labels
ADDING NEW RECORDS 101
----------------------------------------------------------------------
If you have defined a label format and assigned it to a Quick
Label key, a quick label can be printed using the data on the Add
New Records screen. Press <Ctrl-L> after the data is entered,
but before pressing <F10>. A quick label is immediately printed.
For more information on defining and using quick labels, see the
Label Setup section in the chapter titled Printing Labels.
When you are finished adding records to your database, press
<Esc>. After confirmation, File Express returns you to the Main
Menu.
102 FINDING RECORDS
----------------------------------------------------------------------
empty
FINDING RECORDS 103
----------------------------------------------------------------------
Finding and Changing Records
The information in your database may require updating from time
to time. Sometimes the changes are simple, such as an address
change on a single record. Sometimes the changes are more
complex, such as replacing the field contents in a group of
related records. Before a record can be edited, it must first be
found and displayed on the screen. This screen display is
identical to the Add Records screen used to create the record, so
changing it is just a matter of moving the cursor to each field
and typing over the old data.
To find records in a database, and optionally change or delete
them, select Item 3 from the Main Menu: Find/Edit Records. This
menu displays:
104 FINDING RECORDS
----------------------------------------------------------------------
Finding A Record
Type <1> or <F> on the Find Menu, and the following screen
appears:
Registered Version has screen picture here
The Record Selection screen is used to tell File Express what
records you want to search for.
The window you see at the left of the screen contains a list of
all the fields in your database for reference. You can use the
<PgUp> and <PgDn> keys to move up and down in the list if you
have more than ten fields. The right side of the screen is a
brief "help screen" describing some of the common ways to find a
record. You can press <Alt-H> to get more helpful information if
you need it. Doing so in this case brings up a complete list of
all the functions, operators, and techniques that can be used to
search for records. (For more detailed information and examples,
refer to the Formula section of this manual).
Viewing The Record
As soon as the selection criteria has been entered, File Express
begins searching for records which match the criteria using the
current index. The searches are usually very fast.
The first record matching the criteria is displayed. There are
several options you may now select, depending on whether this is
the record you were looking for or not. Most of the options are
displayed across the bottom of the screen:
<PgDn> If the current view of your database has more than 1 page,
you can use the <PgDn> and <PgUp> keys to display the other
pages.
FINDING RECORDS 105
----------------------------------------------------------------------
<F> Continue Searching (Forward): When File Express displays a
record, there may be other records further down in the index
which also match the search criteria. If this is not the record
you are looking for, press <F> to continue searching the index
for the next matching record. The <Spacebar> key also continues
the search.
<B> Search (Backward): It is possible to search backward through
the index as well as forward. Press <B> to search backward
through the index for another record which matches the search
criteria.
<E> Edit: To make changes to the record, press <E>. The cursor
moves to the first field on the screen. At this point, the arrow
keys, <Enter> key and <Tab> key operate just as they did when
adding the record, letting you change any field. For further
information on entering data, moving around the screen, and
handling multiple pages (screens), see the Add Records section.
Once the changes have been made to the record, press <F10> to
save it to disk or <Esc> to continue without saving the changes.
<D> Delete: To remove the record from the database, press <D>.
File Express asks "Are you sure you want to destroy this record?"
Reply <Y> to delete the record or <N> to leave it alone. If you
reply <Y>, the data on the record disappears from the screen, the
words "Deleted Record" begin flashing at the bottom of the
screen.
Technical note: When you delete a record from your database,
reference to it is removed from all the active indexes. File
Express then places the deleted record number in a special
Deleted Record Index file so that it can be used later when
adding new records to your database. This way, the space
occupied by deleted records can be reclaimed. Until a deleted
record is reused, you can select the Deleted Record Index from
the Index List as the Primary Index and view, edit, print,
export, and undelete any of the remaining deleted records. While
the Deleted Record Index is active, all <D>elete prompts are
changed to <U>ndelete.
<N> Next: Pressing <N> advances the display to the next record
in the current index. By pressing <N> several times, you can
"walk" through the database looking at consecutive records. The
records are displayed in sorted index sequence.
<P> Previous: Pressing <P> backs up to the previous record in
the current index. Use the <N> key to "walk" forward in the
database, and the <P> key to "walk" backward. For example, if
you press <N> three times, the next three records are displayed.
106 FINDING RECORDS
----------------------------------------------------------------------
Pressing <P> three times returns you to the original record. The
records are displayed in sorted index sequence.
<L> or <Ctrl-L> Label: Pressing <L> prints a Quick Label for the
record currently displayed. Up to nine different Quick Label
formats may be defined. See the Label Section for more
information on setting up Quick Labels.
<R> Re-search: Pressing <R> returns you to the Record Selection
screen so you can enter new search criteria.
<Esc> As always, pressing <Esc> cancels the current operation --
in this case, returning you to the Find Menu.
Changing Display Order
When the records you are searching for are found, they are
displayed in the order of the current Primary index. You can
change the Primary index before starting the search by pressing
<Alt-P> when the Record Selection screen is displayed.
Natural Language
As you go through the list of options which may be used when
selecting records, you will notice there is often more than one
way to accomplish the same purpose. For example, State is WA and
State=WA are the same, as are State equals WA and State is equal
to WA.
The program also lets you use words like equals and less than
instead of special symbols like = and <. This technique is used
by some computer programs to understand instructions phrased the
way people talk instead of the way computers talk. It's called
"natural language".
For example, in the comparison above we completed the sentence
"Find all the records where" with "state is WA". But suppose you
knew there were multiple records with a state code of WA, and it
seemed more natural to say "the states are WA." It would have
worked.
If it's the way people talk, even if it's not grammatically
correct, we want File Express to understand it. If you give File
Express instructions it doesn't understand or misinterprets, and
you feel it should have understood them, let us know. We will
periodically give the software some grammar lessons so it
understands plain English.
General Rules Of Syntax
FINDING RECORDS 107
----------------------------------------------------------------------
The sentence on the screen begins: "Find all the records where:".
To find a record, simply complete the sentence (adhering to the
rules in the Formula section). File Express is expecting you to
complete the sentence with a "comparison", such as Company = Acme
or last name sounds like smith. In both these examples there is
a field name (company, last name) followed by a comparison
operator (equals, sounds like) and finally a constant value
(acme, smith). This is the usual pattern of a search although
not the only pattern. You can also make comparisons between
fields like MAIL ADDRESS = SHIP ADDRESS which displays all the
records where these two fields are the same. Or the comparisons
can be more complex: STATE = "WA" and CUST TYPE = "D" and TAX
NUMBER is blank", to find all the dealers in Washington who
haven't given you their tax exempt number yet.
COMPANY = CAT
only displays records where the COMPANY field is CAT and nothing
else. If you want to search for records where the COMPANY field
begins with CAT use:
COMPANY = CAT..
The two dots (..) mean anything. A search for CATanything
displays records where the COMPANY equals cat, catalog,
catamarans, Cat and Dog Clinic, Catheter Supplies, etc. To
search for companies ending in a certain string, put the ..
before it:
COMPANY = ..stand
displays stand, plant stand, magazine stand, understand, etc.
If you want to view every record, simply type in the word ALL.
If you want to view all the tagged or untagged records in the
database, use the words TAGGED or UNTAGGED.
As you may have noticed in the examples above, it normally
doesn't matter if you use upper, lower or mixed case when typing
your comparisons. File Express treats it all the same. If you
want to find records with a specific pattern of upper and lower
case letters, use the EXACTLY key word. name is exactly "Smith"
, only displays records where the name field is Smith and skips
records with SMITH or smith or SmItH.
If File Express doesn't understand your instructions for some
reason, an error message is displayed. If it's not obvious what
the message means, press <Alt-H> for a help screen with an
108 FINDING RECORDS
----------------------------------------------------------------------
explanation, or see the Troubleshooting section for additional
information.
QUICK SCAN 109
----------------------------------------------------------------------
Quick Scan Mode
Although the <N>ext and <P>revious keys let you "walk" or
"browse" through a database, they only display one record at a
time. Sometimes it is useful to see several records displayed at
once and be able to scan them as if they were on a report. Press
<2> or <Q> from the Find Menu and the Quick Scan screen displays:
Registered Version has screen picture here
Quick Scan lets you look at your database in columnar fashion,
much like a spreadsheet, and you can move around the screen
editing any fields displayed. As you edit fields that are part
of one or more indexes, File Express automatically keeps them in
order and updates the order on the screen.
You can either select up to eight specific fields to be displayed
on the screen or you can select all the fields. To indicate the
fields, enter each field number in the order you want to have
them displayed. To include all the fields, just press <Enter>
instead of selecting individual fields. For example, if you want
to display fields 6, 7, 9, and 2, in that order, you would press:
<6><Enter><7><Enter><9><Enter><2><Enter><Enter>
Note the two <Enter>'s at the end. The second one is to tell
File Express you are finished entering field numbers and want to
view them on the screen. As you enter numbers, they are
displayed on the screen above the input line:
/6/7/9/2
110 QUICK SCAN
----------------------------------------------------------------------
When you have finished entering the field numbers, the first 20
records are displayed on the screen:
Registered Version has screen picture here
When the screen is displayed, the records are listed in the order
of the current index which is shown in the upper left corner of
the screen. Several options may be used when viewing and editing
the Quick Scan screen:
<Up> <Down> Move The Cursor: The <Up> and <Down> arrows keys may
be used to move up and down from one record to the next on the
screen. When the cursor reaches the top or bottom of the
display, the screen scrolls more records from that direction
until the top or bottom of the database is reached. As you move
up and down, the cursor stays in the same column.
<Alt-E> Edit mode: Pressing <Alt-E> toggles you in and out of
edit mode on the Quick Scan screen. When you are in edit mode
you may edit the contents of any regular field you are on.
Formula fields are skipped over.
<Alt-R> Record display: Use the arrow keys to position the
cursor to a line, then press <Alt-R> to view the record in its
entirety. The record is displayed on the same data screen used
to Add Records and Find/Edit Records. When you press <Alt-E>,
the record displays and you are put into edit mode. When you
want to save the record and return to the Quick Scan display,
press <F10>. Note that if you change information in a field
included in the current index, the record is repositioned into
the correct order when you save it. This may affect the Quick
Scan display when you return to it.
QUICK SCAN 111
----------------------------------------------------------------------
<PgDn> Advances the display to the next 20 records.
<PgUp> Backs up to the previous 20 records.
<Ctrl-PgDn> Advances to the last 20 records of the database.
<Ctrl-PgUp>Backs up to the first 20 records of the database.
<Esc> Pressing <Esc> returns to the Find Menu.
<Tab> or <Ctrl-Right> Moves the cursor to the next field to the
right. If all the fields you selected do not fit across the
screen it will scroll sideways.
<Backtab> and <Ctrl-Left> Moves the cursor left to the next
field.
<Alt-W> Change Field Display Width: You can change the display
width of the column the cursor is in by pressing <Alt-W>. File
Express prompts for a new width, from 1 to the length of the
field, and re-displays the screen using the new width. Fields
that are displayed narrower than their actual width scroll
sideways when edited.
<Alt-P> Change the current primary index. When this is done, the
records are redisplayed on the screen in the new sort order.
Editing Records in Quick Scan Mode
It is often much more convenient to edit a large amount of
related data from many different records while in Quick Scan mode
than it is on a record-by-records basis where each one is
displayed separately. For example, if you are updating the
membership status of most of the records in your database, it is
much faster to move down the column of the Membership field
updating the entries than it is to display the full record, move
to the Membership field, make the change, save the record, and
move to the next record and repeat the process.
As you are moving the cursor around the screen using the <Up>,
<Down>, <Tab>, and <Backtab> keys, you will notice as the cursor
moves to each field, it is put into input mode and you can edit
its contents. The full editing features of File Express are
available at all times. If you change the contents of a field,
the record is automatically saved when the cursor leaves the
record line. After saving the record, File Express updates all
active indexes and then checks to see if the field changed is
part of the current index. If it is, the record is moved to its
correct position in the list and the screen is redisplayed with
the changed record at the top of the screen. Because of this
112 QUICK SCAN
----------------------------------------------------------------------
automatic movement to re-index the record, it can sometimes be
annoying when editing a column of fields that is part of the
current index. We suggest that when you are doing this that you
temporarily change the current index to some other index that
does not include the field you are working on or change it to the
Record Number order index. This way, as you edit the fields in
the column, the display won't rearrange itself after you make
each change.
SEARCH AND REPLACE 113
----------------------------------------------------------------------
empty
114 SEARCH AND REPLACE
----------------------------------------------------------------------
Search And Replace
Sometimes it is necessary to make the same change to a large
number of records. Use the Search and Replace option to avoid
the drudgery of making the change by hand on every record. For
example, a department store owner has a database which contains
all the products sold by her store. Each record contains an item
number, description, price, current inventory, annual sales for
this year, annual sales for last year, and the state where the
item was purchased.
1 - Item Number
2 - Description
3 - Price
4 - Current Cnt
5 - ThisYr Sales
6 - LastYr Sales
7 - State
At the end of the year the store owner is confronted with a
problem: since the year has ended, all the amounts in the field
called "ThisYr Sales" need to be moved to "LastYr Sales". Then
"ThisYr Sales" needs to be set to zero so it can start accumulat-
ing sales for the new year.
To do a Search and Replace, press <3> while viewing the Find
Menu. On the Record Selection screen enter the search criteria
to select the records you want to make changes to. In the
example above, the store owner wants to make the replacement in
every record so she enters ALL. If she wanted to make changes
for only the records in Florida, she would enter STATE =
"Florida". For more information on the search criteria entry see
the Finding a Record section.
SEARCH AND REPLACE 115
----------------------------------------------------------------------
After entering the search criteria, the Replacement Criteria
screen appears:
Registered Version has screen picture here
On this screen, select each field you want to change and tell
File Express what to replace it with. For example, two fields
are to be changed on the records of the store manager's database,
and she recognizes that she must change them in an exact
sequence: she must first move ThisYr Sales to LastYr Sales, then
set ThisYr Sales to zero. If she did it in the opposite
sequence, she would be putting zero in both fields.
She first selects the "LastYr Sales" field by typing in its field
number and pressing <Enter>. The prompt at the bottom of the
screen changes to "Replace LastYr Sales with:_____________". The
store owner now indicates the "ThisYr Sales" field by entering
either its name or an "F" followed by its field number, (F5 for
example).
Then she selects field number 5, ThisYr Sales, enters a 0 for the
replacement value, and presses <F10>. A window appears asking:
Tag all changed records (Y/N)? N
File Express gives you the option to place a tag on each record
that has changes made to it during the Search and Replace
process. This lets you later search for or print reports or
labels for all the records changed. To tag the records changed,
press <Y>. To skip the tagging process, press <N> or <Enter>.
The next question is:
Print to <S>creen only, <D>isk, <P>rinter, <A>ll S
As the records are selected and changed, they are displayed on
the screen so you can see what they look like and decide if the
116 SEARCH AND REPLACE
----------------------------------------------------------------------
changes are what you actually intended. If you would also like
to have a printed copy of the records changed or a disk file
containing this information, press <P> or <D> accordingly.
Now the searching begins, and the first record is displayed. The
screen shows the changed version of the record. The prompt at
the bottom of the screen is:
<Y>es <N>o <G>o <S>how original <D>isplay is on <Esc> to quit
If you would like to see what the record looked like before the
changes were applied to it, press <S> to show the original
version. Pressing <S> toggles back and forth between the changed
version and the original. If the record displayed has been
changed correctly, press <Y> to tell File Express to go ahead and
save the change and go to the next record. If you don't want to
change the record shown on the screen, press <N> and File Express
skips this record and moves on to the next.
When you are changing every record selected by the search
criteria, it is good practice to look at the first few record
changes to ensure the replacements are being made correctly.
When you confirm the accuracy and want to go ahead and have File
Express make the replacements automatically in the remaining
records, press <G>.
While you are in <G>o mode, each record displays on the screen as
it is changed. If you would like to turn off the screen display,
press <D>. Repeated pressing of <D> toggles the display on and
off. Pressing any other key while in <G>o mode pops up a
message: <Esc> to quit or <Spacebar> to continue. Pressing the
<Spacebar> key puts you back into the record-by-record
confirmation mode again.
Formulas In Search And Replace
The most common usage of Search and Replace is to move the
contents of one field to another or move a value to a field on
selected records. In the store manager example above we saw both
of those: a field was moved to another field, and a value of zero
was placed in a field. If you are putting text into a field, it
must be surrounded by quotes, such as: "Past Due". (Don't forget
the quote marks.)
Much more complex manipulations can also be accomplished, using
formulas to define the output of Search and Replace. This
section uses some examples of formulas, functions, If...Then
statements, etc. but for a complete explanation of formulas, see
the chapter titled Formulas. The following paragraphs describe a
SEARCH AND REPLACE 117
----------------------------------------------------------------------
complex manipulation of a database using Search and Replace with
formulas.
We recently acquired a mailing list of several thousand names
which we wanted to combine with our own list for a special
mailing. We knew there would be a large number of duplicates in
the two lists, and did not want to send two mailings to the same
person if we could avoid it. Since the mailing was costing about
seventy-five cents per piece, eliminating several hundred
duplicates would save several hundred dollars.
But there was a problem: Our own list separated first and last
name into two separate fields, but the new list we had acquired
put the first and last names together in the same field. As you
will learn in the Find Duplicates section, the two best fields to
use for finding duplicates in mailing lists are Last Name and
City Name. But the new list had a field called Name with "Smith,
James" and "Doe, John" in it.
This looked like a job for Search and Replace. Since we were
going to be "playing" with every record in the database, we first
made a backup of it, labeled it and set it aside. Then we added
two new fields called First Name and Last Name (using the Change
Database Specs option of the Maintenance Menu).
Then we selected Search and Replace from the Find Menu. On the
screen asking "Select all the records where" we replied:
Select all the records where: NAME contains ","
As you will find in the chapter on formulas, this statement is,
in effect, saying: give me all the records having a comma
somewhere in the name field, and skip all the records without
commas.
Then on the Replacement Screen we told File Express to make the
following substitutions:
In the field called Last Name: left(name, instr(name, ",")-1)
In the field called First Name: ltrim(mid(name, instr(name,
",")+1))
The first formula found the comma, and took everything from the
left end of the string to the character up to, but not including,
the comma. The second formula found the comma again and than
took everything from one character after it to the end of the
string. When File Express was done, we used Quick Scan to look
at the three fields called Name, First Name and Last Name. In
all but about ten cases, the substitution worked exactly as
planned. If the Name field said "Smith, James", the new Last Name
118 SEARCH AND REPLACE
----------------------------------------------------------------------
field contained "Smith" and the new First Name field contained
"James". There were a few that needed to be handled manually, but
only because the commas had been left out of them. It was
several hundred times faster than trying to do it by hand.
SEARCH AND DELETE/TAG 119
----------------------------------------------------------------------
Search And Delete
The Search and Delete routines work just like Search and Replace,
except that instead of changing field contents, File Express
deletes the matching records.
The only screen that appears when doing Search and Delete is the
Select Records screen. After the selection criteria have been
entered, each record to be deleted is displayed on the screen.
Just as in Search and Replace, you are given the option of
confirming the deletion of each record individually by pressing
<Y> or <N> or automatically by pressing <G>. These options are
displayed on the screen.
Search And Tag
The Search and Tag routines work just like Search and Replace,
except that instead of changing field contents, File Express tags
the matching records.
The only screen which appears when doing Search And Tag is the
Select Records screen, which has been described thoroughly in
other sections of this manual. After the selection criteria have
been entered, each record to be deleted is displayed on the
screen. Just as in Search and Replace, you are given the option
of confirming the tagging of each record individually by pressing
<Y> or <N> or automatically by pressing <G>. These options are
displayed on the screen.
120 SEARCH AND DELETE/TAG
----------------------------------------------------------------------
empty
FIND DUPLICATES 121
----------------------------------------------------------------------
Finding Duplicates
Mailing list databases are probably the most susceptible to
duplicate records. A customer uses the name Bill Smith one time,
then uses the name W. Smith the next. Or he uses his P.O. Box
once and his street address another time--or his business address
then his home address.
Some duplicates are easy to identify because they are virtually
identical. It is probably safe to delete one of the two records
for W. Smith and Bill Smith if they are both at the same street
address. It's not quite so easy to determine two records are
duplicates if they have different addresses, unless the person
has a very unique name. Or sometimes there may be other data in
the database which indicates that it's the same person. For
example, one record shows the customer ordering File Express
Version 4; another record shows the same customer name, in the
same city, but at a different address, ordering a Version 5
upgrade. They are probably the same.
File Express can help you identify some of the easy duplicates in
your databases, but you will likely have to manually make
decisions about some of the records.
The best time to start planning for duplicates is before your
database is even set up. What fields will you want to compare?
Last names and city names are good duplicate matching fields.
First names and zip codes are not as good. As we mentioned
earlier, people don't usually abbreviate or use a nickname for
their last name. But the same person may use Bill Smith, William
Smith, William C. Smith, W. C. Smith, Wm. Smith or Dr. W. Smith.
The one constant in all these is Smith.
Consequently, when you plan your database, plan ahead for
duplicate matching. If you will be searching for duplicates in
the future, make the last name a separate field. Keeping it in a
separate field can simplify record searches too. Likewise, keep
the city name separate from the state and zip code. Separate zip
codes also make it possible to do zip code sorts, which are often
desirable on mailing lists.
Look for any other fields you might use to find duplicates, such
as company name, and consider their future use. If the company
name is sometimes in the address, sometimes in the customer name,
and sometimes non-existent, it can't be used to find duplicates.
If it is always in a field called Company Name, it can be used.
Once the database is set up, the work does not end. The data in
the database must be entered consistently to keep it well-suited
for finding duplicates. It works best when only one person
maintains a database. That way, abbreviations, spacing, etc.
122 FIND DUPLICATES
----------------------------------------------------------------------
will be consistent. File Express treats upper and lower case
letters the same, so the last names DEYOUNG, Deyoung and DeYoung
would be identified as duplicates. De Young (with a space) would
not. Fort Worth and Ft. Worth would not either.
If you anticipate doing a lot of duplicate matching, then be
careful when entering Last Name and City fields. If city names
must be abbreviated, decide on a standard abbreviation, and post
a list alongside the computer so everyone who enters data can
refer to it.
If a name has "PhD", "M.D.", "Jr." etc. following it, avoid
putting this suffix with the last name in the same field. Either
set up a special field called Suffix or Title for these, or leave
them out of the database. Another technique is to set up a field
called Formal Name with the person's name exactly as it appears
on correspondence, and then set up separate name fields for
searching and duplicate matching. That way, the formal name can
contain a name like "Colonel M. Charles Smith, Jr., PhD, CPA
(Ret.)" while the last name contains only Smith (for sorting and
duplicate matching).
FIND DUPLICATES 123
----------------------------------------------------------------------
Duplicates In One Database
To find duplicates within a single database, first determine
which fields to match to identify duplicates, then select an
index with those fields. For example, to find all the records
which contain the same last name and same city name, select (or
create), an index that keeps the database in Last Name and City
Name order. Then select the item on the Find Menu called Find
Duplicates in One Database. When the following screen displays,
select the same two fields, last name and city name.
Registered Version has screen picture here
If the database is sorted by other fields than those specified in
the comparison, the Find Duplicates routine does not work
properly. It may find some duplicates, and it may appear to work
fine, but it is unlikely that most of the duplicates will be
identified.
File Express finds duplicates by comparing each record to the one
before it in the index. If there are two Smith/Seattle records,
but they are not contiguous (side-by-side), no match is
recognized. To put them side-by-side, the database must be in
Last Name/City or City/Last Name sequence. (If the whole
database was searched by comparing each record with every other
record, the search could take hours, days, or even years.)
When you select a field to be compared, File Express asks for the
length to be compared. Most of the time you don't need to
compare fields for their entire length. In fact, you may find
that the more characters you compare, the more duplicates you
miss. Consider the following two records as an example.
125 Wildwood Pl NE
125 Wildwood Pl. N.E.
124 FIND DUPLICATES
----------------------------------------------------------------------
If you are comparing these two ADDRESS fields for a length of 15
characters, a match is found. If you compare them for their full
length, the two fields are different because of the periods found
in the second record. Of course, you must compare enough of the
fields to uniquely identify them.
125 Wildwood Pl NE
125 Wildberry Lane
These two records are displayed as duplicates if only 8
characters are compared.
After you have entered all the field numbers and lengths to be
compared, press <F10>. File Express gives one more prompt,
asking:
Print to <S>creen only, <D>isk, <P>rinter, <A>ll S
As File Express is displaying the duplicates found in the
database, you have the option of deleting, tagging or editing
either or both of the records displayed. If you delete or tag a
record, you can have a report printed to either a disk file or
your printer indicating which records were affected. Press <D>
or <P> as needed. Pressing <A> sends the report to both the disk
and the printer.
When File Express finds two records matching the fields you
selected, it displays them side-by-side on the screen.
FIND DUPLICATES 125
----------------------------------------------------------------------
When you start a duplicate search, File Express begins in
"delete" mode as indicated by the "DELETE" at the left end of the
bottom line. This means the <L>eft, <R>ight, <B>oth, <N>o and
<G>o keys work with deleting in mind. If you want to place a tag
on a record instead of deleting it, you can tell File Express to
switch to "TAG" mode by pressing <M>, which changes the "DELETE"
to "TAG" on the prompt line. Now pressing <L>eft, <R>ight,
<B>oth, <N>o and <G>o keys work with tagging in mind. Repeated
pressing of <M> toggles between DELETE and TAG modes.
After examining the two records to determine if they are indeed
duplicates, one of several commands may be entered:
<PgDn> and <PgUp> scroll up and down through the fields in the
record on the right side.
<Up> and <Down> scroll up and down through the fields in the
record on the left side.
<L> Delete or tag the record on the left. If you are in DELETE
mode, the record is flagged as deleted (it may later be
<U>ndeleted), and File Express goes on to compare the next two
records.
<R> Delete or tag the record on the right. If you are in DELETE
mode, the record is flagged as deleted (it may later be
<U>ndeleted), and File Express goes on to compare the next two
records.
<B> Delete or tag both of the displayed records. If you are in
DELETE mode, both records are flagged as deleted (either or both
may later be <U>ndeleted), and File Express goes on to compare
the next two records.
<N> Leave both the records intact. Neither record is deleted.
File Express goes on to compare the next two records.
<G> Automatically delete or tag the record on the right without
asking for confirmation and continue doing the same to every
duplicate found in the remainder of the database.
<E> Edit a record. Pressing <E> prompts further for which record
to edit.
Edit the <L>eft or <R>ight record?
Pressing <L> or <R> puts you in edit mode where you can make
changes to any fields in the record. When you are editing one of
the records, the following commands available:
<PgUp> and <PgDn> can be used to display any fields not
currently shown in the window of the record being edited.
126 FIND DUPLICATES
----------------------------------------------------------------------
<Ctrl-R> copies the contents from the same field number in
the other record.
<Ctrl-U> restores the current field with its original
contents.
<Alt-U> restores the entire record to its original contents.
Press <F10> to save the changes and return to the previous
prompt.
<M> Mode change. Pressing <M> toggles between DELETE and TAG
mode as indicated at the left end of the bottom prompt line. In
some cases, it is more desirable to just tag the duplicate
records instead of deleting them. Later, when you are printing
reports or mailing labels, you can choose to print just TAGGED or
UNTAGGED records.
<Esc> Exit from the deletion process, and return to the Find
Menu.
If there is more than one duplicate for the same record, File
Express finds each of them, and displays them one after another
so they can be deleted. When duplicate matching is completed,
File Express returns to the Find Menu.
FIND DUPLICATES 127
----------------------------------------------------------------------
Duplicates In Two Databases
At times, you may want to compare two separate databases for
duplicate records. For example, you may have occasion to swap
mailing lists with another person or company. You know that most
of the names are different but you don't want to send two pieces
of mail to the people who are on both lists.
It is possible to compare two databases for duplicates, even if
the fields being compared have different field names and lengths.
Before starting the comparison process, make sure the indexes for
both databases are in order by the fields to be compared.
When you select the Find Duplicates In Two Databases menu option,
File Express assumes that the currently open database is one of
the two databases to be compared.
A screen displays asking you to select the second database. The
screen is similar to the one used to Open A Database. After
selecting the database, File Express prompts for the index to use
from the second database. Highlight the correct index and press
<Enter>. The index from the second database should match the
index from the current database.
128 FIND DUPLICATES
----------------------------------------------------------------------
As soon as the second file has been selected, this screen
displays:
Registered Version has screen picture here
The field names in both databases are displayed side-by-side, and
you are prompted to enter a field number from both databases.
For example, if you selected LAST NAME in the first database,
select the LAST NAME field in the second database (or the field
which has last names in it, if it has a different name). File
Express then asks for the length of the fields to compare. (See
Duplicates in One Database for a discussion on the length to
compare).
Continue entering field numbers and lengths for each database
until all your comparison fields are entered, then press <Enter>
to continue to the next prompt, which asks if you want a report
printed to the screen, printer or disk.
FIND DUPLICATES 129
----------------------------------------------------------------------
When File Express finds matching records from each database it
displays them side-by-side on the screen.
Registered Version has screen picture here
After examining the two records to determine if they indeed are
duplicates, one of several commands may be entered:
<PgDn> and <PgUp> scroll up and down through the fields in the
record on the right side (from the second database).
<Up> and <Down> scroll up and down through the fields in the
record on the left side (from the current database).
<L> Delete the record on the left. This is the record from the
current database. The record is flagged as deleted (it may later
be <U>ndeleted), and File Express goes on to compare the next two
records.
<R> Delete the record on the right. This is the record from the
second database. The record is flagged as deleted (it may later
be <U>ndeleted), and File Express goes on to compare the next two
records.
<B> Delete both of the displayed records. Both records, one from
each database, are flagged as deleted (either or both may later
be <U>ndeleted), and File Express goes on to compare the next two
records.
<N> Leave both the records intact. Neither record is deleted.
File Express goes on to compare the next two records.
<G> Automatically delete the record on the right without asking
for confirmation and continue doing the same to every duplicate
found in the remainder of the databases. The record deleted is
from the second database, which is displayed on the right.
130 FIND DUPLICATES
----------------------------------------------------------------------
<E> Edit a record. Pressing <E> prompts further for which record
to edit.
Edit the <L>eft or <R>ight record?
Pressing <L> or <R> puts you in edit mode where you can make
changes to any fields in the record. The <L>eft record is from
the current database and the <R>ight record is from the second
database. When you are editing one of the records, the following
commands available:
<PgUp> and <PgDn> can be used to display any fields not
currently shown in the window of the record being edited.
<Ctrl-PgUp> and <Ctrl-PgDn> scrolls the fields in the window
of the record not being edited.
<Ctrl-R> copies the contents from the same field number in
the other record.
<Ctrl-U> restores the current field with its original
contents.
<Alt-U> restores the entire record to its original contents.
<T> Tag a record. Pressing <T> prompts further for which
record(s) to tag.
Tag <L>eft, <R>ight, or <B>oth records.
In some cases it is more desirable to just tag the duplicate
records instead of deleting them. Later, when you are printing
reports or mailing labels, you can choose to print just untagged
or tagged records.
<Esc> Exit from the deletion process, and return to the Find
Menu.
If there is more than one duplicate for the same record, File
Express finds each of them, and displays them one after another
so they can be deleted, tagged or edited. When duplicate
matching is complete, File Express returns to the Find Menu.
This process compares the records of one database to the records
of another. It does not identify any duplicates which might
exist within each of the individual databases. That process is
performed on each database using the previously discussed menu
item, Find Duplicates In One Database.
SORTING RECORDS 131
----------------------------------------------------------------------
Sorting Records
When accessing your database you often want the information
presented in some kind of order. If you are printing a telephone
directory, you probably want the records to be printed in
alphabetical order by the Last and First Name fields. If you are
printing a mailing list to be sent out by bulk mail, you will
want the records printed in Zip Code order.
File Express lets you define up to five indexes for a database.
Each index can consist of up to ten different sort levels. For
example: If you sort by CITY then LAST NAME then FIRST NAME,
File Express first sorts all the CITY fields into alphabetical
order, then looks at all the LAST NAMEs connected to the same
city and sorts those and then looks at each group of FIRST NAMEs
having the same LAST NAME and sorts those. The results might be:
CITY LAST NAME FIRST NAME
-------------- --------- ----------
Los Angeles Jones Jack
Los Angeles Jones James
Los Angeles Jones Zack
Los Angeles Larson Kevin
Los Angeles Larson Mary
Los Angeles Simonson Heidi
Los Angeles Simonson Larry
Seattle Hunt Albert
Seattle Hunt Ken
Seattle Jacobs Chris
Seattle Keller Helen
Spokane Anderson Dawn
Spokane Anderson Graydon
Spokane Smith Don
As you add new records File Express automatically updates all the
active indexes with the new information. At any time, you can
change the Primary index to be used for displaying, printing and
searching for records.
File Express also keeps two internal indexes automatically.
These are a record number index and a deleted record index.
As records are added to a database, each is given a record number
corresponding to its physical position in the data file. If you
want to access the records in this order, make the record number
index the PRIMARY index.
132 SORTING RECORDS
----------------------------------------------------------------------
When you delete a record from a database, File Express removes
the record reference from all the active indexes so it is not
included in any displays, searches, reports, labels, etc. The
information that was contained in the deleted record is still on
disk, however, until it is overwritten by a newly added record.
File Express keeps track of the locations of all deleted records
in your database in a deleted record index. If you change the
PRIMARY index to the deleted record index, all displays and
searches will only use the deleted records. Because all the
information in a deleted record is still on disk until
overwritten by an added record, you can undelete any of them at
will.
What Is An Index?
An index is simply a file containing some information about each
record in your database according to the way it is to be kept
sorted. File Express uses a balanced B-Tree format to keep this
information. B-Tree indexes are a very fast way to access
records within a database and easily allows new information to be
inserted at any time.
When you ask File Express to find all the records with a last
name of Smith, it is much faster to look in the Last Name index
for Smith than it is to read every record in the database looking
for the name. Once File Express finds Smith in the index, which
can be almost instantaneous, the record can then be displayed on
the screen.
The indexes are actually separate files on disk. Their names are
made up of the database name with extensions of .IX0 through
.IX6. There is also an index header file with an extension of
".IXH" that keeps track of the status and description of each
index.
SORTING RECORDS 133
----------------------------------------------------------------------
Defining or Changing an Index
To define an index for the current database or to change an
existing index definition, press <4> or <S> on the Main Menu to
display the Select Index screen.
The Record Number index, Deleted Record index, and the five user-
defined indexes are listed in the window along with their Tag,
Status and Description.
Tagging An Index
The TAG column indicates which indexes are to be rebuilt when
<F10> is pressed. Any index that is not marked UNUSED can be
tagged for rebuilding by pressing <T> while the index is
highlighted. Pressing <T> places a check mark in the TAG column.
If there is already a check mark, pressing <U> erases the mark,
removing the index from the rebuild list.
The Status column indicates whether an index is the PRIMARY
index, an ACTIVE index, an INACTIVE index or an UNUSED index.
Primary Index
A status of PRIMARY means the index is used when searching,
displaying, or printing records from the current database. There
can only be one index marked as PRIMARY at any given time. To
change an index to PRIMARY, move the highlighted bar to the
desired index and press <P>. The Status changes to PRIMARY. The
Status of the previous PRIMARY index changes to ACTIVE. Note:
You can't change an UNUSED index to PRIMARY.
Active Indexes
An ACTIVE index is kept updated by File Express as new records
are added or existing records are changed. To change an INACTIVE
index to ACTIVE, press <A> while it is highlighted. The Status
changes to "ACTIVE" and a check mark is placed in the TAG column
indicating this index mustbe rebuilt beforebeing put intoservice.
134 SORTING RECORDS
----------------------------------------------------------------------
Inactive Indexes
An INACTIVE index is one that has been defined but is currently
not being kept updated by File Express as changes are made in the
database. To retire an ACTIVE index, move the highlighted bar to
it and press <I>. The Status changes to "INACTIVE". A PRIMARY
index can't be changed directly to INACTIVE. You must first
select some other index to be PRIMARY and then inactivate the
index.
INACTIVE indexes retain their definitions and can be reactivated
and rebuilt at any time in the future.
Unused Indexes
An UNUSED index is one that has never been defined.
From this screen you can do several things with indexes. If you
are just starting a new database, you should define one or more
indexes to go with it. If you want to edit an existing index,
this is where you come.
Record Number Index
File Express automatically keeps an internal index in record
number order. This index is always up to date and never needs to
be rebuilt. Set this index to PRIMARY any time you want to
access or print records in record number order.
Deleted Record Index
As records are deleted from your database, their location is kept
in a special index called the Deleted Record Index. File Express
always looks in this index to see if it can use one of the
abandoned records for storing new records. If you set this index
to PRIMARY, you can view, print and undelete these records. If
the Deleted Record Index is deleted from your disk, or becomes
corrupted for some reason, File Express will automatically
rebuild it for you.
SORTING RECORDS 135
----------------------------------------------------------------------
Defining A New Index
To create a new index for the current database, move the
highlighted bar using the <Up> and <Down> cursor keys to the
first UNUSED index entry and press <E> to edit and define the
index. When you do, the Index Edit Screen appears:
Registered Version has screen picture here
On this screen, you tell File Express which fields to keep sorted
in this index. You can also indicate which part of the field you
want to use and which order you want the fields sorted in.
The window displayed on the left is a list of all the fields in
the current database along with their lengths. The window on the
right is where you indicate the fields to be sorted, the
positions within each field, and the order of the sort. You can
define up to ten different sort levels for each index.
The process begins as you tell File Express the name of the first
field you want to sort on. The field name window on the left
contains a highlighted bar that can be moved using the <Up> and
<Down> arrow keys. As you do this the name of the highlighted
field appears in the Name column of the right window. When the
desired field is displayed, press <Enter> to select that field.
You can also type in the name of the field you want to sort.
File Express searches quickly through the field name list to
confirm the spelling and accepts the name if correct. If there
are two or more fields with the same name, the first one
encountered in the field name list is used. To select the second
or later field with the same name you must move the highlighted
bar to that field and press <Enter> as described above.
If the field you select is a Character type field, File Express
asks for the Position of the field to be sorted with the entire
length shown as the default answer. Just press <Enter> to sort
the entire field. To use only a portion of the field, specify
136 SORTING RECORDS
----------------------------------------------------------------------
the starting and ending character position separated by a colon.
For example, to sort only the first three characters of a field,
enter 1:3 (indicating characters 1 through 3). To sort the
seventh through the tenth characters of a field, enter 7:10.
If the field you select is a numeric type, File Express
automatically fills in the Position column for you because
numeric fields must be sorted on their entire length.
Technical note: The number of digits that File Express uses to
sort a numeric field is equal to the length of the field plus the
number of decimal places plus two. If you are sorting a numeric
field that is 10 digits long and has two decimal places, the
Position column reads 1:14. To make the sorting of numbers
faster, File Express keeps a specially aligned version in the
indexes. This alignment process requires some extra room
depending on the number of decimal places involved.
The next prompt is:
Sort into <A>scending or <D>escending order:
<A>scending means the records are sorted from smallest to largest
or lowest to highest (for example, names are sorted A through Z).
<D>escending means the records are sorted from largest to
smallest or highest to lowest (for example, names are sorted Z
through A).
After responding to the three prompts, File Express asks for the
next field to sort on. If you don't want to sort on any other
fields, press <F10>. Otherwise, continue specifying the
additional fields (up to 10 total) and press <Enter> when they
have all been specified. When you are finished, press <F10>.
File Express asks, "Save index format (Y/N)? or <C> to
continue". Press <Y> or <Enter> if everything looks all right or
<C> to go back and make some changes to the definition.
Most sorts are done on only one field, using all the data in the
field, and sorting in ascending order. In these cases, all it
takes to start the sort is to indicate the field name and press
<Enter> two or three times, (depending on the field type), and
then <F10>.
SORTING RECORDS 137
----------------------------------------------------------------------
Editing An Existing Index Definition
If you want to change an existing index definition or make
changes to a new index you are just defining, there are some
commands to make this easy.
<Tab>, <BackTab> When the cursor is in the Name column, pressing
<Tab> moves down to the next field name and <BackTab> moves up to
the previous field name.
<Alt-I> To insert a sort level, make sure the cursor is in the
Name column of the level you want to have moved down and press
<Alt-I>. All the levels from the cursor position and below move
down and a new level is inserted. The new level is pre-filled
with the information below it but you can change it to any new
information.
<Alt-D> To delete a sort level, make sure the cursor is in the
Name column of the level you want to delete and press <Alt-D>.
All sort levels below move up one line.
When you have made the desired changes, press <F10> to save them.
Saving The Index Definition
After pressing <F10> and indicating that you are finished making
entries and changes, File Express prompts for an Index Name which
can be up to eight characters long and a description of up to 50
characters. After entering these and pressing <Enter>, you
return to the Select Index screen with the index you were working
on highlighted and tagged with a check mark.
Building Or Rebuilding An Index
When you have defined your indexes or made changes to existing
indexes, you must go through the process that rebuilds the
indexes. This makes them active so they will be automatically
updated by File Express when records are added or changed.
To begin the rebuild process, press <F10> while viewing the
Select Index screen. File Express displays a percentage scale on
the screen showing the progress of the index rebuilding. When
the job is finished, you return to the Main Menu. Once your
indexes are defined and initially built, File Express keeps them
up to date at all times. The rebuilding process is not generally
needed again unless you want to change the definition of an
index, add a new index or if an index becomes corrupted due to a
power failure, bad disk, etc.
138 SORTING RECORDS
----------------------------------------------------------------------
Sort Precedence
The concept of precedence is somewhat technical in nature. It's
not necessary to fully understand this section in order to run
File Express.
For character fields, File Express uses the standard ASCII
precedence used by IBM PC and compatibles. The ASCII standard
assigns a value to every character, including the space
character. The value of the character determines where it sorts:
1. <space> has the lowest ASCII value, meaning it sorts before
anything else. (This includes any blank or empty fields.)
2. some of the special characters sort next, in this sequence:
! " # $ % & ' - . /
3. Numeric digits (when used in character fields) sort next:
0 1 2 3 4 5 6 7 8 9
4. A few more special characters come next:
: ; < = > ? @
5. Followed by alphabetic characters (upper/lower case are
mixed):
A or a, B or b, C or c, D or d, E or e, etc.
6. And finally, a few more special characters:
[ \ ] ^ _ ` { | } ~
Technical Note: File Express also permits special foreign
characters, math symbols and graphic symbols to be entered into
character fields. The sort precedence on these fields is
determined by their ASCII value. See Appendix A for an ASCII
chart listing.
The sort precedence for Numeric fields is simply the value of the
number. Empty numeric fields (all spaces) are given a value of
zero. On an ascending sort, negative numbers are sorted first,
then zero, then positive numbers. Remember, when dealing with
negative numbers, -100 is considered less than -99, so -100 comes
first in an ascending sort.
File Express does not permit you to enter a formula to be sorted,
but there is a way to sort on the result of a formula. Let's
say, for example, you need a report printed in descending
sequence using the computation of two fields: (OnHand * Cost).
To accomplish this, set up a Formula field in your database which
contains the formula. As records are added, the formula is
SORTING RECORDS 139
----------------------------------------------------------------------
automatically computed. Then when a sort is necessary, just sort
on the contents of the Formula field.
Sometimes ASCII sort precedence is undesirable or inadequate,
because you want, say, spaces to come last, or numbers to come
after letters. If you have a special application which requires
the sort precedence to be altered, define a formula field in your
database whose resulting value determines the new precedence you
require. For example, to make blank company names sort at the
end of the index instead of the beginning, include a Formula
field in your database with this formula:
If company is empty then 1 otherwise 0
When sorting by company name, sort this formula field first, then
the company. Since 1 is greater than 0, all the blank companies
go to the end of the index. This If/Then statement could have
been much more complex, using nested IF's to make numerous tests
and assign more values than 0 and 1:
IF F1 >= A AND F1 <= ZZ THEN 1 ELSE IF F1 >= 0 AND F1 <= 9 THEN 2
ELSE IF LEFT(F1,1) <> " " THEN 3 ELSE 4
Sorting by this formula causes alphabetic names to come first,
then numeric digits, then special characters, and finally spaces.
Of course only the first character of the field is checked. The
rest of the field is sorted in straight ASCII sequence. For more
information on If/Then and formulas, see the chapter titled
Formulas.
Sorting Dates
File Express has a special field type called a Date field. A
Date field is automatically given a length of 8 or 10 depending
on the global date format selected in the Setup program. When a
Date field is entered, it displays on the screen in either
MM-DD-YY format (for example: 05-16-90), MM-DD-YYYY (05-16-1990),
DD-MM-YY format (25-12-90), or DD-MM-YYYY (25-12-1990). All
dates are stored in the database as in YYYYMMDD, 8 byte format so
it is automatically sorted chronologically. Whenever they are
displayed on the screen or on a report or labels, the date is
reformatted in the current date format.
140 SORTING RECORDS
----------------------------------------------------------------------
Sorting By Record Number
File Express automatically keeps an internal index in record
number order. If you define a new database and don't set up any
new indexes, File Express keeps the records you enter in record
number order and any reports or labels printed are in that order.
Sometimes it is desirable to use the record number index, such as
when you want the records to appear in a report in the sequence
in which you entered them. Since records are added at the end of
the database (except when there are vacant deleted records
available), record number sequence is also chronological sequence
for new records.
The record number can be included as one of the sub-levels of an
index. To do this, select field 0 when you want to include the
record number. If it is used, it must be the last field
specified because any further sub-levels would not affect the
sort. Sometimes it can be useful to include the record number as
the last field. For example, a database contains dated
transactions, many of which have the same date. You want the
transactions in date sequence, but for the ones with the same
date, you want them sorted in the sequence they were entered.
Specify the date as the first field of the sort, then specify the
record number as the second field.
How Long Does It Take?
There are many factors which affect the length of time it takes
to rebuild indexes. Some of the variables include:
* How many records are being sorted?
* How big are the records?
* How many fields are being sorted?
* How long are the sorted fields?
* Is the database on a hard disk, RAM disk or diskettes?
* How fast is the computer?
Speeding Up Sorts
Obviously the sort can be made to run faster by buying more
hardware or faster hardware. But there are many other less
expensive ways to speed up the sorting process. The rule of the
day for faster sorts is: "sort as little as possible".
For example, is it really necessary to sort all 30 characters of
a company name? Most company names are unique enough in the
first 15 characters. If you specify 1:15 for the characters to
be sorted, instead of sorting the complete 30 characters, the
sort generally runs two to three times faster. An occasional
record or two may be slightly out of sequence, but probably
nobody will notice. If "in the ballpark" is good enough, then
SORTING RECORDS 141
----------------------------------------------------------------------
sort names by only the first three or four characters. It can
speed up sorts by a factor of ten or more.
142 SORTING RECORDS
----------------------------------------------------------------------
empty
PRINTING REPORTS 143
----------------------------------------------------------------------
Printing Reports
After you have gone through all the trouble of entering mountains
of information into your database, it's time to produce some
dazzling output. The File Express Report Writer is one of the
most powerful and full-featured report generator programs on the
market.
The Report section has two parts, a report generator and a small
word processor with a mail-merge feature. The report generator
focuses on printing information from the database along with
totals and subtotals, whereas the word processor lets you write
form letters that include information from your database.
Designing a Report or Form Letter
Defining a new report in File Express is simply a matter of
indicating what you want to print and where on the page you want
it put. Reports can include titles, headings, field information,
text, calculated fields, subtotals, totals, and footers. You can
include any or all of these pieces to make reports as simple or
as complex as you like.
Writing a form letter consists of typing the main text of the
letter and then placing fields where you want to print the
information contained in a database. When File Express prints
the form letter, it is reformatted to account for varying lengths
of field contents.
144 PRINTING REPORTS
----------------------------------------------------------------------
To define a new report or write a form letter, press <5> or <R>
on the Main Menu. The following screen displays:
The choices on this menu let you either design a new report or
form letter or choose existing reports or letters. Choosing an
existing report lets you change it, either temporarily or
permanently, then print it. A new report can also be saved
permanently and printed, or just printed without saving.
PRINTING REPORTS 145
----------------------------------------------------------------------
Reports
A report consists of several different sections. These include:
Registered Version has screen picture here
Each section, except the Edit Report Format section, has default
answers to all the questions and can be bypassed if all the
answers are acceptable. After completing a section, you can
either press <Esc> to go back to this Report Options Menu or
<F10> to continue on to the next section.
146 PRINTING REPORTS
----------------------------------------------------------------------
Starting a New Report
To define a new report, press <1> or <D> from the Report Menu,
Design A New Report. The following screen appears:
Registered Version has screen picture here
This screen is used to specify the placement of the report on the
paper.
Report width: The width of the printed area on the report. For
example, if your paper is 8 1/2 inches wide and you want to hold
a left and right margin of 3/4 inch, the width of the printed
portion is 7 inches, which is 70 characters if you are printing
at 10 characters per inch. In condensed mode you can print about
119 characters in 7 inches (7 times 17). If you are using 14
inch wide paper you can print more, of course. Keep in mind that
the Report Width does not include the left margin setting below.
Paper length: The number of rows that can be printed on an
entire page. Most printing is done at 6 lines per inch. An
eleven inch page is 66 lines high. At 8 lines per inch, the page
would hold 88 lines.
Lines per page: The number of lines that actually print before
moving to the next page. This should take into account the top
and bottom margin. On an eleven inch page with a top margin of
1" and a bottom margin of 3/4", printed at 6 lines per inch, the
Lines Per Page should be set at 56.
Top Margin: The number of blank lines at the top of each page
before the actual printing is started. Most of the time you set
this to 0 and just position the paper in your printer to start
printing where you want the first line to be. If you are using a
sheet-feeder you can change this setting as needed.
Left Margin: The number of characters from the left edge of the
paper to the beginning of each line. A setting of 0 indicates
PRINTING REPORTS 147
----------------------------------------------------------------------
that printing should begin at the left edge of the paper. A
setting of 1 leaves one blank space before starting each line. A
setting of 10 leaves a left margin of 1 inch when printing at 10
characters per inch.
When all the settings on the Report Size and Spacing screen are
correct, press <F10> to continue to the Report Layout screen or
<Esc> to return to the Report Sub-Menu. The Report Layout screen
look like this:
Registered Version has screen picture here
This is the screen you use to "paint" your report layout. It's
really quite easy. There are eight possible sections to a
report, the Title, Headings, Detail, three levels of Subtotals, a
Total section and a Footer area. Each section has a line above
it with a title indicating the name of the section. Each of
these areas can be laid out any way you want and can be expanded
as needed.
Moving Around the Layout Screen
Moving around the screen is simply a matter of using the cursor
keys to move the blinking cursor to any position within the
report layout. As you move up and down, the cursor moves from
one section to another. There are position indicators at the
bottom right corner of the window that display the current row
and column of the cursor within the current section. If your
report is wider than the window on the screen, the display
scrolls sideways when the cursor moves past the right or left
edge of the window. The same is true if the layout grows to be
taller than the window. The display scrolls up and down as
needed.
148 PRINTING REPORTS
----------------------------------------------------------------------
There are also several other keys that make it easier and quicker
to move around the screen:
<Enter> Pressing the <Enter> key moves the cursor down one row
and to column 1. The display scrolls to the right if
necessary.
<Home> Pressing the <Home> key moves the cursor to column 1 in
the current row, shifting the window contents to the
right, if necessary. If the cursor is in column 1,
pressing <Home> moves the cursor to row 1, column 1 in
the Title section, shifting the window contents down if
necessary. (If you want to quickly move to the Title
section, press <Home> twice and you are there.)
<End> Pressing the <End> key moves the cursor to the position
following the last non-blank character on the current
line. If the cursor is already at the end of a line,
pressing <End> moves the cursor to the lower right
corner of the window in the Footer section, shifting
the window contents up if necessary. If you want to
move to the end of the report, press <End> twice.
<Tab> The <Tab> key moves the cursor 5 positions to the
right.
<Backtab> The <Backtab> key, (hold down the <Shift> key while you
press the <Tab> key), moves the cursor 5 positions to
the left.
<Ctrl-PgUp> These keys move the cursor to the top and bottom
of the report
<Ctrl-PgDn> in the current column.
<PgUp> These keys move up and down through the entire report
layout if <PgDn> it is taller than the window size.
<Alt-D> Pressing <Alt-D> deletes the current line after asking
for permission to do so. All lines below the deleted
line are moved up to fill the void. The section
dividing lines cannot be deleted nor can a line that
contains a field. To remove a line containing a field,
you must first remove the field. See Removing a Field
below.
<Alt-I> Pressing <Alt-I> inserts a new blank line above the
line where the cursor is, making the current section
one line taller.
PRINTING REPORTS 149
----------------------------------------------------------------------
<Ctrl-R> Pressing <Ctrl-R> repeats the last text character that
was typed.
<Spacebar> The <Spacebar> key puts a blank at the cursor
position and moves one position to the right. The
<Spacebar> won't blank out a field.
<Backspace> The <Backspace> moves the cursor one character to
the left and blanks any text character that is in
that position. Any text or single line fields to
the right of the cursor are pulled to the left.
If there is a window field to the right of the
cursor that crosses the current line, the
<Backspace> key functions as a <Left> cursor key.
The <Backspace> key will not blank out a field.
<Del> The <Del> key removes the character under the
cursor and pulls the remainder of the line to the
left. The <Del> key does not work if the cursor
is on an input field or to the left of a window
field.
<Insert> The <Insert> key toggles between insert and overwrite
mode. When insert mode is turned on, the cursor
changes shape from a blinking line to a blinking box.
Any characters typed while in insert mode are inserted
at the current cursor position and the rest of the line
is move to the right. If moving the rest of the line
to the right would cause an input field to be pushed
off the screen, inserting text is not permitted. Also,
if there is a window field to the right of the cursor,
inserting new characters is not allowed.
<F10> Pressing <F10> tells File Express that you are finished
defining the report layout and want to continue to the
Optional Specification screen.
When defining a report layout, a list of all the available edit
keys and their function is available by pressing <Alt-H> for
help.
150 PRINTING REPORTS
----------------------------------------------------------------------
Report Layout Sections
Title
The Title section of a report is printed at the top of every
page. If you would like the title printed on the first page
only, or not at all, you can indicate this on the Optional
Specification screen that is described below.
The Title section of a report usually contains a title line,
date, and page number. However, you can also put fields and
formulas in this section. Any references to fields are taken
from the next record to be printed on the report.
Example:
List of Software Companies
Date18 Page PAGE
This title example was created by typing List of Software
Companies as the title on the first line of the Title section,
inserting two more lines by pressing <Alt-I>, placing the current
date on line 3 as a Calculated Field by pressing <Alt-C> and then
selecting the DATE function. Page numbering was added by typing
Page as text and then placing the PAGE function next to it by
again pressing <Alt-C> to pop up the Calculated field window and
selecting the PAGE function.
Example:
User Group Phone Directory Last Name PAGE
This example generates a title that looks something like:
User Group Phone Directory Williams 117
Since any field reference in the Title area prints the contents
of the field from the next record that will print, the Last Name
from the top record on each page prints in the title, forming a
phone book type quick index in the upper right corner of each
page.
Centering Titles
Most of the time you will want to have your title lines either
centered, left or right justified within the defined width of
your report. File Express offers a feature called Text Alignment
to help you. Pressing <Alt-A> on any line containing just text
(no fields or formulas) pops up a window prompting you for <L>eft
PRINTING REPORTS 151
----------------------------------------------------------------------
<C>enter or <R>ight justification. Select the alignment you want
by pressing the appropriate letter and all the text on the line
is instantly justified for you.
Headings
The Headings section of a report is normally printed below the
Title section and above the Detail section on each page. It
usually consists of column headings. As with the Title section,
you can indicate that the Headings section be printed on the
first page, all pages, or no pages at all.
Auto-Generate Headings
The most commonly used Heading consists of field names with a
dashed lines under them.
Example:
First Name Last Name Company Name
------------- -------------------- ----------------------
File Express lets you automatically generate this type of heading
by pressing <Ctrl-G> with the cursor in the Headings area, after
the Detail section has been laid out. This is done by echoing
the field names found on the first line of the Detail section
into the first line of the Headings section. The dashed line on
the second line of the Heading section represents the length of
the field.
After a Heading is generated, you can make changes to it by
simply moving around the section, typing over the text you want
to edit.
The Headings section can be much more elaborate, containing field
references, formulas, and text.
Example:
Expressware Corporation I N V O I C E
P.O. Box 1800
Duvall, WA 98019
206-788-0932 Date of Invoice: DATE
____________________________________________________
152 PRINTING REPORTS
----------------------------------------------------------------------
Detail Area
The Detail section of a report is where all the information is
printed from the fields in each record. The Detail section is
printed once for every record and is usually repeated
continuously down the page until it is full.
To define the layout for your report, move around the Detail area
and place the fields and text exactly where you want them.
The following example was created by placing the BOOK TITLE and
AUTHOR fields on line 1 of the Detail section.
BOOK TITLE AUTHOR
This layout produces a report like this:
Example:
Macroscope Piers Anthony
Foundation and Earth Isaac Asimov
2001 Arthur C. Clark
Starship Robert Heinlen
Ringworld Larry Niven
Of course, the layout can be much more intricate. Continuing the
example of the INVOICE in the Heading section:
-----------------------------------------------------------------
To: Full Name=============== Ship to: SHIP TO NAME===========
COMPANY NAME============ SHIP TO COMPANY========
ADDRESS================= SHIP TO ADDRESS========
CITY==========, ST ZIP== SCITY========, SS SZIP=
Date Order: ODATE=== Tax Number: TAX NUMBER========
-----------------------------------------------------------------
Account No. Date Shipped Shipped Via Terms Your Number
ACCT NUMBER SHIP DT VIA TERMS PO NUMBER
-----------------------------------------------------------------
Quantity Description Unit Price Amount
-----------------------------------------------------------------
QTY1 DESCRIP1================== EACH1 SUBTOT1
QTY2 DESCRIP2================== EACH2 SUBTOT2
etc.
PRINTING REPORTS 153
----------------------------------------------------------------------
All the highlighted characters represent fields or calculated
fields.
Subtotals
File Express offers three levels of subtotals on a report. Each
subtotal level can have its own trigger field that determines
when the subtotal is generated for that level. (See Setting
Trigger Fields for more information). The trigger field for a
subtotal level is typically a sort field of the same level. For
example, if you want a subtotal printed each time the contents of
the CITY field changes, the current index must be in CITY order.
(See Example 1.) If you are going to print a report with more
than one level of subtotals, the current index should be in the
same order as the trigger fields used to generate the subtotal
levels. (See Example 2.)
Example 1 - Level 1 subtotals:
City Amount1 Amount2
------------- -------- --------
Aberdeen 23.81 710.00
Aberdeen 8381.84 1845.82
Aberdeen 426.20 2.00
-------- --------
8831.85 2557.82
Cincinnati 306.88 839.95
Cincinnati 7925.68 29.35
Cincinnati .34 79.95
Cincinnati 885.33 419.45
Cincinnati 59.24 59.15
-------- --------
9177.47 1427.85
In this example, the Subtotal 1 trigger is the CITY field. This
means that each time the contents of the CITY field changes, a
level 1 subtotal is generated.
154 PRINTING REPORTS
----------------------------------------------------------------------
Example 2 - Three levels of subtotals:
State City Salesperson Amount
------- -------- ----------- --------
Nevada Las Vegas Larry 84,920
12,000
--------
96,920
Leslie 9,500
102,480
--------
111,980
=== $208,900 (Las Vegas) ===
Reno Larry 72,900
48,390
--------
121,290
Robin 3,800
19,430
--------
23,230
=== $144,520 (Reno) ===
*** $353,420 (Nevada) ***
Washington Duvall Margaret 45,920
12,000
--------
57,920
Nancy 33,910
12,570
--------
46,480
=== $104,400 (Duvall) ===
Seattle Martin 204,560
89,080
--------
293,640
Paul 98,340
142,920
--------
241,260
=== $534,900 (Seattle) ===
*** $639,300 (Washington) ***
PRINTING REPORTS 155
----------------------------------------------------------------------
In this example, the subtotals that are between the asterisks,
i.e.,
*** $984,750 (Washington) ***
are level 1 subtotals and are triggered by the STATE field. The
subtotals between the equal signs
=== $768,260 (Seattle) ===
are level 2 subtotals and are triggered by the CITY field. The
level 3 subtotals are the numbers beneath the dashed lines in the
right column and are triggered by the SALESPERSON field.
Setting Trigger Fields
Whenever the cursor is in one of the Subtotal areas, the current
trigger field is displayed near the bottom of the screen and an
additional prompt is added, <T>rigger. To change the trigger
field, press <Alt-T>. File Express pops up a list of all the
current fields. Using the cursor keys, move the highlight bar to
the name of the field you want to use for the new trigger field
and press <Enter>. You are then asked for the "Portion of field
for trigger comparison". A subtotal trigger can be any part of a
field. For example, the month portion of a Date field might be
used to get monthly subtotals. The default entry is the entire
length of the field. Make any change desired and press <Enter>.
156 PRINTING REPORTS
----------------------------------------------------------------------
Total
The Total section is generated at the end of a report printout.
Example:
Aberdeen 23.81 710.00
Cincinnati 8381.84 1845.82
Denver 426.20 2.00
Fargo 306.88 839.95
Jackson 7925.68 29.35
Miami .34 79.95
New York City 885.33 419.45
Seattle 59.24 59.15
============ ======== ========
8 18009.32 3985.67
In this example, the totals are under the double-dashed lines and
were laid out by putting the corresponding field.TOTAL for each
field in the Total area.
Footer
The Footer section is normally printed at the bottom of each
page. You can, however, indicate that the Footer section be
printed on the first page, all pages, or no pages at all.
The Footer section can contain page numbers, copyright notices,
field information, etc.
Example:
Frank 7384.20
Helen 8392.89
Jane 10673.60
Larry 9901.00
Mary 7770.45
etc.
---------------------------------------------------------------
Maximum so far: 10673.60
(C) Copyright 1991, Acme Parts Company Page 1
The Footer above is in bold type. The number printed following
"Maximum so far:" was generated using the .MAX field style. The
page number was generated using the PAGE function. These are
described a little later in this chapter. The dashed line and
other words were just typed in as text.
PRINTING REPORTS 157
----------------------------------------------------------------------
Adding Text to the Layout
Additional text can be added anywhere, in any section, in the
Report Layout window except on top of fields and on top of
section divider lines. Simply move the cursor to the location
where you want to add text and type what you want.
If you type past the width of your report, the text wraps to the
left side of the layout on the next line down. If you type past
the right edge of the window, but have not yet reach the right
edge of your report, the screen scrolls sideways to display more
columns on the right.
Inserting Text
Text can be inserted into an existing string by putting the
cursor into insert mode. Pressing the <Insert> key toggles the
cursor in and out of insert mode. The cursor is a tall blinking
block when it is in insert mode. File Express won't insert
characters if the cursor is to the left of a window field, or if
a field would be pushed off the report.
Deleting Text
Text can be deleted by using the <Backspace> key or the <Del>
key. Both of these keys pull any trailing text to the left. If
the cursor is to the left of a window field, these keys don't
work. You must use the <Spacebar> to blank out unwanted
characters in this case.
Special Characters
To type a special character that is not found on the keyboard,
you must know the ASCII number that is assigned to it. These
codes can be found in the ASCII CODES appendix at the end of this
manual. To enter a special character you must hold down the
<Alt> key and while doing so, key in the ASCII number on the
numeric keypad, and then release the <Alt> key. The character
appears at the current cursor position. To enter the British
Pound sign for example, hold down the <Alt> key and type 156 on
the numeric keypad. When you let up the <Alt> key the character
appears on the screen.
Control Characters
To enter special control characters with an ASCII value less than
32, press <Alt-X>. File Express asks you to "Enter literal
character". Either press the desired control key, such as <Esc>
or <Tab>, or enter the control key by holding down the <Alt> key
and typing the ASCII number on the numeric keypad. While in
Literal Character mode, <Ctrl-A> through <Ctrl-Z> corresponds to
the ASCII values 1 through 26. ASCII 27, which is an Escape
character, can be entered by pressing the <Esc> key. ASCII codes
28 through 31 must be entered by using the <Alt> key method.
158 PRINTING REPORTS
----------------------------------------------------------------------
Placing Fields on the Screen
File Express offers many different options when placing fields on
your report format. Fields can be placed with or without their
field names, or as window fields that occupy a rectangular block
on the page and automatically word-wrap when the field is printed
into them. Fields can be placed anywhere on the layout, in any
section, as long as there is enough room.
Regular Fields
To place a field on the report layout, move the cursor where you
want the field to be located and press <Alt-F>. A window appears
on the screen with a list of all the fields that are part of your
current database along with any new calculated fields you have
already defined for this report. The prompt at the bottom of the
screen changes to:
Use the arrow keys to select a field, then press <Enter>
To select the field you want to place on the report, move the
highlighted bar to the desired field by using the <Up> and <Down>
cursor keys. (The <Spacebar> also acts as the <Down> key.) When
you have highlighted the correct field, press <Enter> to bring up
the following Field Style window.
Field
Name & Field
Field in Window
Field.SUBCOUNT
Field.COUNT
Field.SUBNBCOUNT
Field.NBCOUNT
Field.SUBTOTAL
Field.TOTAL
Field.SUBMIN
Field.MIN
Field.SUBMAX
Field.MAX
Field.SUBAVERAGE
Field.AVERAGE
PRINTING REPORTS 159
----------------------------------------------------------------------
The Field Style window lists the different ways that you can
print a field:
Field
This option prints only the contents of the field as each
record is printed.
Example:
Pioneer
Toshiba
Sony
Epson
Hitachi
JVC
In this example, the company names were printed by putting
the Company field as a Field in the Detail section.
Name & Field
This option prints the field name followed by the field
contents.
First Name Marilyn
Last Name Monroe
Address 101 1st Ave.
City Baltimore
State MD
Zip Code 01835
In this example, each name and address was printed by
putting the fields as Name & Field's in the Detail section.
Window Field
If the length of a field is 40 characters or more you can
place the field on the report as a Window field. A Window
field is a rectangular block that works much like a mini
word processor. When the contents of the fields are printed
on the report, they are automatically word-wrapped into the
blocked area. When you select this type of style, a
blinking rectangle of squares appears that is two rows tall
and 20 characters wide. The prompt at the bottoms tells you
to:
Use Arrow keys to stretch the WINDOW to size desired and
then press <Enter>
160 PRINTING REPORTS
----------------------------------------------------------------------
You can make the block taller and wider until the height
times the width is greater than or equal to the length of
the field. You can stretch the window over text if you like
but File Express does not let you cover over any other field
on the screen. When you have sized the block as desired,
press <Enter>. Example:
This is an example of a window field
that is word-wrapped into the block as
the field is printed. This is a good
way to print fields that contain long
text descriptions in a column on a
report.
PRINTING REPORTS 161
----------------------------------------------------------------------
Field.SUBCOUNT
This option prints the count of the records that have been
printed in the current level 1 subtotal group. (Since this
is just a count of records printed in the subgroup,
regardless of whether this field is blank or not, all
.SUBCOUNT field references print the same number. That is,
F1.SUBCOUNT is the same as F2.SUBCOUNT which is the same as
F3.SUBCOUNT, etc.). The contents of the field make no
difference as to how they are counted. Numeric fields are
the same as character fields.
Example:
# Name Company Amount
1 David Expressware 23.89
2 David 0.00
3 David Microsoft 936.10
---------- ------------- -------
3 3 3
1 Don MCI 6.23
2 Don AT&T 4857.00
---------- ------------- -------
2 2 2
1 Rick 938.09
2 Mary Boeing 1.11
---------- ------------- -------
2 2 2
In this example the numbers in the # column were generated
by using Name.SUBCOUNT in the Detail section and the numbers
below the dashed lines were generated using Name.SUBCOUNT in
the Subtotal 1 section
If .SUBCOUNT is used in the Detail area or Subtotal 1 area,
level 1 counts are generated. If used in Subtotal 2, level
2 counts are used. If used in Subtotal 3, level 3 counts
are used.
162 PRINTING REPORTS
----------------------------------------------------------------------
Field.COUNT
This option prints the count of the total number of records
that have been printed so far in the report. (All .COUNT
reference are identical. F1.COUNT is always the same as
F2.COUNT which is the same as F3.COUNT, etc.).
Example:
# Name Company Amount
1 David Expressware 23.89
2 David 0.00
3 David Microsoft 936.10
--------- --------- -------
3 3 3
4 Don MCI 6.23
5 Don AT&T 4857.00
--------- --------- -------
2 2 2
6 Rick 938.09
7 Mary Boeing 1.11
--------- --------- -------
2 2 2
========= ========= =======
7 7 7
In this example the numbers in the # column were generated
by using Name.COUNT in the Detail section and the numbers
below the double dashed lines were generated using F1.COUNT
in the Total section.
.COUNT always generates the same numbers, no matter which
section of the report it is used in.
PRINTING REPORTS 163
----------------------------------------------------------------------
Field.SUBNBCOUNT
This option prints the count of the non-blank records that
have been printed in the current subtotal level group.
(This count is different from one field to another because
the contents of each field may or may not be blank.)
Example:
Name Company
David Expressware
David
David Microsoft
--------- -------------
3 2
Don MCI
Don AT&T
Rick Sprint
Boeing
--------- -------------
3 4
In this example, the numbers below the dashed lines were
generated by using Name.SUBNBCOUNT in the Subtotal section
for the Name field and Company.SUBNBCOUNT in the Subtotal
section for the Company field.
If .SUBNBCOUNT is used in the Detail area or Subtotal 1
area, level 1 non-blank counts are generated. If used in
Subtotal 2, level 2 counts are used. If used in Subtotal 3,
level 3 counts are used.
164 PRINTING REPORTS
----------------------------------------------------------------------
Field.NBCOUNT
This option prints the total count of all the non-blank
records that have been printed so far in the report.
Example:
Name Company
David Expressware
Ken
Bill Microsoft
MCI
Don AT&T
Rick
Mary Boeing
========= =============
6 5
In this example, the numbers below the double dashed lines
were generated by using Name.NBCOUNT and Company.NBCOUNT in
the Total section.
PRINTING REPORTS 165
----------------------------------------------------------------------
Field.SUBTOTAL
This option prints the numeric subtotal for the field.
Character fields, unless they contain numeric information or
begin with numbers, equate to zeros.
Example:
Running
Name Amount Subtotal
Allen 48.25 48.25
Allen 92.00 140.25
Allen 1947.72 2087.97
---------- -------
0.00 2087.97
Carla 3.90 3.90
Carla .23 4.13
Carla 783.26 787.39
Carla 8378.35 9165.74
---------- -------
0.00 9165.74
In this example, the numbers below the dashed lines were
generated by using Name.SUBTOTAL and Amount.SUBTOTAL in the
Subtotal 1 area. The numbers under the Running Subtotal
column were generated by using Amount.SUBTOTAL in the Detail
area.
If .SUBTOTAL is used in the Detail area or Subtotal 1 area,
level 1 subtotals are generated which include the current
record being printed. If used in Subtotal 2, level 2
subtotals are used. If used in Subtotal 3, level 3
subtotals are used.
166 PRINTING REPORTS
----------------------------------------------------------------------
Field.TOTAL
This option prints the numeric total for the field.
Character fields, unless they contain numeric information or
begin with numbers, equate to zeros.
Example:
Running
Name Amount Total
Allen 48.25 48.25
Allen 92.00 140.25
Allen 1947.72 2087.97
---------- -------
0.00 2087.97
Carla 3.90 2091.87
Carla .23 2092.10
Carla 783.26 2875.36
Carla 6378.35 9253.71
---------- -------
0.00 7165.74
========== =======
0.00 9253.71
In this example, the numbers below the double dashed lines
at the bottom were generated by using Name.TOTAL and
Amount.TOTAL in the Total area. The numbers under the
Running Total column were generated by using Amount.TOTAL in
the Detail area.
PRINTING REPORTS 167
----------------------------------------------------------------------
Field.SUBMIN
This option prints the minimum numeric value found for the
field in the current subtotal group. Character fields,
unless they contain numeric information or begin with
numbers, equate to zeros.
Example:
Amount Minimum
48.25 48.25
92.00 48.25
16.00 16.00
-------
16.00
3.90 3.90
.23 .23
783.26 .23
9378.35 .23
-------
.23
In this example, the numbers under the dashed lines were
generated by using Amount.SUBMIN in the Subtotal 1 area.
The numbers under the Minimum column were generated by using
Amount.SUBMIN in the Detail area giving a "running minimum".
If .SUBMIN is used in the Detail area or Subtotal 1 area,
level 1 minimums are generated which include the current
record being printed. If used in Subtotal 2, level 2
minimums are used. If used in Subtotal 3, level 3 minimums
are used.
168 PRINTING REPORTS
----------------------------------------------------------------------
Field.MIN
This option prints the minimum numeric value found for the
field so far.
Amount Minimum
48.25 48.25
92.00 48.25
16.00 16.00
3.90 3.90
.23 .23
783.26 .23
9378.35 .23
=======
.23
In this example, the number under the double dashed line was
generated by using Amount.MIN in the Total area. The
numbers under the Minimum column were generated by using
Amount.MIN in the Detail area.
PRINTING REPORTS 169
----------------------------------------------------------------------
Field.SUBMAX
This option prints the maximum numeric value found for the
field in the current subtotal group. Character fields,
unless they contain numeric information or begin with
numbers, equate to zeros.
Example:
Amount Maximum
48.25 48.25
92.00 92.00
16.00 92.00
-------
92.00
3.90 3.90
.23 3.90
783.26 783.26
9378.35 9378.35
-------
9378.35
In this example, the numbers under the dashed lines were
generated by using Amount.SUBMAX in the Subtotal 1 area.
The numbers under the Maximum column were generated by using
Amount.SUBMAX in the Detail area.
If .SUBMAX is used in the Detail area or Subtotal 1 area,
level 1 maximums are generate which include the current
record being printed. If used in Subtotal 2, level 2
maximums are used. If used in Subtotal 3, level 3 maximums
are used.
170 PRINTING REPORTS
----------------------------------------------------------------------
Field.MAX
This option prints the maximum numeric value found for the
field so far in the report.
Amount Maximum
48.25 48.25
92.00 92.00
16.00 92.00
3.90 92.00
.23 92.00
783.26 783.26
9378.35 9378.35
=======
9378.35
In this example, the number under the double dashed line was
generated by using Amount.MAX in the Total area. The
numbers under the Maximum column were generated by using
Amount.MAX in the Detail area.
PRINTING REPORTS 171
----------------------------------------------------------------------
Field.SUBAVERAGE
This option prints the average numeric value so far for the
field in the current subtotal group.
Amount Sub Average
48.25 48.25
92.00 70.13
16.00 52.08
-------
52.08
3.90 3.90
.23 2.07
783.26 262.46
9378.35 2541.44
-------
2541.44
In this example, the numbers under the dashed lines were
generated by using Amount.SUBAVERAGE in the Subtotal 1 area.
The numbers under the Sub Average column were generated by
using Amount.SUBAVERAGE in the Detail area.
If .SUBAVERAGE is used in the Detail area or Subtotal 1
area, level 1 averages are generated which include the
current record being printed. If used in Subtotal 2, level
2 averages are used. If used in Subtotal 3, level 3
averages are used.
172 PRINTING REPORTS
----------------------------------------------------------------------
Field.AVERAGE
This option prints the average numeric value so far for the
field in the report.
Amount Average
48.25 48.25
92.00 70.13
16.00 52.08
3.90 40.04
.23 32.08
783.26 157.27
9378.35 1474.57
=======
1474.57
In this example, the number under the double dashed line was
generated by using Amount.AVERAGE in the Total area. The
numbers under the Average column were generated by using
Amount.AVERAGE in the Detail area.
PRINTING REPORTS 173
----------------------------------------------------------------------
Calculated Fields
File Express lets you define calculated fields that are not
actually part of the database record definition but are just
calculated and printed on the report. To create such a field,
move the cursor to where you want the field and press <Alt-C>.
The first choice takes you through the process of defining a
calculated field.
Enter NAME of field? ___________
Select a name, up to twelve characters, and press <Enter>. File
Express asks you to:
Enter TYPE of Calc field, <N>umeric, or <T>ext? N
Calculated fields can be either Character or Numeric. Select the
appropriate field type. Next, File Express prompts you to:
Enter formula for this field, or <Alt-L>ist Quick Functions:
Type in the formula you want calculated and press <Enter>, or if
you want to use one of the Quick Functions, press <Alt-L> (see
description of Quick Functions below).
The final two inquiries are:
Enter LENGTH of field?
If the field was numeric, the final prompt is:
How many decimal places?
The maximum number of decimal places is 9. After this prompt is
answered, the field is placed on the report at the cursor
position.
Quick Functions
There are many functions in the File Express formula handler that
require no parameters and return a single piece of information or
control formatting of your report. These functions can be
entered as a formula as described above or you can select them
directly from the list, bypassing the additional information that
File Express normally asks for, like type, length, and decimal
places. We call these functions Quick Functions.
For example, if you want to put the page number on your report,
move the cursor to where you want the number, press <Alt-C>, for
a Formula field, and then, instead of entering a field name,
174 PRINTING REPORTS
----------------------------------------------------------------------
press <Alt-L> to bring up the list of Quick Functions, highlight
the PAGE selection and press <Enter>.
Here is what each Quick Function does:
BLANKLINE Forces a blank line to be printed, even if the Remove
Blank Lines option is set to YES.
DAYABBV Returns the three-character day abbreviation from the
system date. Takes three characters. Note: This
function also accepts a date parameter but to use it
this way you must enter the function as an actual
formula.
DAYNAME Returns the name of the day from the current system
date. Takes nine characters. Note: This function
also accepts a date parameter but to use it this way
you must enter the function as an actual formula.
LINE Returns the current line number on the current page.
Takes three characters.
MILTIME Returns the current system time in 24 hour format.
Takes five characters.
MONTHABBV Returns the standard abbreviation of the month from the
system date. Takes three characters. Note: This
function also accepts a date parameter but to use it
this way you must enter the function as an actual
formula.
MONTHNAME Returns the name of the month from the current system
date. Note: This function also accepts a date
parameter but to use it this way you must enter the
function as an actual formula.
NEWPAGE Causes File Express to move to the next page, printing
Titles and Headings if needed, before printing the
current line.
NOLINEFEED Suppresses the linefeed character normally sent
out at the end of each line sent to the printer.
This is often used to underline some text by
putting the underline characters on the following
line directly under the text to be underlined.
PAGE Returns the current page number. Takes 5 characters.
TIME Returns the current system time in 12 hour format.
Takes five characters.
PRINTING REPORTS 175
----------------------------------------------------------------------
TODAY Prints the current date in the current date format.
Takes eight or ten characters depending on the default
date format.
YEAR Returns the year from the current system date. Takes
four characters.
Using Formulas In Reports
This section describes some highlights of using formulas in
reports. We do not describe exactly how to set up particular
formulas and calculations here because formulas are discussed in
depth in the Formulas chapter, later in this manual.
Most people think of a formula as a mathematical equation
performed on one or more fields, such as multiplying a price
times units sold, or adding together some numbers. In the File
Express Report Writer, a formula is exactly that, and much more.
Formulas can perform many functions:
Math calculations (+ - * / ^ % and or not mod)
Math functions (sine, cosine, tangent, logarithms, square
root)
Date arithmetic (Age function, FutureDate)
Rounding
Formatting (decimals, floating $, justification, zero fill)
Concatenation of fields, with or without a space between
Text string manipulation (instring, case conversion, trim)
If/Then comparisons (EQ LT LE GT GE NE, nesting
permitted)
Reference field values in prior record
Access running subtotals, totals, averages, counts for all
fields
Print horizontal bar graphs on reports
Access report variables (page number, line counter, top of
page)
Set report switches (new page, no line feed, skip line)
Date and time functions (various formats, age arithmetic)
Once again, this section does not describe how to do all these
things. See the chapter titled Formulas for a detailed
explanation.
Formula Name
When a formula is entered on the report format, File Express
prompts for some additional information. The first prompt is for
a name to give the formula. If you don't plan to refer to the
formula by name, just press <Enter> and leave the name blank.
File Express automatically assigns it a name (Formula 1, Formula
2, etc.) in case you decide to refer to it later.
176 PRINTING REPORTS
----------------------------------------------------------------------
Enter any name up to twelve characters, preferably one not
already used by a field or another formula.
Formulas can refer to one another by name. For example, suppose
your report includes the formula: Price * Units and you give this
formula the name "Extended". Further down the page you can
compute sales tax with the formula: Extended * .081. A new
formula can only reference another formula which comes before it
in the report. By "comes before it" we mean that the referenced
formula is calculated before the new formula in the Detail area.
File Express processes formulas in the current processing order.
This processing order can be changed whenever you need to. See
Field Order under Changing Fields on the next page.
Formula Length and Decimals
After you enter the formula name (or press <Enter>) another
prompt appears asking for the formula length. A length has
already been filled in for you, which is File Express' best guess
of the length you need. You can specify a longer or shorter
length if you like. For example, the formula:
first name & last name
tells File Express to put the first name and last name together
with only a single space between them. If the two fields are
printed in separate columns, they look like:
John Doe
Jonathan Carpenter
Jim Smith
But by using the formula above, the two fields can be combined
into a single field so they are adjacent:
John Doe
Jonathan Carpenter
Jim Smith
How wide should the field be that holds this formula? You can
only assume that it is possible for both the first and last name
to fill up their fields. So, add the length of the two fields,
add one more for the space in between, and use the answer as the
value in the length prompt. If you decide the field can be
shorter, and are willing to take a chance on losing a few
characters occasionally, you can specify a shorter length
instead. You can also enter a larger length value, but there
would be no benefit in doing so for this formula.
Formulas which return keyword values, such as today's date or
this month's name, compute a length which holds the largest
PRINTING REPORTS 177
----------------------------------------------------------------------
contents the field can receive. For example, a formula
specifying month name has a length of 9, to accommodate the
longest month name, September.
Formulas which return numeric results always default to a length
of ten. If your number is likely to be more or less than ten
characters, including decimal places, commas, decimal point,
dollar sign and minus sign, change the length value.
If a formula has a numeric result, File Express prompts for the
number of decimal places. The default is two decimals, and may
be changed to any value from 0 to 12.
178 PRINTING REPORTS
----------------------------------------------------------------------
Changing Fields
Once a field has been placed on the report format, you can remove
it or change its length. To make one of these changes, simply
move the cursor so that it is on top of the desired field. When
you have done this, a new prompt appears at the bottom of the
screen:
<Alt>: <R>emove <S>ize to print <O>rder fields
Removing a Field
To remove the field, press <Alt-R>. File Express blinks the
field and asks:
"Are you sure you want to REMOVE THIS FIELD (Y/N)? N"
If you are sure that you want the field removed from the report,
press <Y>. The blinking field portion is erased.
Changing the Printed Field Length
To change the length of the field that is printed on the report,
press <Alt-S> while the cursor is on top of the field. The field
starts blinking and the prompt at the bottom of the screen is:
Actual field length=xx, Maximum Display length=yy, Display
length=<zz>
To change the length of the field, use the cursor keys to shorten
or lengthen the blinking squares. A regular field (as opposed to
a Window field) may be shortened to one character or lengthened
to whatever fits on the report line. A field cannot be stretched
over another field but can be stretched over existing text on the
screen. If the field is stretched over text and then shrunk
back, the overwritten text reappears. If the field was placed as
a Window field, then the whole block blinks and can be re-sized
with the cursor keys.
Field Order
As you place fields in each area of the report, File Express
keeps track of the order in which you placed them. When it comes
time to print the report, the fields are processed in the same
order. The only time this is important is when you are defining
calculated fields that depend on the results of other calculated
fields. If you want to change the calculation order, place the
cursor over any field on the screen and press <Alt-O>. File
Express asks:
Do you want to <S>et the field order or <T>est the order [S/T]?
To see the current processing order, press <T>. To reset the
processing order, press <S>. File Express blinks all the fields
PRINTING REPORTS 179
----------------------------------------------------------------------
and asks you to reset the order by moving the cursor on top of
each field and press <Enter> in the desired calculation sequence.
Drawing Lines
File Express has a powerful line drawing mode that makes it easy
to draw lines and boxes on your report layout.
Note: Before using the line drawing feature on your report, you
should make sure your printer prints the lines correctly. Many
printers substitute another character for each line character.
Sometimes there are DIP switches that can be set so that the
printer will print the line drawing characters. This information
will be located in your printer manual.
There are two keys that control the line drawing option, <Alt-L>
and <Alt-B>. Pressing <Alt-L> toggles the line drawing option on
and off. The status is always displayed at the bottom of the
screen. When the Line option is ON, you can use the cursor keys
to move around the report layout drawing lines in the current Box
style. Whenever a line intersects another line, the correct
intersection character is automatically drawn for the current Box
style.
Changing the Box Style
File Express provides eight different line drawing character sets
along with an option to ERASE lines as the cursor is moved. The
Box styles are:
Registered Version has screen picture here
The current Box style is always displayed at the bottom of the
screen. To change the current Box style, press <Alt-B>. The
character set changes to the next style. Repeated pressing of
<Alt-B> rotates through the eight available Box styles and the
ERASE option. When you have selected the desired Box style and
the Line option is turned on, you can then use the cursor keys to
draw lines and boxes. If the cursor is not at the point where
you want to start drawing, press <Alt-L> to turn the Line option
OFF and then move the cursor to the desired starting position and
then press <Alt-L> to turn the Line option back on.
180 PRINTING REPORTS
----------------------------------------------------------------------
As you are drawing lines and boxes you should be aware of the
following rules.
Lines can be drawn anywhere on the report layout except over
fields. This means that you can draw a line right over any
existing text that you have previously typed.
When attempting to draw a line over a field, the cursor
moves normally but no line is drawn until the cursor has
moved off the field.
Lines can't be drawn off the top, bottom, left or right
edges of the report.
PRINTING REPORTS 181
----------------------------------------------------------------------
Optional Specifications Screen
After the report format has been defined, press <F10> to display
the Report Optional Specifications screen:
Registered Version has screen picture here
This screen contains various options which could not be specified
in the format definition, because they were not format-oriented.
These options are all related to the report layout; i.e.,
positioning the report on the paper, printing headings, totals,
etc. The next few paragraphs list the options and describe them
in detail.
Print TITLE on <F>irst, <A>ll or <N>o pages
The first lines to print on every page normally contain the
information from the Title area of the Report Layout. To include
this title on only the first page of the report, specify <F>. To
exclude the title from all pages, specify <N>. To restore the
title to all pages (the default), press <A>.
Print HEADINGS on <F>irst, <A>ll or <N>o pages
The heading lines created on the Report Format screen normally
print on all pages. If a title was specified, it prints first,
followed by the heading lines. To include these headings on only
the first page of the report, specify <F>. To exclude the
headings from all pages, specify <N>. To restore the headings to
all pages (the default), press <A>.
Print FOOTERS on <F>irst, <A>ll or <N>o pages
The Footer section is normally printed at the bottom of each
page. To include the Footer section on only the first page of
the report, specify <F>. To exclude the footers from all pages,
specify <N>. To restore the footers to all pages (the default),
press <A>.
182 PRINTING REPORTS
----------------------------------------------------------------------
Print DETAIL area <Y>es or <N>o
The Detail area is normally printed for each record included on
your report. If you want to turn off the printing of this
section, set this option to <N>. Example: You want to print a
Zip Code report to find out how many records there are for each
zip code but you don't want to see all the individual records.
Your report layout looks like this:
Detail area: CUSTOMER ZIP CODE
----------
Subtotal 1 area: ZIP CODE ZIP CODE.COUNT
If you print the Detail area, all the records for each zip code
print before the subtotal count. Since you don't need all the
individual information, set the Print DETAIL area to <N>o. Now,
when the report is printed, only the subtotal counts are printed
next to the Zip Code. The report looks something like this:
09345 16
10472 29
10529 128
11930 3
12900 89
etc.
The report, which could end up being many, many pages, is now
very short and concise and contains only the information you
want.
Print SUBTOTAL areas <Y>es or <N>o
If you have a report format including entries in the Subtotal
areas, you can turn off the subtotal printing by answering <N>o.
Print TOTAL area <Y>es or <N>o
If you have a report format including entries in the Total area,
you can turn off the total printing by answering <N>o.
Remove blank detail lines from report, <Y>es or <N>o
The Report Writer constructs each detail line from the data in
the record, then writes it to the printer. After substituting
the data from the record onto the detail line, sometimes a line
is completely empty, so it takes up unnecessary space on the
report. If you want blank lines to be removed (i.e., not
printed), specify <Y>es.
PRINTING REPORTS 183
----------------------------------------------------------------------
empty
184 PRINTING REPORTS
----------------------------------------------------------------------
This option does not remove lines of the report which were
intentionally left blank (i.e., they have no fields or text in
them). File Express assumes you intended those lines to be
printed, to provide separation between records or to improve
readability.
Sometimes a report generates blank lines which you want deleted
and other blank lines which you want to remain. To accomplish
this, specify <Y>es to the "Remove blank lines from report"
prompt, then on each line which is to always print blank, include
a formula on the line with the keyword BLANKLINE in it. The
formula field may be anywhere on the line, and may be any length.
The formula displays as spaces, but ensures that the line is
always printed, whether it is blank or not.
Double-space detail lines, <Y>es or <N>o
Detail lines are normally printed single-spaced; i.e. printed one
after another with no blank lines between them except blank lines
you have specifically asked for. Sometimes it is desirable to
have a blank line after each detail line on a report, to leave
space for writing notes or just to provide some separation.
Specify <Y>es for this option if double-spacing is desired.
Double-spacing may also be accomplished by including a blank line
in the format following each detail line. In either case, File
Express keeps track of end-of-page and headings properly,
printing only half as many detail lines per page, and inserting a
blank line between each.
One-and-a-half spacing of Detail lines is also possible, even if
your printer doesn't support it. Specify <Y>es for the
double-space option, and specify line spacing of eight
lines-per-inch. Double-spacing at 8 lpi prints four lines per
vertical inch, which is equivalent to 6 lpi with a half-space
between each detail line.
Split records over page break, <Y>es or <N>o
This message only applies on reports containing more than one
detail line. Specifying <Y>es tells File Express that it can
print some of the detail lines for a record at the bottom of a
page, then print the remaining lines at the top of the next page.
If you want all the detail lines to stay together, specify <N>o.
File Express checks to make sure there is enough room for all the
lines in the record, and if there isn't, skips to a new page
before printing them.
PRINTING REPORTS 185
----------------------------------------------------------------------
Print subtotal for single records, <Y>es or <N>o
If a subtotal group contains only one record, File Express
normally skips printing a subtotal for it because the information
is redundant. If you want to force these subtotals to print,
answer <Y> to this question. Subtotals for single records look
something like this:
Bill Smith 16
--
16
Mary Thompson 39
--
39
Record Selection:
The final prompt on the Optional Specification screen asks which
records to print on the report. When you move to this prompt,
the Record Selection screen displays. This is a familiar screen,
identical to the one used when finding records. To include every
record on your report, enter "ALL". To print only selected
records, enter the selection criteria. For a detailed discussion
of the valid keywords and operands, see the section titled
Finding Records.
When you are satisfied that all the answers on the screen are
correct, press <Esc> to return to the Report Sub-menu or <F10> to
continue on to the Output Options screen.
Report Output Options
The last screen to display is one whose fields pertain to
physical aspects of your report, the Report Output Options
screen:
186 PRINTING REPORTS
----------------------------------------------------------------------
All the fields have the most commonly used default values, so
just press <F10> if all the options are correct. If your
computer system uses different options, it is not necessary to
change these fields every time you run a report. The default
values on this screen (as on many other screens) may be changed
to match your computer and printer. See the chapter titled
Customizing File Express for more information. Each of these
options are saved as part of the report layout file, so when you
reload the report, the answers are preserved. The prompts on
this screen are discussed in the following paragraphs.
Write to <S>creen, <P>rinter, <D>isk, or <A>ll
The report always appears on the screen. To write it only on the
screen and nowhere else, enter <S>. To write it to the screen
and the printer, enter <P>. To write it to the screen and disk,
enter <D>. To write it to the screen, disk, and printer, press
<A>.
When <D> or <A> is entered, you are prompted for the Output File
name. Any valid DOS file name may be used. A drive letter, path
and extension may also be included. If they are omitted, the
file is written to the drive and path containing the database,
with no extension.
When <D>isk is specified, the characters written into the disk
file are identical to those that go to the printer when <P>rinter
is specified. This lets the disk file later be printed using the
DOS PRINT command or other spooling utility. Consequently, the
disk file may contain control codes such as form feeds or
compressed print codes. If you are writing the report to disk to
edit with your word processor, these codes appear in the word
processing document as special symbols, and may be removed.
Left column to print / Right column to print
With these two options, you can print a segment from the middle
of your report. This option is most commonly used when writing a
wide report to the screen, to see the right side of the report.
It can also be used to print a wide report on a narrow printer.
Run the left side of the report, then run the right side and tape
them together.
Page number for first page (0-32000)
File Express usually numbers the first page of the report as
"Page 1". Sometimes it is desirable to start the page number
with a higher value. For example, if you have a series of three
lengthy reports which comprise a set, the page numbers on the
second report can begin where the first report ends, and likewise
for the third report. Any number from zero to 32000 may be
specified. The number is used as the starting number whenever
PRINTING REPORTS 187
----------------------------------------------------------------------
you have the page number printing on your report, and is
incremented by 1 on each subsequent page.
188 PRINTING REPORTS
----------------------------------------------------------------------
From page number / To page number
The defaults for these two operands are <1> to <32000>, meaning
that the entire report is to be printed. Sometimes it is
desirable to exclude part of a report, maybe because a printer
malfunction destroyed a few pages which must be reprinted. For
example, to print only pages 20 through 25 of a fifty page
report, enter 20 as the From Page Number and 25 as the To Page
Number. To print from page 10 to the end of a report, enter 10
in the From Page Number and 32000 in the To Page Number.
The pages are built exactly as they would have printed if the
entire report had been run, but only those pages in the selected
range are actually printed. Keep in mind that if the From Page
Number is greater than 1, File Express must still go through all
the motions of printing the earlier pages, even though they don't
get written to the screen, printer or disk. There is a pause
while these pages are being processed, then printing begins.
There is no pause at the end, even if the To Page Number is much
smaller than 32000.
<C>ontinuous printing or <P>ause after each page
Selecting <C>ontinuous causes the report to print every page, one
after another, until the report is finished. If <P>ause is
selected, the first page prints, then this message appears:
Press any key to print next page, or <Esc> to exit
The <P>ause option is useful when your printer uses single sheets
of paper. One page is printed, then File Express pauses so
another sheet of paper can be inserted.
Printer Options
File Express offers some additional printer options you may not
need at first, but which are very handy when you do need them.
These options give you the capability of changing printer
definition files, printer ports, line and character spacing, and
optional printer control strings.
To pull up the Printer Options menu, press <Alt-S> while viewing
the Report Output Options:
PRINTING REPORTS 189
----------------------------------------------------------------------
Printer Definition File
Printer definition files, (PDF files), contain all the printer
codes used by File Express to control the features of your
printer. If you have used the Setup program that comes with File
Express, you have probably selected the PDF file that goes with
your printer. If you have not selected a printer, File Express
uses codes for an Epson MX80 printer, which are also used by many
other makes.
Many people have more than one printer connected to their
computer and need the capability of switching PDF files on the
fly so different reports can be sent to different printers.
To select a different printer definition file, press <Alt-S>
while viewing the Printer Options window. A window pops up
containing a list of all the PDF files found in the program
directory. Move the highlighted bar to the file name you want to
select and press <Enter>.
Printer port <1>, <2>, <3>, or <D>efault (LPTx)
If your computer has more than one printer, use this command to
route the report to a second or third printer. File Express
defaults to LPT1, which is the standard port for most printers.
If you have changed your printer definition file to send your
printer output to a port other than LPT1, the LPTx shows your
default port.
Technical Note: Sometimes a computer has a serial printer
attached to its COM1 or COM2 serial port. Using the DOS MODE
command, it is possible to reassign LPT output to a COM port.
The MODE command must be entered each time your system is booted,
before printing. The MODE command is usually included in the
AUTOEXEC.BAT file. The command is: MODE LPT#:=COMn where # is 1,
2 or 3 and n is 1 or 2. See your DOS manual for more
information. Reports can only be sent to LPT devices.
Use Form Feeds, <Y>es or <N>o
Since File Express knows how long your paper is, and it also
counts the lines as it prints, the paper is normally advanced to
a new page by printing several blank lines. Most people never
need to change this option from its default of <N>o. But there
are a few applications where counting lines is not adequate.
Sometimes the printer needs a form feed character sent to it in
order to properly advance the paper. Earlier we mentioned that
form feeding is necessary when using a line height which does not
divide evenly into the paper length. The form feed re-synchro-
nizes the report with the top of the new page.
Some laser printers require a form feed character before the
paper is ejected into the output bin. Some multi-bin paper
feeders need a form feed character to select paper from the
190 PRINTING REPORTS
----------------------------------------------------------------------
proper bin. Some printers eject paper much faster when form
feeds are used instead of a series of blank lines. In those
applications, specify <Y>es for this option.
When File Express prints a report without form feeds, the
top-of-form position of your printer is ignored. File Express
simply starts printing wherever the paper is positioned, and
includes enough blank lines to get to the top of each page. But
when using form feeds with a regular tractor-feed printer, the
printer's top-of-form must be properly set, or else the second
and subsequent pages do print in the proper position.
Top-of-form detection is a physical aspect of your printer which
varies from model to model. Typically it can be set by position-
ing the paper so the perforation is just above the print head,
then pressing a button labelled Top or TOF. Some printers must
be powered off and back on to set top-of-form. See your printer
operation manual for further details.
Line spacing - <6>, <8> or <S>pecial lines per inch
Most printers are configured to print six lines per inch (lpi),
but have an option for selecting 8 lpi vertical spacing. A
report printed at 8 lpi is usually a bit harder to read, because
the lines are much closer together. Sometimes 8 lpi causes the
tops of some upper case characters to touch the bottoms of
characters with descenders like p, j and y.
A 100-page report printed at 6 lpi uses only 65 to 70 pages when
printed at 8 lpi, because more detail lines fit on a page, and
fewer overhead lines (titles and headings) need to be printed.
The report still prints at the same speed, although there is a
small time saving since fewer headings are printed.
When an 8 lpi report is double-spaced, the effect is
one-and-a-half spacing. Double-spacing at 8 lpi prints four
lines per vertical inch, which is equivalent to 6 lpi with a
half-space between each detail line.
When you selecting <6> or <8>, File Express uses the printer
codes found in the current printer definition file. You can
override these codes by selecting <S>pecial.
<R>egular, <C>ompressed, <T>welve or <S>pecial pitch
If your printer is capable of printing in compressed or
twelve-pitch (sometimes called Elite) mode, selecting <C> or <T>
causes special printer control codes to be sent to the printer
before the report begins. Most dot matrix printers have a
compressed print option which produces a much narrower character
than regular print, usually 17 characters per inch instead of the
standard 10 characters per inch. Many printers also have a
12-pitch or Elite font as well.
PRINTING REPORTS 191
----------------------------------------------------------------------
Selecting <S>pecial lets you change the default printer codes
normally used from the printer definition file. If your printer
has a switch or button on the front for selecting character
pitch, and you have set it to a pitch other than normal, specify
<S>pecial and blank out the default codes so that none are sent
to your printer overriding your switch settings.
If a report is printed to disk with compressed print specified,
the control codes are placed into the disk file at the proper
places, exactly as the data would have been written to the
printer. In this way, if a report is written to disk for later
printing via the DOS PRINT command or other spooling utility, the
report prints the same as it would have printed had it gone
directly to the printer from File Express.
Printer initialization string, <D>efault or <S>pecial
Sometimes it is desirable to send a sequence of characters to the
printer before the report starts printing, to select a special
printer option or font. For example, users with laser printers
might use this option to set their printer to landscape mode.
Users with color printers might use it to select a ribbon color.
Users with multi-bin sheet feeders might need to select a special
form. Any characters may be entered into this field. For ASCII
values and special symbols, enclose the ASCII value in <>
symbols. For example, to set an Epson/IBM printer to emphasized
mode requires that an <Esc> followed by an upper-case E be sent
to the printer. Enter <Esc>E in the initialization string so
those codes are sent to the printer before the report starts.
For more information on entering codes and characters into the
initialization string, see the Macro Key section.
Printer reset string, <D>efault or <S>pecial
This string is sent to your printer at the end of each report.
This can be used to reset any special printer features that were
set using the initialization string above.
When everything is correct on the Printer Options screen,
pressing <F10> or <Esc> returns you to the Output Options screen.
When everything is correct on the Output Options screen, press
<Esc> or <F10> to return to the Report Sub-menu.
192 PRINTING REPORTS
----------------------------------------------------------------------
Index Selection
The order in which the records are printed on a report depends on
the order of the Primary Index. If you want to change from the
current Primary Index to a different one for printing your
report, press <I> from the Report Sub-menu. A list of the active
indexes is displayed and you can select any of them by moving the
highlighted bar to the desired index and pressing <Enter>. If
you save your report format after changing the Primary Index,
this new index is saved as part of the report format and is used
from then on whenever you reprint the report.
Saving A Report Format
To save your report format, press <S> from the Report Sub-menu.
File Express asks: "Save all changes (Y/N)? Y". If this report
format is just a test, or if you have made some temporary changes
to another format which you do not want to save, reply <N>o to
this prompt. If you reply <Y>es or press <Enter> to take the
default Yes answer, File Express prompts you for a report name
and description and then saves your entire report format,
including all the information from all the sections on the Report
Sub-menu for future use.
Report formats are saved in a file with the name of your database
with an extension of .R0 to .R99, giving you up to 100 reports
per database. (You can also use report formats from other
database files if they have the same organization. See Loading
Existing Report Formats for more information).
Printing the Report
When all the options on the Output Options screen have been
selected, press <F10>. A window appears indicating:
When printer is ready, press any key
Make sure your printer is online and that the paper is positioned
properly, then press a key and the report begins printing. When
the report finishes, this message displays:
End of Report. Printed ___ records....Press any key
If the message indicates that zero records were printed, this
means there were no matches found for your selection criteria.
Press any key to return to the Report Sub-menu.
PRINTING REPORTS 193
----------------------------------------------------------------------
Wide Reports
Some wide-platen printers can hold 15-inch wide paper. File
Express is capable of printing on this wide paper. Just make
your report format wider or specify a larger value for Total Page
Width.
Using compressed print, if your printer has that option, wide
reports may be produced on regular 8.5-inch paper (up to 132
characters), and on wide 15-inch paper (up to about 240
characters). These widths may vary slightly on some printers.
For compressed print, specify <C>ompressed Print on the Printer
Options screen.
Reports up to 1000 characters wide can be created. Printing a
report this wide, however, requires that you do it in sections
and then tape them together. Another option for wide reports is
printing them to a disk file and then using a sideways printing
program such as Expressware's On-Side.
Most laser printers can print wide reports in "landscape" mode,
with the report turned sideways on a regular piece of paper. If
your printer has this option, the report writer can switch the
printer to landscape mode, select an alternate font, change line
spacing and other printer controls before printing the report.
To do this, the proper printer initialization string must be
specified in the Report Output Options section.
194 PRINTING REPORTS
----------------------------------------------------------------------
Letter Writer
Starting a New Letter
To write a new letter, press <3> or <W> from the Report Menu,
Write a New Form Letter. The following screen appears:
Registered Version has screen picture here
This screen is used to specify the placement of the letter on the
paper.
Text width: The width of the text portion of the letter on the
page. For example, if your paper is 8 1/2 inches wide and you
want to hold a left and right margin of 3/4 inch, the width of
the printed portion is 7 inches, which is 70 characters printing
at 10 characters per inch. Keep in mind that the Text Width does
not include the left margin setting below. The maximum text
width is 70 characters.
Paper length: The number of rows that can be printed on an
entire page. Most printing is done at 6 lines per inch. An
eleven inch page is 66 lines high. At 8 lines per inch, the page
would be 88 lines.
Lines of text: The number of lines that actually print on the
page before moving to the next letter. This should take into
account the top and bottom margin. On an eleven inch page with a
top margin of 1" and a bottom margin of 3/4", printed at 6 lines
per inch, the Lines of text should be set at 56. The maximum
lines is 66.
Top Margin: The number of blank lines at the top of the letter
before the actual printing is started. Most of the time you set
this to 0 and just position the paper in your printer to start
printing where you want the first line to be. If you are using a
sheet-feeder you can change this setting as needed.
PRINTING LETTERS 195
----------------------------------------------------------------------
Left Margin: The number of characters from the left edge of the
paper to the beginning of each line. A setting of 0 indicates
that printing should begin at the left edge of the paper. A
setting of 1 leaves one blank space before starting each line. A
setting of 10 leaves a left margin of 1 inch when printing at 10
characters per inch.
When all the settings on the Letter Size and Spacing screen are
correct, press <F10> to continue to the Letter Writer screen or
<Esc> to return to the Letter Sub-Menu. Pressing <F10> (or <Esc>
and then select the Edit Form Letter option), the following
screen appears:
Registered Version has screen picture here
This is the Letter Writer section of File Express. From here,
you can write one page form letters and include fields and
formulas from records in your database.
The Letter Writer works much like a mini word processor. As you
enter characters into the window, it automatically word wraps the
text as you type it in. At any point in the text, you can
include field references and formulas that will be replaced with
the contents of the records you choose to print the letters for.
(You can also print letters that don't contain record
information.)
To include a field in the letter, enclose the field name or field
number in square brackets: [ ]. For example, to include the
first name in the salutation of your letter enclose the name of
the first name field in brackets. If the first name field is
called FIRST NAME, type:
Dear [FIRST NAME],
The [FIRST NAME] indicator will be replaced with the actual first
name contents of the record being processed, for example:
196 PRINTING LETTERS
----------------------------------------------------------------------
Dear Mary,
You can also include any valid formula inside the brackets. For
example:
Dear [if FIRST NAME is blank then "Sir" else FIRST NAME],
These bracketed fields and formulas can be included anywhere in
the letter. When the letter is to be printed, the bracketed
fields and formulas are replaced with the field contents or
formula answer and the letter is reformatted to fit within the
margins and then printed.
Moving Around the Letter Writer
Moving around the screen is simply a matter of using the cursor
keys to move the blinking cursor to any position within the
letter layout. There are position indicators at the bottom right
corner of the window that display the current row and column of
the cursor within the letter. If your letter is taller than the
window on the screen, the display scrolls up and down when the
cursor moves past the top or bottom edge of the window.
There are also several other keys that make it easier and quicker
to move around the screen:
<Enter> Pressing the <Enter> key moves the cursor down one row
and to column 1. Pressing <Enter> in the middle of a
line moves everything from the cursor to the right to
the beginning of the next line.
<Home> Pressing the <Home> key moves the cursor to column 1 in
the current row.
<End> Pressing the <End> key moves the cursor to the position
following the last non-blank character on the current
line.
<Tab> The <Tab> key inserts five spaces at the cursor
position.
<Ctrl-PgUp> These keys move the cursor to the top and bottom
of the window
<Ctrl-PgDn> in the current column.
<PgUp> These keys move up and down through the entire letter
if <PgDn> it is taller than the window size.
<Alt-D> Pressing <Alt-D> deletes the current line. All lines
below the deleted line are moved up to fill the void.
PRINTING LETTERS 197
----------------------------------------------------------------------
<Backspace> The <Backspace> moves the cursor one character to
the left and blanks any text character that is in
that position. Any text or single line fields to
the right of the cursor are pulled to the left.
Using the <Backspace> key does not automatically
reform the paragraph. See <Alt-W> below.
<Del> The <Del> key removes the character under the
cursor and pulls the remainder of the line to the
left. Each time a character is deleted using the
<Del> key, the paragraph is reformatted as needed.
<Insert> The <Insert> key toggles between insert and overwrite
mode. When insert mode is turned on, the cursor
changes shape from a blinking line to a blinking box.
Any characters typed while in insert mode are inserted
at the current cursor position and the rest of the line
is move to the right.
<Alt-W> Pressing <Alt-W> forces a reformat of the letter. If
you have used the <Backspace> to erase characters, use
<Alt-W> to reformat your letter.
<Alt-F> Pressing <Alt-F> pops up a field list window from which
you can select a field to put into your letter at the
current cursor position. To select a field, move the
highlight bar to the desired field and press <Enter>.
The field is inserted at the cursor position with
square brackets surrounding it and the window is
erased.
<F10> Pressing <F10> tells File Express that you are finished
writing the letter and want to continue to the Optional
Specification screen.
When writing a letter, a list of all the available edit keys and
their functions are available by pressing <Alt-H> for help.
Record Selection:
When you have finished writing your letter, the next screen to
appear is Record Selection. Here you indicate the records you
want to print letters for. This is a familiar screen, identical
to the one used when finding records. To print a letter for
every record, enter ALL. To print only selected records, enter
the selection criteria. For a detailed discussion of the valid
keywords and operands, see the section titled Finding Records.
Enter your selection criteria and press <Enter>.
198 PRINTING LETTERS
----------------------------------------------------------------------
Letter Output Options
The last screen to display is the Letter Output Options screen:
Registered Version has screen picture here
The fields have the most commonly used default values, so just
press <F10> if all the options are correct. If your computer
system uses different options, it is not necessary to change
these fields every time you print letters. The default values on
this screen (as on many other screens) may be changed to match
your computer and printer. See the chapter titled Customizing
File Express for more information. Each of these options are
saved as part of the letter file, so when you reload the letter,
the answers are preserved. The prompts on this screen are
discussed in the following paragraphs.
PRINTING LETTERS 199
----------------------------------------------------------------------
Write to <S>creen, <P>rinter, <D>isk, or <A>ll
The letter always appears on the screen. To write it only on the
screen and nowhere else, enter <S>. To write it to the screen
and the printer, enter <P>. To write it to the screen and disk,
enter <D>. To write it to the screen, disk, and printer, press
<A>.
When <D> or <A> is entered, you are prompted for the Output File
name. Any valid DOS file name may be used. A drive letter, path
and extension may also be included. If they are omitted, the
file is written to the drive and path containing the database,
with no extension.
When <D>isk is specified, the characters written into the disk
file are identical to those that go to the printer when <P>rinter
is specified. This lets the disk file later be printed using the
DOS PRINT command or other spooling utility. Consequently, the
disk file may contain control codes such as form feeds or printer
codes. If you are writing the letter to disk to edit with your
word processor, these codes appear in the word processing
document as special symbols, and may be removed.
<C>ontinuous printing or <P>ause after each page
Selecting <C>ontinuous causes the letters to print one after the
other, until they have been printed for every record selected.
If <P>ause is selected, the first letter prints, then this
message appears:
Press any key to print next letter, or <Esc> to exit
The <P>ause option is useful when your printer uses single sheets
of paper. One page is printed, then File Express pauses so
another sheet of paper can be inserted.
200 PRINTING LETTERS
----------------------------------------------------------------------
Printer Options
File Express offers some additional printer options you may not
need at first, but which are very handy when you do need them.
These options give you the capability of changing printer
definition files, printer ports, line and character spacing, and
optional printer control strings.
To pull up the Printer Options menu, press <Alt-S> while viewing
the Letter Output Options:
Registered Version has screen picture here
Printer Definition File
Printer definition files, (PDF files), contain all the printer
codes used by File Express to control the features of your
printer. If you have used the Setup program that comes with File
Express, you have probably selected the PDF file that goes with
your printer. If you have not selected a printer, File Express
uses codes for an Epson MX80 printer, which are also used by many
other makes.
Many people have more than one printer connected to their
computer and need the capability of switching PDF files on the
fly so different reports can be sent to different printers.
To select a different printer definition file, press <Alt-S>
while viewing the Printer Options window. A window pops up
containing a list of all the PDF files found in the program
directory. Move the highlighted bar to the file name you want to
select and press <Enter>.
Printer port <1>, <2>, <3>, or <D>efault (LPTx)
If your computer has more than one printer, use this command to
route the report to a second or third printer. File Express
defaults to LPT1, which is the standard port for most printers.
If you have changed your printer definition file to send your
PRINTING LETTERS 201
----------------------------------------------------------------------
printer output to a port other than LPT1, the LPTx shows your
default port.
Technical Note: Sometimes a computer has a serial printer
attached to its COM1 or COM2 serial port. Using the DOS MODE
command, it is possible to reassign LPT output to a COM port.
The MODE command must be entered each time your system is booted,
before printing. The MODE command is usually included in the
AUTOEXEC.BAT file. The command is: MODE LPT#:=COMn where # is 1,
2 or 3 and n is 1 or 2. See your DOS manual for more
information. Reports can only be sent to LPT devices.
Use Form Feeds, <Y>es or <N>o
Since File Express knows how long your paper is, and it also
counts the lines as it prints, the paper is normally advanced to
a new page by printing several blank lines. Most people never
need to change this option from its default of <N>o. But there
are a few applications where counting lines is not adequate.
Sometimes the printer needs a form feed character sent to it in
order to properly advance the paper. Earlier we mentioned that
form feeding is necessary when using a line height which does not
divide evenly into the paper length. The form feed re-synchro-
nizes the letter with the top of the new page.
Some laser printers require a form feed character before the
paper is ejected into the output bin. Some multi-bin paper
feeders need a form feed character to select paper from the
proper bin. Some printers eject paper much faster when form
feeds are used instead of a series of blank lines. In those
applications, specify <Y>es for this option.
When File Express prints a letter without form feeds, the
top-of-form position of your printer is ignored. File Express
simply starts printing wherever the paper is positioned, and
includes enough blank lines to get to the top of each page. But
when using form feeds with a regular tractor-feed printer, the
printer's top-of-form must be properly set, or else the second
and subsequent pages do print in the proper position.
Top-of-form detection is a physical aspect of your printer which
varies from model to model. Typically it can be set by position-
ing the paper so the perforation is just above the print head,
then pressing a button labelled Top or TOF. Some printers must
be powered off and back on to set top-of-form. See your printer
operation manual for further details.
Line spacing - <6>, <8> or <S>pecial lines per inch
Most printers are configured to print six lines per inch (lpi),
but have an option for selecting 8 lpi vertical spacing. A
letter printed at 8 lpi is usually a bit harder to read, because
the lines are much closer together. Sometimes 8 lpi causes the
202 PRINTING LETTERS
----------------------------------------------------------------------
tops of some upper case characters to touch the bottoms of
characters with descenders like p, j and y.
When you selecting <6> or <8>, File Express uses the printer
codes found in the current printer definition file. You can
override these codes by selecting <S>pecial.
<R>egular, <C>ompressed, <T>welve or <S>pecial pitch
If your printer is capable of printing in compressed or
twelve-pitch (sometimes called Elite) mode, selecting <C> or <T>
causes special printer control codes to be sent to the printer
before the letter begins. Most dot matrix printers have a
compressed print option which produces a much narrower character
than regular print, usually 17 characters per inch instead of the
standard 10 characters per inch. Many printers also have a
12-pitch or Elite font as well.
Selecting <S>pecial lets you change the default printer codes
normally used from the printer definition file. If your printer
has a switch or button on the front for selecting character
pitch, and you have set it to a pitch other than normal, specify
<S>pecial and blank out the default codes so that none are sent
to your printer overriding your switch settings.
If a letter is printed to disk with compressed print specified,
the control codes are placed into the disk file at the proper
places, exactly as the data would have been written to the
printer. In this way, if a letter is written to disk for later
printing via the DOS PRINT command or other spooling utility, the
letter prints the same as it would have printed had it gone
directly to the printer from File Express.
Printer initialization string, <D>efault or <S>pecial
Sometimes it is desirable to send a sequence of characters to the
printer before the letter starts printing, to select a special
printer option or font. For example, users with laser printers
might use this option to set their printer to landscape mode.
Users with color printers might use it to select a ribbon color.
Users with multi-bin sheet feeders might need to select a special
form. Any characters may be entered into this field. For ASCII
values and special symbols, enclose the ASCII value in <>
symbols. For example, to set an Epson/IBM printer to emphasized
mode requires that an <Esc> followed by an upper-case E be sent
to the printer. Enter <Esc>E in the initialization string so
those codes are sent to the printer before the letter starts.
For more information on entering codes and characters into the
initialization string, see the Macro Key section.
Using the Setup program that comes with File Express, you can
enter a default initialization printer code. If you have done
PRINTING LETTERS 203
----------------------------------------------------------------------
this, press <D> to use it, or press <S> to change the code or
blank it out.
Printer reset string, <D>efault or <S>pecial
This string is sent to your printer at the end of each letter
set. This can be used to reset any special printer features that
were set using the initialization string above.
When everything is correct on the Printer Options screen,
pressing <F10> or <Esc> returns you to the Output Options screen.
When everything is correct on the Output Options screen, press
<Esc> or <F10> to continue.
Index Selection
The order in which the records are used to generate the letters
depends on the order of the Primary Index. If you want to change
from the current Primary Index to a different one for printing
your letters, press <I> from the Letter Sub-menu. A list of the
active indexes is displayed and you can select any of them by
moving the highlighted bar to the desired index and pressing
<Enter>.
Saving A Letter Format
To save your letter format, press <S> from the Letter Sub-menu.
File Express asks: "Save all changes (Y/N)? Y". If this letter
format is just a test, or if you have made some temporary changes
to another format which you do not want to save, reply <N>o to
this prompt. If you reply <Y>es or press <Enter> to take the
default Yes answer, File Express prompts you for a letter name
and description and then saves your entire letter format,
including all the information from all the sections on the Letter
Sub-menu for future use.
Letter formats are saved in a file with the name of your database
with an extension of .D0 to .D99, giving you up to 100 letters
per database. (You can also use letter formats from other
database files if they have the same organization.
Printing the Letter
When all the options on the Output Options screen have been
selected, press <F10>. A window appears indicating:
When printer is ready, press any key
204 PRINTING LETTERS
----------------------------------------------------------------------
Make sure your printer is online and the paper is positioned
properly, then press a key and the letters begin printing.
Before each letter is printed, a window pops up saying:
Analyzing Letter Format
while File Express goes through the letter and fills in any field
references and formulas from the current record. The letter is
then reformatted and printed. When the all the letters finish
printing, this message displays:
Printing Complete. Printed ___ records....Press any key
If the message indicates that zero records were printed, this
means there were no matches found for your selection criteria.
Press any key to return to the Letter Sub-menu.
PRINTING LABELS 205
----------------------------------------------------------------------
Printing Labels
File Express has one of the easiest to use mailing label options
in the industry. Labels can be printed up to five across and any
size from ten characters by one line to 1000 characters by 200
lines.
The Label Menu
To print mailing labels, press <L> or <6> on the Main Menu. The
Label Menu appears:
206 PRINTING LABELS
----------------------------------------------------------------------
Designing A New Label
Press <1> or <D> to design a new label. The following screen
appears:
Registered Version has screen picture here
Before the label layout can be defined, File Express must know a
few things about the physical dimensions of the labels you are
using. All the options are explained on the following pages.
How many labels across the page (1 to 5)
Some label forms have two or more labels side by side. If your
label forms have more than one label across the page, change the
value of this prompt to the number of labels across.
Labels which can be run through your computer's printer come in a
variety of sizes and shapes, and File Express can print on them
all. The most common mailing label, available at stationery
stores and usable in just about any printer, is one-across, one
inch vertically from label to label, and 3.5 inches across.
However, your printer's physical constraints may prevent you from
using some labels. Even if a wide label form will go through
your printer, sometimes it can't print all the way to the right
edge of the last label. Before buying wide labels, first print
them on a wide piece of paper to be sure your printer can handle
them.
PRINTING LABELS 207
----------------------------------------------------------------------
Spaces across from one label to the next
This option is only prompted for if the previous response
indicates there are two or more labels across the page. When the
cursor moves to this prompt, the picture-prompt changes:
Registered Version has screen picture here
The line with the question mark in it illustrates this
measurement. If you don't know what value to enter here, use a
ruler to measure from the left edge of the first label to the
left edge of the second one. If you will be using <R>egular
print, multiply the length in inches times ten. If you will be
using <T>welve pitch, multiply by 12. If you will be using
<C>ompressed print, multiply the length times seventeen. For
example, if the distance across the label is 3 3/4", then 3.75 x
10 = 37.5 so use 37 (which is the default).
208 PRINTING LABELS
----------------------------------------------------------------------
Lines down from one label to the next
This is the number of lines it takes to go from the top of one
label down to the top of the next label. Most printers are
configured to print six lines per inch. So, if the labels are
one inch high, use a value of six. (If you are printing at 8
lines-per-inch, use a value of 8). If the labels are 1 1/2
inches high, use a value of nine (printing at 6 LPI). The
illustration at the top of the screen shows the measurement to be
made:
Registered Version has screen picture here
Note that the measurement is not the height of the label; it is
the measurement from the top of one label to the top of the next
label. These measurements are usually in half inch increments.
Multiply the inches times six and enter the value. The actual
label height is usually a sixteenth of an inch less, allowing a
small space between labels.
PRINTING LABELS 209
----------------------------------------------------------------------
Printable lines per label
Even though a label may be six lines high, you probably don't
want to print all the way from the very top edge to the very
bottom. Six lines probably will not even fit on the label. A
small top and bottom margin is advisable. Four or five lines fit
nicely on a one inch label at 6 lines per inch.
210 PRINTING LABELS
----------------------------------------------------------------------
Characters per line on each label
Normally, you will not want to print from the left edge of a
label all the way to the right edge without margins on either
side. By specifying the number of characters to print on each
line you can control the look of each label. When the cursor
moves to this prompt, the picture changes to:
Registered Version has screen picture here
The line with the question mark in it illustrates this
measurement. If you don't know what value to enter here, use a
ruler to measure the length of the line you want to print and
multiply it by ten if you will be printing in <R>egular print or
by 12 if you will be printing at <T>welve characters-per-inch.
If you will be printing with <C>ompressed print, multiply the
length times seventeen. For example, if you want to print 3 inch
lines on your 3 1/2 inch label in <R>egular print, then 3 x 10 =
30, so enter 30.
PRINTING LABELS 211
----------------------------------------------------------------------
Tab position to first label
This option is somewhat dependent on how the label forms are
positioned in your printer.
Registered Version has screen picture here
The default value for this option is 1, meaning File Express
prints the first character of the label in the first column on
your printer. If the printing is too far to the left, specify a
larger tab value. If 1 is specified and the printing is too far
to the right, the printer tractors must be physically moved to
the right.
212 PRINTING LABELS
----------------------------------------------------------------------
Test Printer Setup
When all the Label Spacing options have been specified, press
<F10>. This window pops onto the screen:
Test this setup on your printer
If you have labels in your printer and would like to test the
spacing options you have specified, indicate <Y>es to this
prompt. File Express tells you to press any key when the printer
is ready, then a series of slash characters are printed:
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
////////////////////////// //////////////////////////
The example above is for two-across labels. By checking the
positions of the slashes, you can determine if your label spacing
is correct. If the label spacing is not correct, press <Esc> to
return to the Label Spacing screen.
PRINTING LABELS 213
----------------------------------------------------------------------
The Label Layout Screen
After the Label Spacing options have been entered and tested,
this prompt appears:
Registered Version has screen picture here
Using the spacing options from the previous screen, File Express
draws a window according to the values you specified for
characters across and lines down. The cursor is placed in the
upper left corner.
Laying out the fields and text on a label is exactly the same as
filling in the Detail area of a report. You may include the same
fields, text, and formulas. Because the Label and Report layout
descriptions are the same, we won't repeat the information again
here. Please refer to the following report topics:
Moving around the Layout Screen
Detail Area
Adding text to the Layout
Placing Fields on the Screen
Calculated Fields
Drawing Lines
When you are finished laying out the label format, press <F10> to
continue, or <Esc> to return to the Label Sub-Menu.
214 PRINTING LABELS
----------------------------------------------------------------------
The Paging Option
The Paging Option lets you print labels on a page-by-page basis,
specifying how many rows of labels to print on a page before
moving on to the next page. This is important if you are using a
laser printer that can't print from the very top to the very
bottom of a page or sheet of labels and must receive a formfeed
character to eject and print the page. The Paging Option also
lets you print headings on each page of labels including a title,
date and page number.
People often use the Label program to produce rosters and mailing
lists on paper as well as on label forms. The Mailing Label
section lets you display names and addresses on the page in
columns, up to five across, a feature which is not available with
the Report Writer.
Registered Version has screen picture here
This option is not normally used when printing continuous label
forms, so its default is set to <N>o. If you press <Y>es, you
are asked to answer the following questions:
PRINTING LABELS 215
----------------------------------------------------------------------
1 - Enter title you would like printed:
If you want to have a title printed at the top of each page, fill
it in here.
2 - <D>ate, <P>age numbering, <B>oth, <N>one
If you want the date and/or page number to be printed, press the
appropriate letter.
3 - Top margin before printing on each page
This entry is used to tell File Express how many blank lines to
send to the printer before starting to print the labels.
Many laser printer have a built-in top and bottom margin of a few
lines where the printer will not print. To accommodate this
restriction, many label sheets made for laser printers are
manufactured with a top and bottom margin of about 1/2" before
and after the labels. On these printers, indicating a top margin
of zero starts the printing on the third or fourth line from the
top. If the printing starts too high, increase the top margin
setting one or two to move the top label down on the page.
4 - Print how many label rows before new page
This is the number of labels, not lines, to be printed on each
page. Most laser printer label pages have ten rows of one-inch
labels that can be printed on a page.
After the last line on the bottom label is printed, a formfeed
character is sent to the printer to move to the next page. Laser
printers then eject the current page and start on the next. Dot
matrix printers advance the tractor feed paper to the next top-
of-page position before printing resumes.
When you have finished, press <F10> to continue on to the Label
Output Options screen, or <Esc> to return to the Label Sub-menu.
216 PRINTING LABELS
----------------------------------------------------------------------
Label Output Options
This screen contains various options which could not be specified
in the format definition because they do not control label
formatting. These options are all related to the label layout;
i.e. where to print the labels, how many to print for each
record, whether you want blank lines compressed out of the
labels, and which records you want to print labels for. The next
few paragraphs list the options and describe them in detail.
Registered Version has screen picture here
All the fields have the most commonly used default values, so
just press <F10> if all the options are correct. If your
computer system uses different options, it is not necessary to
change these fields every time you run labels. The default
values on this screen (as on many other screens) may be changed
to match your computer and printer. See the chapter titled
Customizing File Express for more information. The prompts on
this screen are discussed in the following paragraphs:
PRINTING LABELS 217
----------------------------------------------------------------------
Write to <S>creen, <P>rinter, <D>isk or <A>ll
Labels are always displayed on the screen. To write them to the
screen and nowhere else, enter <S>. To write them to the screen
and the printer, enter <P>. To write them to the screen and
disk, enter <D>. To send them to all three places, press <A>.
When <D> or <A> is entered, you are prompted for the Output File
name. Any valid DOS file name may be used. A drive letter, path
and extension may also be included. If they are omitted, the
file is written to the drive and path containing the currently
opened database, with no extension.
When <D>isk is specified, the characters written into the disk
file are identical to those going to the printer when <P>rinter
is specified. Consequently, the disk file may contain control
codes such as form feeds or compressed print. This allows the
disk file to be printed later using the DOS PRINT command or
other spooling utility. If you are writing the labels to disk to
edit with your word processor, these codes may appear in the word
processing document as special symbols, and may be removed.
Number of labels to Print for each Record
Ordinarily only a single label is printed per record, so the
default is set to 1. If an application requires more labels per
record, enter any number up to 999 in this field.
Some File Express users have discovered a way to print their own
personalized labels, such as return address labels, using this
option. To do this, define a label and type in your name and
address as text. On the Record Selection Screen enter F0=1.
Then at the Number of labels to Print for each Record prompt,
enter the number of labels you want to print. File Express then
prints that number of personal return-address labels.
Remove blank lines found within labels, <Y>es or <N>o
Sometimes there are gaps printed in a label when a field has no
information. For example, if a customer has no company name or
lives in a small town and has no address, a blank line appears in
the label. Specifying <Y>es for this option causes all lines
below the blank one to be shifted upward (for that label only) so
there are no gaps in the label. If you prefer that the blank
lines remain, enter <N>o for this option.
218 PRINTING LABELS
----------------------------------------------------------------------
<C>ontinuous printing or <P>ause after a row of labels
<C>ontinuous printing causes all the labels to print one after
another until they are finished. If <P>ause is selected, the
first row of labels print, then the message appears:
Press any key to print next label row, or <Esc> to exit
By feeding envelopes into the printer one at a time, addresses
can be printed directly on them.
Record Selection:
The final prompt on the Output Option screen controls the
selection of records for which to print labels. When you move to
this prompt, the Record Selection screen displays. This is a
familiar screen, identical to the one used when finding records.
To print labels for every record, enter "ALL". To print only
selected records, enter the selection criteria. For a detailed
discussion of the valid keywords and operands, see the section
titled Finding Records.
PRINTING LABELS 219
----------------------------------------------------------------------
Printer Options
File Express offers some addition printer options which you may
not need at first but are very handy when you do need them.
These options give you the capability of changing printer
definition files, printer ports, line and character spacing, and
optional printer control strings.
To pull up the Printer Options menu, press <Alt-S> while viewing
the Label Output Options:
Registered Version has screen picture here
Printer Definition File
Printer definition files (PDF files), contain all the printer
codes used by File Express to control the features of your
printer. If you do not select a printer, File Express uses codes
for an Epson MX80 printer, which are also used by many other
makes.
Many people have more than one printer connected to their
computer and need the capability of switching PDF files on the
fly so different labels can be sent to different printers.
To select a printer definition file, press <Alt-S> while viewing
the Printer Options window. A window pops up displaying a list
of all the PDF files found in the program directory. Move the
highlighted bar to the PDF file you want to select and press
<Enter>.
Printer port <1>, <2>, <3>, or <D>efault (LPTx)
If your computer has more than one printer, use this command to
route the labels to a second or third printer. File Express
defaults to LPT1, which is the standard device address for most
printers. If you have changed your printer definition file to
send your printer output to a port other than LPT1, the LPTx
shows your default port.
220 PRINTING LABELS
----------------------------------------------------------------------
Technical Note: Sometimes a computer has a serial printer
attached to its COM1 or COM2 serial port. Using the DOS MODE
command, it is possible to reassign LPT output to a COM port.
The MODE command must be entered each time your system is booted,
before printing. The MODE command is usually included in the
AUTOEXEC.BAT file of computers with serial printers. The command
is: MODE LPT#:=COMn where # is 1, 2 or 3 and n is 1 or 2. See
your DOS manual for more information. Labels can only be sent to
LPT devices.
Line spacing - <6>, <8> or <S>pecial lines per inch
Most printers are configured to print six lines per inch (LPI),
but have an option for selecting 8 LPI vertical spacing. A label
printed at 8 LPI is usually a bit harder to read because the
lines are much closer together. Sometimes 8 LPI causes the tops
of some upper case characters to touch the bottoms of characters
with descenders like p, j and y.
When you select <6> or <8>, File Express uses the printer codes
found in the current printer definition file. You can override
these codes by selecting <S>pecial.
<R>egular, <C>ompressed, <T>welve or <S>pecial pitch
If your printer is capable of printing in compressed or
twelve-pitch (sometimes called Elite) mode, selecting <C> or <T>
causes special printer control codes to be sent to the printer
before the labels begins. Most dot matrix printers have a
compressed print option which produces a much narrower character
than regular print, usually 17 characters per inch instead of the
standard 10 characters per inch. Many printers also have a
12-pitch or Elite font as well.
Selecting <S>pecial lets you change the default printer codes
normally used from the printer definition file. If your printer
has a switch or button on the front for selecting character
pitch, and you have set it to a pitch other than normal, specify
<S>pecial and blank out the default codes so that none are sent
to your printer overriding your switch settings.
Printer initialization string, <D>efault or <S>pecial
Sometimes it is desirable to send a sequence of characters to the
printer before the labels start printing, maybe to select a
special printer option or font. Users with laser printers might
use this option to set their printer to landscape mode. Users
with color printers might use it to select a ribbon color. Users
with multi-bin sheet feeders might need to select a special form.
Any characters may be entered into this field. For ASCII values
and special symbols, enclose the ASCII value in <> symbols. For
example, to set an Epson/IBM printer to emphasized mode requires
that an <Esc> followed by an upper-case E be sent to the printer.
PRINTING LABELS 221
----------------------------------------------------------------------
Enter <Esc>E in the initialization string so these codes are sent
to the printer before the labels start. For more information on
entering codes and characters into the initialization string, see
the Macro Key section.
Using the Setup program that comes with File Express, you can
enter a default initialization printer code. If you have done
this, press <D> to use it, or press <S> to change the code or
blank it out.
Printer reset string, <D>efault or <S>pecial
This string is sent to your printer after your labels have
printed. This can be used to reset any special printer features
that were set using the initialization string above.
When everything is correct on the Printer Options screen,
pressing <F10> or <Esc> returns you to the Label Output Options
screen.
When all the options on the Output Options screen have been
selected, press <F10>. After saving the label format your labels
begin printing. When the labels finish, this message displays:
Printing completed
x records used x labels were printed
If the message indicates that zero labels were printed, this
means there were no matches found for your selection criteria.
Press any key to return to the Label Menu.
222 PRINTING LABELS
----------------------------------------------------------------------
Labels For Other Applications
Mailing lists are by far the most popular use of File Express.
But there are many other business and personal applications for
labels. At Expressware we print labels from our Orders database
which are used as picking tickets by the shipping department. We
print labels from our Inventory database which are used as shelf
tags and case lot tags.
And it doesn't need an adhesive backing to be printed with the
Label program. Name tags, postcards, shelf tags -- anything
small with just a few fields can be printed. One File Express
user entered all the merchandise for his garage sale into a
database, then printed price tags for all the items on removable
labels. As each item was sold, he found the record in the
computer, updated the price, and printed the customer a receipt
on the spot. This shows that new applications for File Express
are limited only by your imagination and the length of your
extension cord.
Quick Labels
Quick Labels were briefly mentioned in the chapters on adding and
changing records. When new data is being entered into a
database, it is sometimes desirable to print a label for each new
record added. For example, at Expressware, we print a quick
label for each customer's order as it is entered into the Orders
database. The label contains the customer's name and shipping
address, and also has a line across the top indicating the order
date and products to ship. To print this Quick Label, the order
desk clerk enters the order information, then presses <Ctrl-L>.
The label prints immediately.
Quick Labels can also be printed when changing or viewing records
in the database. For example, when mailing correspondence to a
customer we search the Customer database for his record, then
press <Ctrl-L> to print a Quick Label.
The Quick Label feature can be used for more than just labels.
It can be used to print sales receipts, name tags, or just about
any document with a small amount of printed data. At Expressware
we have a quick label format to print Visa/Mastercard charge
slips.
Defining a Quick Label
A Quick Label is simply an ordinary label format that can be
printed anytime a record is displayed on the screen. To assign a
Label Format as a Quick Label, go to the Choose an Existing Label
option on the Label Menu. Highlight the format name you want to
use and press <Ctrl-L>. File Express prompts you for an
assignment number between 1 and 9 and displays the number on the
selection list. If you have more than one Quick Label assignment
PRINTING LABELS 223
----------------------------------------------------------------------
made, you will be prompted for the number when you want to print
a Quick Label later.
Maintenance
This chapter covers those functions of File Express which most
people use only occasionally. The Maintenance functions are
"overhead" in the sense that they are not part of the everyday
data entry and report printing process. But the occasional times
when you need one of these functions, you will be happy to find
that they are as easy to use as the rest of File Express.
The Maintenance Menu
To select the maintenance function, press <7> or <M> on the Main
Menu. The Maintenance Menu displays:
224 CHANGING THE DATABASE
----------------------------------------------------------------------
Changing Database Specifications
Menu choice <1> is used to change the format of your database.
You can change field names, field types, field lengths, number of
decimals, formulas, and edit masks. You can add new fields,
delete fields and move them around. All these things were
defined originally when the database was created.
It is common to define a database and start putting data into it,
then realize that a field is missing, or is too short, or has the
wrong format. When this happens it is not necessary to start all
over. Every aspect of a database can be changed at some time in
the future.
Here are some kinds of changes you may need to make, and an
explanation of how to make them:
FIELD NAME: Use the <C>hange option. Also remember to change any
formulas in reports which refer to the field by name.
FIELD TYPE: Use the <C>hange option.
FIELD LENGTH: Use the <C>hange option.
NUMBER OF DECIMALS: Use the <C>hange option.
ADDING A NEW FIELD: Use the <I>nsert option.
DELETING A FIELD: Use the <D>elete option.
MOVING A FIELD: Use the <M>ove option.
Before making extensive changes to a database's specifications it
is advisable to make a backup copy of the database. Data can be
lost or destroyed by a simple error in typing. For example,
intending to enlarge an address field from 20 to 30 characters,
if it were inadvertently entered as 3 characters, all the
addresses would be lost except for the first three characters. A
backup copy is the only recourse in this instance. The chapter
titled Backing Up Your Data gives detailed instructions on making
backups.
CHANGING THE DATABASE 225
----------------------------------------------------------------------
As we mentioned in the chapter titled Open A Database, this
Change screen is the same one used for defining a new database:
Registered Version has screen picture here
To change one of the fields, press <C> and this prompt appears:
Enter number of field to change ___
Type in the field number, and press <Enter>. The cursor moves to
the line containing that field's specifications. To change the
field's name, just type the new name over the old one and press
<Enter>. To leave the field name as it is, just press <Enter>.
The cursor advances to the Type column. A field's type can be
changed to any other valid type: <C>haracter, <N>umeric, <D>ate,
<F>ormula, <T>ext formula or <U>ser-defined. However, there are
some precautions to take when there are already records in the
database and a type is changed:
Converting to <N>umeric: before changing a field type to
<N>umeric, be sure all existing records have valid numeric
characters (digits 0-9, decimal, minus sign or space) in the
field before converting it. If the field length is greater than
14, the field can be converted to <N>umeric, but the field length
will be shortened.
Converting to <D>ate: Be careful with this kind of conversion.
File Express stores all dates in a YYYYMMDD format and converts
this format to the current default date format at display times.
To convert an existing field of another type to a date field, the
field must either be blank or contain valid dates in YYYYMMDD
format.
Converting to <U>ser-Defined: Be careful with this kind of
conversion also. File Express stores masked fields without their
masks. A phone number field with an entry of: (206)788-0932 is
226 CHANGING THE DATABASE
----------------------------------------------------------------------
stored as 2067880932. The mask characters are added at display
and print times. Any field converted to a User Defined type will
be handled in the same manner. This could cause unexpected
results.
Converting to <F>ormula or <T>ext-formula: After you have entered
all the changes to the database specification, select Item 4 on
the Maintenance Menu: Recalculate Database, which evaluates the
formula fields in all the records and puts the correct result in
them.
If a field type is changed and the data is not in the proper
format for that field type, reports and searches may yield
unpredictable results when referencing the field.
Next the cursor advances to the Length field. A field's length
can be changed by simply entering the new length. The maximum
value for this field varies depending on the field type, but File
Express indicates the maximum in its prompt message. <C>haracter
fields, <T>ext Formula fields and <U>ser-defined fields are
limited to a length of 1000. <N>umeric fields and <F>ormula
fields are limited to 14. <D>ate fields are automatically a
length of 8 or 10 depending on the current date format, so no
change is permitted. File Express also verifies that the total
record length does not exceed 4,000 characters.
For numeric fields, or those being changed to <N>umeric type, the
cursor stops in the format column and prompts for the number of
decimal places, which may be changed at this time.
After all the changes have been made, press <S> to save the
changes to disk. The changes are saved in the "Database Header"
file, called databasename.HDR. If field lengths are not changed
and fields have not been added, deleted, or moved, this process
takes just a few seconds.
CHANGING THE DATABASE 227
----------------------------------------------------------------------
If one or more field lengths are changed or if you have inserted,
deleted or moved one or more fields, File Express must read the
entire data file and rewrite it. This process can take several
minutes on large databases. Before the process begins, this
warning message appears:
Registered Version has screen picture here
The changes you make to a database format can be made to the
current database file or can be made to a copy of the current
file, thus creating a new database with the new format.
If you choose to make the changes to the current database, press
<1> or <R>. File Express makes all the changes you indicated and
returns you to the Maintenance Menu.
If you want to create a new database with the changes applied to
it, press <2> or <C>. File Express prompts you to: "Enter name
of new database _________". Fill in a new database name and
press <Enter>. File Express reads the data from the current
database and makes the changes and writes the information to the
new database file. When the process is complete, you are
returned to the Main Menu with the new database open.
As always, the <Esc> key exits the process. In this case back to
the Change Database screen.
228 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
Painting Custom Input Screens
The Paint option lets you redesigned the input screen so your
custom screen format is displayed when records are added or
changed. The Paint option is reached from the Maintenance Menu.
To select this option from the menu, either move the highlight
bar using the cursor keys, <Spacebar> or mouse to the Paint
option and press <Enter> or <P>. The View Menu appears:
CUSTOM INPUT SCREENS 229
----------------------------------------------------------------------
Editing an Existing View Screen
If you have previously defined Views for your current database,
you can display them for editing. When you do, a list of all the
currently defined Views appears in a selection window. To select
any View, move the highlighted bar to the desired line and press
<Enter> or type in the name of the View in the input area. The
View is displayed on the screen where you can make changes. The
editing process is described below under Painting a View Screen.
You can also load Views from other databases as a starting point
for the current database. While the View list is displayed,
press <Alt-U> to use a View from another database. File Express
pops up a window containing a list of all the database files in
the current data directory from which you can select an alternate
database to select Views from.
Deleting a View
To delete any View from the View List, move the highlight bar to
the View you want to erase and press <Alt-D>. File Express asks:
Delete this view [Y/N]? Y
If you are sure you want to delete the view, press <Enter> or
<Y>. To cancel the delete command at this point, press <N> or
<Esc>
Renaming a View
You can rename an existing View or change its description by
pressing <Alt-R> while the name is highlighted.
Defining a New View Screen
If you want to define a brand new View for the current database,
type a new name into the input area and press <Enter>. File
Express confirms that you want to define a new View and displays
a new, clean View Screen for you to define.
Set the Default View
To tell File Express the View you want to use when adding and
editing records move the highlight bar to the desired View and
press <Enter>. You can also set the default View while adding or
editing records by pressing <Alt-V>.
230 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
Painting a View Screen
Whether you are defining a new View screen or editing an existing
View to make changes, the process is the same. A blank View
screen looks like this:
Registered Version has screen picture here
There are 21 blank lines to work with on each of ten possible
pages that can be painted. Each line is 80 character long. The
default color is General Color as defined in the Setup program.
The top of the screen has a horizontal line defining the upper
limit of the screen. The bottom three lines of the screen are
reserved for option prompts and position indicators that are
described below.
Moving Around the View Screen
Moving around the screen is simply a matter of using the cursor
keys to move the blinking cursor to any position within the
paintable portion of the screen (21 lines x 80 columns). As you
move the cursor around the screen, there are position indicators
at the bottom right corner of the window displaying the current
row and column of the cursor. There is also a page indicator
that tells which of the ten possible pages you are on.
There are also several other keys that make it easier and quicker
to move around the screen:
<Enter> Pressing the <Enter> key moves the cursor down one row
and to column 1.
<Home> Pressing the <Home> key moves the cursor to the far
left side of the screen in the current row. If the
cursor is in column 1, pressing <Home> moves the cursor
to the upper left corner of the screen. (If you want
to quickly move to the upper left corner press <Home>
twice and you are there).
CUSTOM INPUT SCREENS 231
----------------------------------------------------------------------
<End> Pressing the <End> key moves the cursor to the position
following the last non-blank character on the current
line. If the cursor is already at the end of a line,
pressing <End> moves the cursor to the lower left
corner of the screen.
<Tab> The <Tab> key moves the cursor 5 positions to the
right.
<Backtab> The <Backtab> (Shift-Tab), moves the cursor 5 positions
to the left.
<Ctrl-PgUp>
<Ctrl-PgDn> These keys move the cursor to the top and bottom
of the screen in the current column.
<PgUp>
<PgDn> These keys move up and down through the ten possible
paint pages.
<Alt-D> Pressing <Alt-D> deletes the current line after asking
for confirmation to do so. All lines below the deleted
line are moved up to fill the void. Lines containing a
field cannot be deleted. To remove a line containing a
field, you must first delete the field. See Removing a
Field below.
<Alt-I> Pressing <Alt-I> inserts a new blank line above the
line where the cursor is. If there is text on the
bottom line (line 21), it is forced off the bottom of
the screen and is lost. If the bottom line contains an
input field, File Express does not let you insert a
line.
<Ctrl-R> Pressing <Ctrl-R> repeats the last text character
typed.
<Alt-Y> Pressing <Alt-Y> deletes the current page after asking
for confirmation. All pages below the deleted page are
moved up to fill the void.
<Alt-N> Pressing <Alt-N> inserts a new page above the current
page and all subsequent pages are moved down to make
room. If page ten is painted, File Express asks
permission before discarding it.
<Spacebar> The <Spacebar> key puts a blank at the cursor
position and moves one position to the right. The
<Spacebar> will not blank out an input field.
232 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
<Backspace> The <Backspace> moves the cursor one character to
the left and blanks any text character in that
position. Any text characters or single line
fields to the right of the cursor are pulled to
the left. If there is a window field to the right
of the cursor that crosses the current line, the
<Backspace> key only works as a <Left> key. The
<Backspace> key does not blank out an input field.
<Del> The <Del> key removes the character under the
cursor and pulls the remainder of the line to the
left. The <Del> key does not work if the cursor
is on top of an input field or to the left of a
window field.
<Insert> The <Insert> key toggles on and off the insert mode of
the cursor. When insert mode is turned on, the cursor
changes shape from a blinking line to a blinking box.
Any characters typed while in insert mode are inserted
at the current cursor position and the rest of the line
is moved to the right. If moving the rest of the line
to the right would cause an input field to be pushed
off the screen, inserting of further text is not
permitted. Also, if there is a window field to the
right of the cursor, inserting new characters is not be
allowed.
<F10> Pressing <F10> tells File Express you are finished
painting screens and want to save them.
When you are painting an input screen, a list of all the
available edit keys and their purpose is available on the help
screen by pressing <Alt-H>
Adding Text to the Input Screen
Additional text can be added anywhere on the input screen except
on top of fields. Simply move the cursor to the location where
you want to add text and type what you want.
If you type off the right edge of the screen, the text wraps to
the left side of the screen on the next line down.
Inserting Text
Text can be inserted into an existing string by putting the
cursor into insert mode. Pressing the <Insert> key toggles the
cursor in and out of insert mode. The cursor is a tall blinking
block when in insert mode. If the cursor is to the left of a
window field, or if inserting characters would push a field off
the screen, File Express does not let you insert characters.
CUSTOM INPUT SCREENS 233
----------------------------------------------------------------------
Deleting Text
Text can be deleted on a line by using the <Backspace> or <Del>
key. Both of these keys pull any trailing text to the left. If
the cursor is to the left of a window field, these keys do not
work. You must use the <Spacebar> to blank out unwanted
characters in this case.
Colored Text
You can change the color of the text being typed by using the
Paint and Color options. These are described below in the
section called Painting Color on the Screen.
Special Characters
To type special characters that are not found on the keyboard,
you must know the ASCII number that is assigned to it. These
codes can be found in Appendix B at the end of this manual. To
enter a special character you must hold down the <Alt> key and,
while doing so, type in the ASCII number on the numeric keypad,
and then let the <Alt> key up. The character appears at the
current cursor position. To enter the British Pound sign for
example, hold down the <Alt> key and type 156 on the numeric
keypad. When you let up the <Alt> key the character appears on
the screen.
Placing Fields on the Screen
File Express offers many different options when placing fields on
the View screens. Fields can be placed with or without their
field names, as sideways scrolling fields, or as window fields
that occupy a rectangular block on the screen and automatically
word-wraps when you are entering text. Fields can be placed
anywhere on the screen if there is enough room for the field
style selected. Fields can also be placed as either INPUT or
DISPLAY. A field placed for INPUT lets you enter information
into it when adding or editing records and can only be placed one
time in any particular database view. DISPLAY fields are a view-
only picture of a field that shows whatever has previously been
entered in an INPUT version of the same field. For example, you
might place your NAME field as an INPUT field on page one and as
a DISPLAY field at the top of page two and three to remind you
what record you are entering. DISPLAY fields can be placed any
number of times on any page.
Regular Input Fields
To place an INPUT field on the screen, move the cursor to where
you want the field located and press <Alt-F>. A window appears
on the screen with a list of all the fields for the current
database. The prompt at the bottom of the screen changes to:
Use the arrow keys to select a field then press <Enter>
234 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
To select the field you want to place on the screen, move the
highlighted bar to the desired field by using the <Up> and <Down>
cursor keys. (The <Spacebar> also acts as the <Down> key). When
you have highlighted the correct field, press <Enter>.
File Express displays another window containing all the options
for the field.
Field
Name & Field
Field in Window
To choose an option, move the highlight bar to it and press
<Enter> (or the left mouse button). Each option is described
below:
Field
Places just the field portion on the screen without the
field name. File Express then asks if you want the field to
be an INPUT or DISPLAY field. Press <I> or <D> accordingly.
The field is placed on the screen at the cursor position.
If the full length field does not fit between the cursor
position and any field to the right, or the right side of
the report, File Express prompts:
Field will not fit here, press <L> to change its display length
Pressing <L> puts the field into "rubber band" mode where
you can use the <Right> and <Left> cursor keys to contract
or expand the field within the area available. Press
<Enter> to "drop" the field in place. A field that has been
shortened in this manner becomes a sideways scrolling field
when input is done later. You can still enter text or
numbers to the full length of the field but the field will
scroll sideways as needed.
Both Field Name and Field
Displays the field name, followed by the field itself. File
Express asks if you want the field to be an INPUT or DISPLAY
field. Press <I> or <D> accordingly. The field name and
field are placed on the screen starting at the cursor
position. The field name itself is just text and can be
changed at any time by just typing over it. The field name
and field are separated by one space.
Window Field
If the length of a field is 40 characters or more you can
place the field on the screen as a Window field. A Window
field is a rectangular block that works much like a mini
CUSTOM INPUT SCREENS 235
----------------------------------------------------------------------
word processor. When you are entering information into this
type of field, it automatically word wraps the text as you
type it in. To create this type of field, press <W>. A
blinking rectangle of squares appears that is two rows tall
and 20 characters wide. The prompt at the bottoms tells you
to:
Use Arrow keys to stretch the WINDOW to size desired and
then press <Enter>
You can make the block taller and wider as long as the
height times width does not become greater than the length
of the field. You can stretch the window over text on the
screen if you like, but File Express does not let you cover
over any other field on the screen. When you have sized the
block as desired, press <Enter>. File Express then asks if
you want the field to be an INPUT or DISPLAY field. Press
<I> or <D>.
Display-Only Calculated Fields
File Express lets you define calculated fields that are not
actually part of the database record definition but are just
calculated and placed on the screen whenever a record is
being displayed. To create such a field, press <Alt-C>.
File Express prompts to:
Enter NAME of field? ___________
Type in a name, up to twelve characters, and press <Enter>.
File Express asks you to:
Enter TYPE of Calc field, <N>umeric or <T>ext? N
Select the appropriate field type. Next, File Express
prompts you to:
Enter FORMULA for this field:
Type in the formula you want calculated and press <Enter>.
If you want help or examples on the formula handler, press
<Alt-H>. The final two inquiries are:
Enter LENGTH of field?
and, if the field was numeric,
How many DECIMAL places?
The field is then placed on the screen at the cursor
position.
236 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
empty
CUSTOM INPUT SCREENS 237
----------------------------------------------------------------------
Changing Fields
Changing Field Attributes
Once a field has been placed on the painted screen, you can
remove it or change its display length. To make one of these
changes, move the cursor so that it is on top of the desired
field. When you have done this, a new prompt appears at the
bottom of the screen:
<Alt>: <R>emove <S>ize to display <O>rder fields
Removing a Field
To remove the field, press <Alt-R>. File Express blinks the
field and asks:
"Are you sure you want to REMOVE THIS FIELD (Y/N)? N"
If you are sure that you want the field removed from the painted
screen, press <Y>. The blinking field is erased. If the field
was preceded by the field name, the name remains on the screen
because it is just considered text. If you want to remove it,
you must blank it out using the <Spacebar>.
Changing the Field Display Length
To change the length of the field that is displayed on the View
screen, press <Alt-S> while the cursor is on top of the field.
The field starts blinking and the prompt at the bottom of the
screen changes to:
Actual field length=xx, Maximum Display length=yy, Display
length=<zz>
To change the display length of the field, use the cursor keys to
shorten or lengthen the blinking squares. A regular field (as
opposed to a Window field) may be shortened to one character or
lengthened to whatever fits on the screen or to its defined
length, whichever is less. (Note that the actual defined length
of the field is not being changed, just the length displayed.) A
field cannot be stretched over another field but can be stretch
over existing text on the screen. If the field is stretched over
text and then shrunk back, the overwritten text reappears. If
the field was placed as a Window field, the whole block blinks
and can be re-sized with the cursor keys. The minimum size for a
Window field is 2 rows high by 20 characters long.
A regular field, whose display length on the screen is less than
its defined length, becomes a sideways scrolling field. Excess
text that is entered at the right end of the field causes the
existing text to slide to the left. A Window field that has an
238 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
input block that is smaller than the size of the defined field
scrolls up and down like a word processor.
Input Order
As you place fields on the View screen, File Express keeps track
of their order. Later, when you are entering information into
the records of your database, File Express presents each field
in this same order. You can, however, change this input order by
pressing the <Alt-O> key. File Express asks:
Do you want to <S>et the field order or <T>est the order [S/T]?
Changing Field Input Order
To change the field input order, press <S>. File Express blinks
every field on the current page and the prompt at the bottom of
the screen changes to:
"Press <Enter> on each blinking field in new processing order.
<F10>-Finished"
Move the cursor to the field on the screen where you want to
begin input and press <Enter>. That field stops blinking.
Continue to move the cursor to successive fields in the desired
input order and press <Enter> on each one to freeze the blinking.
When you have completed every field on the screen, File Express
remembers the new order and tells you:
"All fields have been assigned new processing order ...press any
key".
This re-ordering applies only to the fields that are displayed on
the current screen. The input order of fields on other screens
are not affected. To change them, you must go to the other pages
and go through the same process.
Testing Input Order
To test the current input order of the fields on the current
screen, press <T>. File Express blinks the first field in the
input loop and prompts you to:
"Use arrow keys to loop through processing order. <Esc> when
done"
Pressing <Down> moves through the fields in their input order.
When the bottom is reached, File Express says:
"This is the LAST field on this page...press any key".
CUSTOM INPUT SCREENS 239
----------------------------------------------------------------------
To go back up through the fields in reverse input order, press
<Up>. When you have reached the first input field on the page,
File Express says:
"This is the 1st field on this page...press any key"
Press <Esc> when you are done.
Painting Color on the Screen
File Express lets you change the color of text on the View screen
pages. Each individual character can be changed if desired.
Press <Alt-P>. The prompt at the bottom of the screen indicates:
Paint mode is OFF, to toggle it ON press <P>
To change colors press <C>
Turning Paint On and Off: Press <P> to toggle the Paint option
ON and OFF. The current status of the Paint option is always
displayed at the bottom of the screen. When the Paint option is
ON, any characters that are typed or any characters that are
passed over with the cursor change to the current color. When
the Paint option is OFF, any characters typed remain whatever
color is in effect at the positions where the text is typed.
Moving the cursor around with the Paint option OFF does not
change any existing colors.
Changing The Current Color: To change the current color
selection, press <C>. The current color combination is displayed
at the bottom of the screen along with the prompt:
UP/DOWN change foreground, LEFT/RIGHT change background, then press
<Enter>
Use the <Up> and <Down> keys to change the foreground color and
<Left> and <Right> to change the background. As you do, the
color combination display changes. There are sixteen available
foreground colors and eight background colors:
240 CUSTOM INPUT SCREENS
----------------------------------------------------------------------
Foreground Colors Background Colors
Black Black
Blue Blue
Green Green
Cyan Cyan
Red Red
Magenta Magenta
Brown Brown
White White
Gray
Lt Blue
Lt Green
Lt Cyan
Lt Red
Lt Magenta
Yellow
Lt White
If the foreground color is the same as the background color, you
won't be able to see the color names printed in the window.
These color combinations should be avoided.
Drawing Lines
File Express has a powerful line drawing mode that makes it easy
to draw lines and boxes anywhere on your input screens. Two keys
control the Line options, <Alt-L> and <Alt-B>. Pressing <Alt-L>
toggles the Line option ON and OFF. The current status of the
option is always displayed at the bottom of the screen. When the
Line option is ON, you can use the cursor keys to move around the
screen drawing lines in the current Box style. Whenever a line
intersects another line, the correct intersection character is
automatically drawn for the current Box style.
Changing the Box Style
File Express provides eight different line drawing character sets
along with an option to ERASE lines as the cursor is moved. The
Box styles are:
Registered Version has screen picture here
The current Box style is always displayed at the bottom of the
screen. To change the style, press <Alt-B>. The character set
changes to the next style. Repeated pressing of <Alt-B> rotates
through the eight available Box styles and the ERASE option.
When you have selected the desired Box style and the Line option
is turned on, you can then use the cursor keys to draw lines and
CUSTOM INPUT SCREENS 241
----------------------------------------------------------------------
boxes. If the cursor is not at the point where you want to start
drawing, press <Alt-L> to turn the Line option OFF and then move
the cursor to the desired starting position and press <Alt-L> to
turn the Line option back on.
As you are drawing lines and boxes you should be aware of the
following rules.
Lines can be drawn anywhere on the screen except over
fields. This means that you can draw a line right over any
existing text that you have previously typed. Since Field
Names are considered text, they too can be overwritten by a
line or box.
When attempting to draw a line over an input field, the
cursor moves normally but no line is drawn until the cursor
moves off the input field. This also applies to Display and
Calculated fields.
Lines cannot be drawn off the top, bottom, left or right
edge of the screen.
If the Paint option is ON, lines are drawn in the current
color.
If the Paint option is OFF, lines are drawn in whatever
colors are on the screen in the positions the lines cross.
Saving or Canceling the View Screens
When you have finished laying out your input screen and are ready
to save it, press <F10>. File Express asks if you would like to:
Save all changes (Y/N)? Y
or <C> to continue
To resume editing the View screen, press <C>.
To exit without saving the View screens, press <N>.
To save the View screens, press <Y> or <Enter>. File Express
prompts for a View name and description and then saves everything
in the current data directory and returns to the View Menu.
A maximum of ten different views can be defined.
242 MACRO KEYS
----------------------------------------------------------------------
Macro Key Setup
File Express has built-in keyboard macro routines. Keyboard
macros provide an alternative to typing long strings of data
repeatedly. If the same data is entered repeatedly in your
database, you can define a keyboard macro that automatically
types the data when you press a function key. For example,
suppose you are constantly typing Fort Lauderdale, Florida into a
field in your database. You can set up a macro so that every
time the <F1> key is pressed, the words Fort Lauderdale, Florida
appear on the screen as if you typed them yourself.
There are two ways to define macro keys in File Express. One is
to type in the keys in the Macro Key Setup section and the other
is to record your keystrokes as you actually go through the
process you want the macro to duplicate.
MACRO KEYS 243
----------------------------------------------------------------------
Defining a Macro
To go to the Macro Key Setup section where you can define a Macro
or to edit an existing Macro, press <M> or <4> from the
Maintenance Menu to bring up the Macro Key List:
Registered Version has screen picture here
There are 36 Macro Keys that can be defined in File Express.
They are <F1> through <F9>, <Shift-F1> through <Shift-F9>, <Ctrl-
F1> through <Ctrl-F9>, and <Alt-F1> through <Alt-F9>. <F10>,
<Shift-F10>, <Ctrl-F10>, and <Alt-F10> are reserved by File
Express and cannot be use for Macro keys.
To edit an existing Macro key or to define a new Macro key, use
the <Up> and <Down> cursor keys and <PgDn> and <PgUp> to move the
highlighted bar to the desired Macro key and then press <Enter>.
When you press <Enter>, the prompt at the bottom of the screen
changes to:
Type in macro contents...then press <Enter>. <Alt-H> for Help.
You can now type in the contents of the Macro key. This should
contain exactly what you want to have typed as if it were being
entered from the keyboard when you press the Macro key in the
future. This can include any key on the keyboard including
cursor keys, tab keys, enter keys etc. It can even include other
Macro keys.
Text: Normal text and punctuation keys are typed in just as you
would enter them from the keyboard. If you want the Macro key to
enter Seattle, Washington, for example, you would just type:
Seattle, Washington
244 MACRO KEYS
----------------------------------------------------------------------
Control Keys: All other keys are entered by their name or
abbreviation and enclosed within angle brackets, <>. Below is a
list of all the available control keys that can be entered into a
Macro key:
Key: Description:
-------------- --------------------------------------------------
<Enter> The Enter key, often shown as a left pointing arrow
with a right angle to it.
<Esc> The Esc or Escape key.
<Up> The Up cursor key.
<Down> The Down cursor key.
<Left> The Left cursor key.
<Right> The Right cursor key.
<Home> The Home key.
<End> The End key.
<PgDn> The Page Down key.
<PgUp> The Page Up key.
<Tab> The Tab key.
<BTab> The Backtab key. Also known as <Shift-Tab>.
<Alt-A> Various option keys.
through
<Alt-Z>
<Ctrl-A> Various option keys.
through
<Ctrl-Z>
<F1> Macro keys.
through
<F9>
<F10> Used throughout File Express to indicate that a process
is finished.
<Shift-F1> Macro keys.
through
<Shift-F9>
<Ctrl-F1> Macro keys.
through
<Ctrl-F9>
MACRO KEYS 245
----------------------------------------------------------------------
<Alt-F1> Macro keys.
through
<Alt-F9>
<Ins> The Insert key.
<Del> The Delete key.
<Backspace> The Backspace key.
<MainMenu> This is a special macro command that enables you
to start a macro from any location in the program
and have the macro execute correctly. Whenever
this command is encountered, File Express returns
you to the Main Menu and then continues with any
further commands.
<Input> When this command is encountered in a Macro, File
Express pauses, pops up a small input window, and lets
you type in up to 50 characters. When you press
<Enter>, the characters are played back as part of the
Macro.
File Express translates the } symbol to an <Enter> key. Since
the <Enter> key is probably the most popular control key, the }
symbol (without brackets) is the same as <Enter>. If your
keyboard macro needs to actually enter the } symbol as part of
its data, enclose the symbol in brackets: <}>.
Complex keyboard macros can perform an entire series of
operations with a single keystroke. For example, with a single
macro key you can tell File Express to return to the Main Menu,
go to the Report section, select an existing report format, make
certain the Primary index is correct, print the report, and
return again to the Main Menu. This Macro key might look like
this:
<MainMenu>RCAnnual<Enter>PPxx<MainMenu>
Translated, this Macro means:
1. No matter where you are, return to the Main Menu.
2. Select the Report section by pressing <R>.
3. <C>hoose an existing report.
4. Type in the name of the desired report, Annual, and
press <Enter>.
5. Press <P> to print the report.
6. Press <P> again to send the output to the printer.
7. Press any key, <x> to start the printing.
8. Press any key again, <x>, at the end of the report
printout.
9. Return to the Main Menu again.
246 MACRO KEYS
----------------------------------------------------------------------
With a lengthy macro such as this one, it is sometimes necessary
to interrupt the processing before it finishes. While a keyboard
macro is running, press the <Esc> key to abort it. The remaining
macro keystrokes are flushed from the keyboard buffer, and
control is returned to the keyboard. If an operation is already
in process, such as printing a report, press <Esc> a second time
to cancel it.
If you have made changes to existing macros and you want to
revert to the set last saved to disk, press <R> to read them in.
The Keyboard Recorder
It is difficult and time-consuming to create large macros by
writing down the keystrokes then entering them one-at-a-time into
the text string on the Macro Setup screen. There is an easier
way to define macros without even leaving the screen you are
currently on.
Press <Alt-M> anywhere in File Express when you want to turn on
the Macro Recorder and have File Express automatically "remember"
each keystroke you make. When <Alt-M> is pressed this window
pops onto the screen:
Press Function Key to record into
F1 - F9 or Alt-F1- F9 or Ctrl-F1 - F9
or Shift-F1 - F9
Select one of the available Macro keys by pressing the function
key, and from that point forward, every keystroke you enter is
recorded into that Macro. When the macro recorder is on, you
will notice a low "blip" sound each time a key is pressed. This
serves as a reminder that macro recording is in progress. To
turn off the macro recorder after all your keystrokes have been
entered, press <Alt-M> a second time. A window appears
indicating that macro recording has ended and asks:
Save macro to disk (Y/N)? Y
If you would like to save your Macro recording for future use,
and have it loaded automatically each time you open the database
you are currently working with, press <Y>. If the macro is not
saved at this point, the macro is still available for use during
this session only. It will be lost when you exit File Express.
MACRO KEYS 247
----------------------------------------------------------------------
Using <Alt-M> you can quickly and easily define a keyboard macro
without even leaving the screen you are on. For example, a
database has several records which need to be changed because the
state code has erroneously been abbreviated AL for both Alabama
and Alaska. You start through the records, changing them one at
a time, and soon realize there are several hundred records to be
reviewed and changed. You could possibly use Search and Replace,
but you decide it's faster to do it with a keyboard macro.
You are in the Find/Edit Records section, looking at records
where STATE IS AL when you realize that a keyboard macro would be
helpful. You press <Alt-M> then <F1> to turn on the macro
recorder. Then you edit the current record and change it to AK.
Next you press <F10> to save the changes, and press <F> to search
forward and display the next record.
You have just recorded your first keyboard macro. Now press
<Alt-M> to turn off the recorder. When asked if you want to save
the macro, answer <N> because this is a one-time-only macro. If
the next record is also supposed to be changed to AK, just press
<F1>. The following macro is played back so you don't have to
type all the keystrokes by hand:
E<Home><Enter><Enter><Enter>AK<F10>F
Granted it's a small macro, and if you had to exit to the
Maintenance Menu to define it, you probably wouldn't have
bothered. But you were going to make these nine keystrokes
anyway, so by simply preceding them with <Alt-M><F1> and
following them with a second <Alt-M><N>, a macro was created.
It is not likely that macros like this one would be saved, since
it is small and performs a temporary, limited function. But the
Macro Recorder is often used for much more complex macros which
definitely need to be saved. For example, an inventory database
needs some maintenance done to it at the end of each year. The
maintenance is easy, but since it's only done once a year, nobody
remembers the exact sequence. So this year-end they play it
smart, turning on the Macro Recorder to permanently record the
exact process. Then, when next year-end rolls around, they only
need to remember that they made a macro a year ago.
248 RECALCULATING
----------------------------------------------------------------------
Recalculating The Database
If your database has formulas in it, sometimes it is necessary to
recalculate all of them. Formulas are automatically calculated
when a new record is added or when a record is changed, so most
of the time their contents are correct. But if a formula is
changed or added using the Change Database Specs option, the
formula values on the records need to be updated. Press <4> or
<R> to start the recalculation process. This process starts out
with a display of the Record Selection screen that is used to
specify the records you want to have recalculated. Enter the
appropriate selection criteria. For example, if you want to
recalculate the entire database, type in ALL. If you want to
recalculate just tagged records, type in TAGGED. (For more
detailed information on selection criteria, see the section
titled, Finding and Changing Records.)
After specifying the records to recalculate, the following screen
appears:
recalculating.... Progress: 19
Allow several minutes on large databases, because File Express
must search through the entire database looking for the records
you have selected, recalculated them, and rewrite them to disk.
Untagging All Records
To have File Express go through the entire database and clear all
the tags from all the records, press <5> or <U> on the
Maintenance Menu.
RECALCULATING 249
----------------------------------------------------------------------
Printing The Database Format
There are times when you would like to remember the exact format
of your database. How many fields are there? How long are they?
What formulas are used? To print the format of the current
database to either the screen or your printer, press <6> or <D>
on the Maintenance Menu. File Express asks:
Print to <S>creen or <P>rinter?
Pressing <S> causes the format report to be displayed on your
screen. Pressing <P> sends it to your printer. When a key is
pressed, a report is produced like this one of the TUTORIAL
database:
Registered Version has screen picture here
The one-character "overhead per record" added to the total record
length is an extra byte that File Express uses to mark tagged and
deleted records. It is automatically placed at the end of every
record.
250 PRINTER DEFINITION FILES
----------------------------------------------------------------------
Printer Definition Files
File Express supports hundreds of printers. The printer commands
for all these printers are contained in Printer Definition Files
(PDF's). The Printer Definition File Utility lets you select the
default PDF file, define new PDF files for printers that are not
included with the File Express package, and edit and delete
existing PDF files.
The Printer Definition File Utility menu looks like this:
PRINTER DEFINITION FILES 251
----------------------------------------------------------------------
Adding a PDF File
Press <1> or <A> to define a new PDF file to be used by File
Express. A PDF file consists of a printer port and seven printer
code strings:
Registered Version has screen picture here
Fill in the appropriate printer port on line 1 and the printer
codes for the listed features. The printer codes can be found in
your printer manual. Enter the codes in the same manner as you
would in a Macro. (See the Macro Key Setup section for complete
information). For example, the code for landscape mode on a HP
Laserjet II is an escape character followed by an ampersand, a
lower case l, the number one, and the number zero. This is
entered as:
<Esc>&l1O
Enter the commands for all the printer features, pressing <Enter>
at the end of each one. If you want to test the printer
commands, press <Alt-P>. A test page will be printed using all
the codes. When you are satisfied, press <F10> to save the new
file to disk. If you want to select this file as the Default PDF
file, use option 4 on the Printer Definition File Utility menu.
Editing a PDF File
To edit an existing printer definition file, press <2> or <E>.
The file is loaded and displayed on the screen. The window is
the same as the one used when adding a new PDF file. Make any
changes as needed. If you want to test the printer commands you
have entered, press <Alt-P>. A test page will be printed using
all the codes. Press <F10> to save the file.
252 PRINTER DEFINITION FILES
----------------------------------------------------------------------
To delete a printer definition file, press <3> or <D>. A window
pops up displaying a list of the existing PDF files. Highlight
the one you want to delete and press <Enter>. After
confirmation, the file is deleted.
Default PDF File
The default printer definition file is used by File Express
whenever it prints anything. This includes reports, labels,
database format printout, search & replace reports, etc. If you
have not selected a PDF or File Express can't find any PDF files,
it uses Epson printer commands as a default.
To select a printer definition file, press <4> or <S>. A window
appears listing the names of all the PDF files found in the
Program directory (where FE.EXE resides). Move the highlight bar
to the PDF file name you want to use and press <Enter>.
IMPORT/EXPORT/CLONE 253
----------------------------------------------------------------------
Import/Export/Clone
File Express offers many capabilities for bringing outside
information into a database, putting out information from
databases to other file formats and creating new databases from
existing ones. We use the words "Import", "Export" and "Clone"
because they are commonly used in many software programs to
denote the following functions:
IMPORT means to load data into File Express from another data
source which is in a different format. Maybe the data was
created by a spreadsheet program or word processor, or even
another database program. In some cases for example, if you are
converting from another database to File Express, you may first
have to unload your data from the other database using their
export utility, creating an intermediate file, perhaps in DIF or
SDF format. Then you import the intermediate file into your File
Express database. In other cases, you can directly import data
files from other programs into File Express.
EXPORT means to write data out to a file in a format that is
readable by other software programs. File Express supports
several of the industry standard formats for moving data between
programs, including ASCII Mail-Merge format, DIF format, Dbase,
Lotus 123, SDF format, and more. For example, if you want data
from your database to be loaded into a spreadsheet, you might
export the data to a DIF format, then load it into ExpressCalc or
another spreadsheet program that reads DIF formats.
CLONE means to use the data in one File Express database to
create a new File Express database. For example, you might clone
your database called CUSTOMERS to another one called SCHOOLS by
selecting only those records where:
name contains college or name contains university
Cloning may be used for much more than creating subsets of
databases. You can leave out some fields and add new ones into
the cloned database. You can change the lengths of fields and
move them around. You might use cloning to copy your entire
database to a new one, and rearrange some of the fields into a
new sequence.
254 IMPORT/EXPORT/CLONE
----------------------------------------------------------------------
pressing <Enter>, or pressing 8 from the Main Menu takes you to
the Import/Export Menu where you can then choose to Import a
file, Export a file, or Clone a file. A quicker way to get
directly to one of these sub-menus is to press I, E, or C from
the Main Menu. The first menu looks like this:
Registered Version has screen picture here
From this menu you can press <1> or <I> to go to the Import Menu,
<2> or <E> to go to the Export Menu, or <3> or <C> to go to the
Clone Menu or <4> to select a different Primary Index to use
while here.
IMPORT/EXPORT/CLONE 255
----------------------------------------------------------------------
We mentioned earlier that there are a number of industry standard
formats for moving data around between programs. A format
usually becomes a "standard" format because well-known software
packages use it.
Mail Merge (sequential)
File Express supports three different types of mail merge files.
The most common is the one we call "Standard Mail merge" format,
which is used by Microsoft BASIC, WordStar, and many other word
processors. Because of the popularity of BASIC and WordStar,
this format has become a standard for importing and exporting
data in most software programs. This format is sometimes called
comma-delimited, sequential, CDF, or standard ASCII format. Each
data field in a standard mail-merge file is separated by a comma,
and each record is on a new line (i.e. terminated with a carriage
return and line feed). Sometimes text has quotation marks around
it. Here are two examples of Standard Mail-merge files:
"John","Doe","123 Fourth Street, Apt 101","Seattle","WA","98119"
John,Doe,123 Fourth Street,Seattle,WA,98119
In the first example the address field has a comma in it.
Because the field is enclosed in quote marks, File Express
interprets the comma correctly as part of the address as opposed
to the beginning of a new field. The second example does not
have quotes surrounding the field contents so every comma is read
as the beginning of the next field. If the address field had a
comma in it, as it does in the first example, 123 Fourth Street
would be read as the address field and Apt 101 would be read as
the city field. Of course, every field after that in the record
would be shifted down one field, as would every record in the
rest of the database.
The second file type supported by File Express is the "Special
Mail merge" file, in which the comma is replaced by some other
character such as a slash or asterisk. For example:
"John"/"Doe"/"123 Fourth Street, Apt 101"/"Seattle"/"WA"/"98119"
John*Doe*123 Fourth Street*Seattle*WA*98119
256 IMPORT/EXPORT/CLONE
----------------------------------------------------------------------
This type of file has one field per line:
John
Doe
NWA Corporation
123 Fourth Street, Apt 101
Seattle
WA
98119
Mary
Smith
34 South 22nd Ave.
Seattle
WA
98167
This example contains seven fields per record. File Express can
only tell where a new record begins by counting the fields. A
blank line still counts as a field. The first seven lines are
the first record, the next seven lines are the second record,
etc. In this example, Mary Smith's record does not contain
information in the Company field.
WordPerfect Merge Files
The WordPerfect word processor from WordPerfect Corp. has its own
unique format for mail merge data, which File Express also
supports.
DIF Files
The DIF file format (DIF stands for Data Interchange Format) was
created by the developers of the first spreadsheet program,
VisiCalc, to support interchanging data between software
packages. It has become a popular standard for spreadsheet
programs, and is supported by Lotus 1-2-3, ExpressCalc and many
others.
IMPORT/EXPORT/CLONE 257
----------------------------------------------------------------------
Another format which File Express supports when importing and
exporting is the Fixed Length file. This is a file in which each
piece of information is contained in a specific number of bytes
or character positions regardless of how long the information is.
For example:
John Doe Portland OR97034
Jim Smith San FranciscoCA90356
WilliamJohnson New York NY06756
If you type a fixed length file out to the screen, the fields
will rarely line up in nice columns like the example above. We
have lined them up for you to show that each field takes up the
same amount of room. Typed to the screen, the file would look
more like this:
John Doe Portland OR97034Jim Smith San
FranciscoCA90356WilliamJohnson New York NY06756
Technical Note: If you are exporting Fixed Length files, it may
be of interest to you that your File Express data is stored in
fixed length format. Each record in your database is contained
in a file called xxxxxx.DTA (where xxxxxx is your database name)
as a fixed length record. Each field is stored adjacently as a
fixed length field, and the record is terminated with an
additional byte that is used to tag records or mark them as
deleted. Some users who require their data in fixed length
format can use the xxx.DTA file which contains their data without
doing an export.
SDF or Text Files
The SDF format is a variant of the Fixed Length format, and can
also be imported into or exported from File Express. SDF files
are fixed length, but have a carriage return and line feed at the
end of each record. This carriage return/line feed combination
is "invisible" when viewing the file with a word processor, but
actually occupies an additional two character positions.
Sometimes when importing a fixed length file, the data in the
fields is offset by one or more characters in each successive
record.This is usually because the length of one or more of the
fields was incorrectly specified, or because invisible carriage
returns and line feeds were not accounted for. If this happens,
either try again specifying SDF format, or specify an extra field
at the end of the record format for these unseen characters.
Lotus 123 Files
File format used by Lotus' spreadsheet program.
258 IMPORT/EXPORT/CLONE
----------------------------------------------------------------------
File format used by Ashton Tate's database program dBASE III and
dBASE III Plus
File Express Files
And last but not least, File Express supports the extremely
popular File Express Format. Using Import Menu choice number 7,
you can append another File Express database to the current
database. Using the Clone function you can copy databases to
other drives and directories and rearrange their contents.
IMPORTING 259
----------------------------------------------------------------------
Importing Into A Database
Press <I> from the Main Menu or press <1> or <I> from the
Import/Export Menu, and the following menu is displayed:
Registered Version has screen picture here
Before importing a file, be sure that the currently open database
is the one you want to import into. Data is imported directly
into the database that is currently open.
The Import Menu lists eight different file formats which File
Express can read and import. These formats were discussed in the
previous section. If you aren't sure what format your data is in,
consult the manual of the program that created them.
After selecting the type of file format to be imported, you are
asked for the name of the file. File Express automatically fills
in the path to the current data drive and/or subdirectory. If
the file you wish to import is in a different drive or
subdirectory, you can change it. Type in the complete file name,
including any extension, of the file to import and press <Enter>.
When importing records you can either have File Express add the
new records onto any existing records in your database or have
the new records replace the existing ones. To indicate that you
want to replace all existing records with the new ones, put a /R
at the end of the name of the import file. Example:
BOATLIST/R
The next screen varies depending on the file type selected. For
example, if you selected the "Mail merge" file type, File Express
asks you if all the fields of each record are on the same line.
If you are importing a "Standard mail merge" file or a "Special
mail merge" file, answer <Y>es. If you are importing a Peachtext
260 IMPORTING
----------------------------------------------------------------------
answer <Y>es, the next piece of information needed is the
character used to separate each field on the line. A "Standard
mail merge" file uses a comma, which is the default answer. If
the file you are importing uses a different character, answer
<N>o to the question and type in the new character.
File Express now begins the importing process by reading in the
first record and displaying it on the screen. For example:
Registered Version has screen picture here
Take a look at the record to ensure that all the fields are in
the correct place. If they are not correct, then either you have
selected the wrong type of file to import or the format of the
file does not match the database format you are pulling them
into. If either of these are the case, press <Esc> to cancel the
import, determine the error, correct it, and start again. Some
of the commonly encountered problems and their solutions are
discussed in the Troubleshooting section of the manual.
If everything looks alright and you want to import this
particular record, press <Y>es. File Express then reads and
displays the next record. If you are satisfied that the records
are being read correctly and you want to import the entire file,
you can press <G>o to have File Express continue importing the
remainder of the file without asking you about each individual
record. While this is happening, you can press any key to pause
the import and go back to the individual record permission mode
of operation.
While importing a file, each record is displayed on the screen so
that you can see that everything is progressing smoothly. Even
if you have pressed <G>o, each record is flashed to the screen
momentarily. Since this takes a little time, you can turn off
IMPORTING 261
----------------------------------------------------------------------
<D> toggles the display feature on and off).
Note the message line near the bottom of the screen which
indicates the total number of records in the current database and
the number of records that have been imported. Keep in mind that
if importing is interrupted, the records imported so far have
been added to your database, and remain there. When the
importing process is complete, this progress screen remains,
showing how many records were imported and how many records the
database contains now. Press any key to return to the
Import/Export Menu.
262 EXPORTING
----------------------------------------------------------------------
Exporting From A Database
Press <E> from the Main Menu or press <2> or <E> from the
Import/Export Menu, and the following sub-menu is displayed:
Registered Version has screen picture here
Before coming to this menu, be sure that the currently open
database is the one you want to export from. The Export Menu
lists seven different file formats which File Express can write.
These formats were discussed in an earlier section. If you
aren't sure what format you need, consult the manual of the
program you are exporting data to.
EXPORTING 263
----------------------------------------------------------------------
displays:
Registered Version has screen picture here
This screen lets you select the fields to send to the output
file. Enter the field numbers in the sequence they are to be
exported. A string of fields may be specified by entering the
from/to range of field numbers separated by a dash. For example,
1-5 is the same as entering 1<Enter> then 2<Enter> then 3<Enter>
then 4<Enter> then 5<Enter>. If you want to select all the
fields in the database, just type a dash <-> and press <Enter>.
When all the field numbers have been entered that you want to
export, press <F10> or <Enter>. The standard Record Selection
screen is displayed, asking you to Export all the records where:.
This screen is the same as the one used to find records and print
reports. Specify the criteria for selecting records, and only
those records which match the criteria are exported. Enter ALL
if you want all the records in the database to be exported.
Enter TAGGED or UNTAGGED to export just tagged or untagged
records.
264 EXPORTING
----------------------------------------------------------------------
file types. For example, if you selected "Fixed Length", File
Express gives you a chance to change any field lengths. After
responding to these special prompts, this screen displays next,
asking for the name of the file where the data is to be written:
Registered Version has screen picture here
If no drive or path is specified, the data is written into the
subdirectory where the currently open database resides. If an
extension is included, the file is written with that extension.
If no extension is included, the file is given one of the
following default extensions:
Standard Mail-merge .WS
Special Mail-merge .MM
Word Perfect merge .WP
DIF .DIF
Fixed length .FIX
Text Editor .SDF
Lotus 123 .WK1
dBASE .DBF
If you have used the tilde character in any fields as a
"flip-field-contents-here" mark, File Express can flip the data
while exporting. To enable the flip feature, put a /F at the end
of the output file name. Example:
MAILLIST.WS/F
EXPORTING 265
----------------------------------------------------------------------
you want to have all the fields from each record on the same
line. See the section titled Some Common File Formats if you
have any questions about how the file should look.
The exporting process now begins, and this screen displays:
Registered Version has screen picture here
When the exporting process is finished, this progress screen
remains, showing the record counts. Press any key to return to
the Import/Export Menu.
266 CLONING
----------------------------------------------------------------------
Cloning A Database
In its simplest form, the Clone option can copy a database from
one drive or subdirectory to another. By specifying various
options, the soon-to-be-created database format can be changed
from the original. It can have fewer records, the fields can be
shortened or lengthened, and fields can be added, deleted or
moved to a different sequence.
File Express offers two ways to clone a database into a new form.
Each has advantages over the other. The first method, and
perhaps the easiest one, is to use the Change Database Specs
option on the Maintenance Menu. This lets you add fields, delete
fields, move them around and change the types and lengths and
then write them out to a new database. This option does not let
you select which records are to be included in the new database.
All the records are copied. The second option, which is
described here, lets you do everything the first option does and
also select which records to include. It does not, however, let
you change field types or calculated fields. This can be done
after the clone is complete, however, using the Change Database
Specs option.
CLONING 267
----------------------------------------------------------------------
database is the one you want to clone from. Press <C> from the
Main Menu or press <3> or <C> from the Import/Export Menu, and
the following screen displays:
Registered Version has screen picture here
The box on the left lists all the fields in the currently open
database. The box on the right displays the fields of the output
database as you select them. Enter each field number to include
in the output database and press <Enter>. The field number with
its name and length appears in the box on the right and an X
appears in the box on the left showing the field has been
selected. A string of fields may be specified by entering the
from/to range of field numbers separated by a dash. For example,
<1-5><Enter> is the same as entering 1<Enter> then 2<Enter> then
3<Enter> then 4<Enter> then 5<Enter>. If you want to include all
the fields, just type a dash, <->, and press <Enter>.
Whenever you want to add a new field to the output database,
press <Alt-N>. You are prompted for the field name and length.
The field is given a field type of <C>haracter. If the field is
intended to be different type, such as numeric, formula, or date,
use the Change Database Specs option on the Maintenance Menu to
change the field's attributes after cloning and opening the new
database.
When all the field numbers have been entered, press <F10> or
<Enter> and File Express lets you change the length of any field.
Keep in mind that if you shorten a field, some of its data could
be lost.
The standard Record Selection screen displays next, asking you to
"Clone all the records where:". This screen is the same as the
one used to find records and print reports. Specify the criteria
for selecting records. Only those records which match the
268 CLONING
----------------------------------------------------------------------
want all the records in the database to be cloned.
File Express now prompts for the name of the output file. Enter
any valid database name. If the drive and path are excluded, the
new database is written to the subdirectory of the currently open
database. Do not specify an extension as File Express uses its
own extensions to identify database files. If a database already
exists with the name you specify, a warning message is given
allowing you to use a new name or overwrite the old database.
If you have used the tilde character in any fields as a
"flip-field-contents-here" mark, File Express can flip the data
while cloning. To enable the flip feature, put a /F at the end
of the output file name. Example:
NEWFILE/F
The cloning process now begins and you can watch the progress on
the screen.
When the cloning process has finished, this progress screen
remains, showing the record counts. Press any key to return to
the Import/Export Menu.
QUIT - EXIT TO DOS 269
----------------------------------------------------------------------
Quit - Exit to DOS
To quit File Express and return to DOS, press <9> or <Q> on the
Main Menu. File Express asks:
"Are you sure you want to Quit (Y/N)?".
Press <Y> or <Enter> to quit. Pressing <N> returns you to the
Main Menu.
Upon exiting, File Express clears the screen and displays the
following message:
Registered Version has screen picture here
Be sure to make regular backup copies of your databases. It's
not a matter of IF you will need them, it's only a matter of
WHEN. For more information, see the section titled Backing Up
Your Data.
270 QUIT - EXIT TO DOS
----------------------------------------------------------------------
empty
FORMULAS 271
----------------------------------------------------------------------
Formulas
Throughout this manual we have mentioned several times that a
formula might be entered in response to a particular File Express
prompt. But then the subject was dropped, referring you instead
to the chapter titled Formulas. You may have wondered why the
subject of formulas was shuffled to the back of the manual. Is
it because they aren't important? Is it because they are
complicated? The answer to both questions is: Yes and No.
No, formulas are not important to the beginning user. Even an
advanced user who maintains large mailing lists with File Express
may never need to use formulas. But as people use File Express
more, and for more varied applications, they eventually start
asking "can it do this...?" and "how do I...?". This chapter on
formulas, and the next one on Advanced Features are intended
primarily for the "power user" or advanced File Express owner.
So formulas are discussed at the back of the manual because they
aren't really important...at first.
In response to the second question: yes, formulas are
complicated, and that's why they're discussed back here with the
other technical topics. But complicated compared to what? People
who have used formulas in other software will find these
intuitive and extremely easy to use.
So once again it's a question of the user's familiarity with File
Express. Formulas get less complicated as you spend time
designing reports and databases. Nothing creates awareness of a
concept faster than not knowing how to do it. In other words,
File Express can't solve a problem until you recognize that it's
a problem. Once you recognize the need, come look in this
chapter.
And a final reason formulas have a chapter of their own is that
they are referenced so often, it wasn't practical to write about
them in every chapter. If we had, the manual would have been
twice this size. So here it is: everything you ever wanted to
know about Formulas.
In the chapter titled Finding and Changing Records we learned how
to locate a record by completing the sentence "Find all the
records where..." with a comparison. The words we entered had to
form a comparison, and that chapter explained in some depth just
how to form one. When you finished the sentence with a
comparison like ZIP IS 98, File Express used it to make a
complete formula like this:
If zip is 98 then read the record.
272 FORMULAS
----------------------------------------------------------------------
discussing in this section. So if you see some similarity in
finding records and entering formulas, that's because they use
the same formula routine. You will also see some similarity in
the documentation in this section and the Finding and Changing
Records chapter for the same reason.
When a formula is evaluated, the result is usually a piece of
data which can be printed, displayed on the screen or placed in
the database. Sometimes the resulting data is numeric, sometimes
it is text. Earlier we discussed various forms of the phrase
"State is WA". Is that a formula? Not exactly; it's really just
part of a formula: the comparison portion. If you included
"State is WA" on a report, the word "True" would print on records
whose state is WA, and the word "False" would print on the
others. More typical formulas on a report might be:
If State is WA then "No Income Tax"
If State is WA then Amount * .082
The first example might be used on a payroll report to indicate
that employees in Washington are not subject to state income tax.
The second example might be found on an invoice report, computing
state sales tax for customers who live in Washington. In both
cases, the result of the formula was not "True" or "False", but
some meaningful piece of data to be shown on the report: in one
case text, in the other a number.
Some Definitions
Before going any further, let's define the terms we will be
using. It is kind of like learning the parts of a sentence in
English class. It may be boring, obvious or interesting to you
but it is important.
Function:
A function returns an answer. The answer is either a text string
or a number. For example, the TODAY function returns the current
system date as a string of characters, (if the current date is
April 16, 1990, the string returned is "04-16-90"). As File
Express is evaluating a formula, it actually replaces every
occurrence of the function TODAY with the text "04-16-90".
Some functions require parameters (also known as arguments). A
parameter is a piece of information that the function might need
in order to return an answer. For example, the FUTUREDATE
function, which adds a certain number of days to a date and
returns the new date, requires two parameters: the date to start
from and the number of days to add to it. Parameters are placed
within parentheses right after the function name; FUTUREDATE("06-
01-90", 45) This example returns the new date: "07-16-90".
FORMULAS 273
----------------------------------------------------------------------
be used wherever a number or text string is allowed. As an
example we can combine the above two examples. Because the TODAY
function returns a date string, and the FUTUREDATE function
requires a date string as its first parameter, we can use the
TODAY function as that first parameter: FUTUREDATE(TODAY, 45)
returns the date 45 days from today's date.
We can take this "nesting" even further. For example, the
MONTHNAME function can accept a date parameter and returns the
name of the month portion of that date. If we want to find out
what month it will be 1269 days from now we could use the
following formula: MONTHNAME(FUTUREDATE(TODAY, 1269)). The
TODAY function provides the date to the FUTUREDATE function which
in turn provides the date to the MONTHNAME function which
provides the name of the month 1269 days from now.
The previous examples have been of text functions. Some
functions return numeric values. For example, the INSTR
functions returns the position within a string where a substring
is found. The parameters for the INSTR function are the string
to search and the string to search for. INSTR("ABCDABCD", "C")
returns a number 3 because the "C" is first found in the third
position. A text field from your database can also be used for
the first parameter. If you have a full name field and you want
to find the position of the first blank space, you could use:
INSTR(F1, " "), which would return an 8 if the field contained
"Marilyn Monroe" or a 4 if it contained "Abe Lincoln".
As shown in the previous examples, the INSTR function can be used
wherever a number is allowed. For example, the LEFT function is
a text function that returns the left part of a string. It
requires two parameters, the string and the number of characters
to get from the left end. Using the full name field example, if
you wanted to print just the first name you could use: LEFT(F1,
INSTR(F1, " ")-1). To find the answer for this formula, File
Express first finds the position of the first blank space with
the current contents of field 1, then it subtracts 1 from it and
returns that number of characters from the left end of field 1.
If the field contained "Michael Fox", the first blank is in
position 8. Subtracting 1 from 8 = 7. The left 7 characters of
the string are "Michael", just the first name. Of course, if the
field contained "Mr. and Mrs. Tom Jones", the formula would
return "Mr.", so you must know what kind of information is in the
field.
Statement:
A Statement does not return any kind of information. It simply
tells File Express to do something. For example, the Statement
NOLINEFEED tells the program that when you print this line of the
report, don't send a linefeed character at the end of it. The
274 FORMULAS
----------------------------------------------------------------------
current page, move to the top of the next page and continue
printing there.
FORMULAS 275
----------------------------------------------------------------------
A comparitor is used to compare two text strings or two numbers.
The equal sign is a comparitor, therefore it can be used to
compare two items to see if they are equal. For example, F1 =
F6 is true if the contents of field 1 and field 6 are the same.
(File Express ignores upper and lower case when doing a
comparison unless you specifically tell it not to). F1 > "m"
will be true for every record where field 1 has a content greater
than an "m", such as "Nancy" or "Zelda" or even "Mary" because
"Mary" is considered greater than just a single "m".
Another example of a comparitor is SOUNDS LIKE which is used to
search for words that sound like other words that are spelled
differently. F1 SOUNDS LIKE "smith" finds entries like "smit",
"smyth", and "smth".
Operators:
Operators tell File Express to do a mathematical or string
operation on two numbers or strings. 100 + F32 adds the number
100 to the numeric contents of field 32. F16 MOD 12 divides the
number in field 16 by 12 and then only keeps the remainder. The
colon operator can be used to indicate a range of fields without
having to type out each one. F1:F10 concatenates the contents of
the first ten fields and then treats them as if it was one field.
Note, however, that you should not use the equal operator in
conjunction with the colon operator. For example, if fields 1
through 5 contain "one ", "two ", "three ", "four ", and
"five ", F1:F5 results in "one two three four five ". If
you type F1:F5 = "four", File Express will not find any matching
records. Instead, you should use F1:F5 CONTAINS "four" to
instruct File Express to look anywhere in the concatenated field
group.
Logical Operators:
AND and OR are logical operators that are used to string together
multiple comparison. For example, if you wanted to search for
all your friends in California, you might use: State = "CA" AND
Category = "FRIEND". If you wanted to search for records from
Idaho, Utah, and Washington, you might use STATE = "ID" OR STATE
= "UT" OR STATE = "WA".
AND means the comparisons on either side must be true for the
combination of the two to be considered true. OR means that if
either comparison is true, the combination is considered true.
You might say to yourself that you want all the records from
Washington AND Idaho, but if you type STATE = "WA" AND STATE =
"ID", you won't find anything because there can't be any field
equal to both "WA" and "ID" at the same time. Use STATE = "WA"
OR STATE = "ID".
276 FORMULAS
----------------------------------------------------------------------
idea to use parentheses to make it clear what you really mean.
STATE = "WA" OR STATE = "ID" AND CATEGORY = "FRIEND" OR CATEGORY
= "WORK" will find all your friends in either state but will also
find all your co-workers in every state in the country because
the final OR applies to all the previous comparisons. To get
what you really want use: (STATE = "WA" OR STATE = "ID") AND
(CATEGORY = "FRIEND" OR CATEGORY = "WORK"). The parentheses make
it much clearer.
The remainder of this chapter is a reference section describing
each function, statement, comparitor and operator that File
Express permits.
& (Concatenate) 277
----------------------------------------------------------------------
PURPOSE: The '&' operator is used to combine two fields with one
space between them.
SYNTAX: text & text [ & text ...]
text = any field or text string enclosed in quotes.
TYPE: Operator, text, numeric
USE IN: Any Formula
COMMENTS: Leading and trailing spaces are removed from fields before
being combined with one space between them.
Blank spaces in quoted text strings are not removed.
Spaces are trimmed from numeric fields.
See the '+' (Plus) operator for more examples.
EXAMPLES: F1 & F2
If Field 1 contains "John" and Field 2 contains "Doe", this
formula returns "John Doe".
"Dear" & F1 + ","
Using information from the first example, this formula
returns "Dear John,".
F6 + "," & F7 & F8
If Field 6, Field 7 and Field 8 are the city, state and zip
code fields, this example might return "Duvall, WA 98019".
ALSO SEE: + (Plus)
278 + (Plus)
----------------------------------------------------------------------
PURPOSE: The '+' plus operator combines two text fields with no
spaces between them or mathematically adds two numeric
fields together.
SYNTAX: text + text [+ text ...] or number + number [+ number ...]
text = any character field or text string.
number = any numeric field, numeric function or numeric
constant.
TYPE: Operator, character, numeric
USE IN: Any Formula
COMMENTS: Leading and trailing spaces are removed from text fields
before being combined but spaces are not removed when using
constant text within quotes.
NOTE: The symbol, '+', is used for both adding numbers and
combining text. File Express performs the correct operation
according to the type of the fields being used. If the
first field is a character field, the fields are combined as
if they are both text fields. If the first field is
numeric, the fields are combined as if they are both
numbers. (A text field containing "John" is treated as a 0.
A text field containing "123ABC" is treated as the number
123.)
EXAMPLES: "Hello" + "Goodbye"
This formula returns "HelloGoodbye".
F1 + F2
If Field 1 is "John" and Field 2 is a numeric field
containing 123, then this formula returns "John123". If F2
+ F1 is used instead, then this formula returns 123 because
the first field being combined is numeric. ("John" will be
treated as 0, so 123 + 0 = 123.)
"Dear " + F1 + ","
If Field 1 contains "Tom", this formula will return: "Dear
Tom,". (Notice the space after the word DEAR enclosed in
quotes.)
ALSO SEE: & (Concatenate) and Math Operators
: (THROUGH) 279
----------------------------------------------------------------------
PURPOSE: The THROUGH or ":" operator specifies a range of fields.
SYNTAX: field : field
field THROUGH field
field = any valid field name or field number.
TYPE: Operator, character
USE IN: Any Formula
COMMENTS: The THROUGH operator combines all the fields in the
specified range and treats them as a single field. This
allows a range of fields to be searched using a single
search formula.
Leading and trailing spaces are NOT removed from fields
before being combined.
An entire record can be searched by specifying the first and
last field as the range.
EXAMPLES: Select all records where: F1 THROUGH F15 CONTAINS "SMITH"
If the database has fifteen fields per record, then this
formula searches the entire record for the name "SMITH".
F1:F3
If Fields 1, 2 and 3 each contain five characters long and
contain "David", "Sue " and "John " respectively, the
result is "DavidSue John " for a total length of 15
characters.
ALSO SEE: NONE
280 ADD ONLY
----------------------------------------------------------------------
PURPOSE: The ADD ONLY statement allows a formula to be calculated
only when the record is first being entered into the
database. (The formula is not recalculated when the record
is edited.)
SYNTAX: formula add only
formula = any valid formula.
TYPE: Statement
USE IN: DATABASE
COMMENTS: The ADD ONLY statement is useful if you only want a formula
to be calculated when the record is first being added into
the database.
If the ADD ONLY formula refers to another field which is
later changed, the formula is NOT recalculated. (If the ADD
ONLY statement is not used, the formula will be recalculated
if the record is edited.)
EXAMPLES: TODAY ADD ONLY
This is the most common use for the ADD ONLY statement.
This field maintains the date the record was first added
into the database. (If the date the record was first
created and the date the record is last updated are
required, use two formulas, one with ADD ONLY and one
without it.)
MONTH+ DAY+ LEFT(MILTIME, 2)+ RIGHT(MILTIME, 2) ADD ONLY
This formula can be used to produce a unique code every time
a record is added into the database. It combines the digits
for the month, day and the hour and minutes of the time when
the record is added. An example for this formula might be
12250400 which would be December 25 at 4:00 am.
ALSO SEE: NONE
AFTER 281
----------------------------------------------------------------------
PURPOSE: The AFTER comparitor is used to search for records with
dates that come after a certain date.
SYNTAX: date_field AFTER date_field
date_field = constant date or a date field.
TYPE: Comparitor, Date fields only
USE IN: IF/THEN Formulas and Record Selection
COMMENTS: You must use the BEFORE and AFTER comparitors when doing
date range searches. Date fields cannot be searched using
the "greater than" or "less than" comparitors because the
YEAR portion of the date, which is at the end, must be
looked at first. (The AFTER comparitor converts the dates
into the YYYYMMDD format to determine the correct result.)
Both dates must be in the same format as the default date
format.
EXAMPLES: Select all records where: F1 AFTER "04-15-90"
This example finds all records where Field 1 is after April
15.
Select all records where: F1 AFTER TODAY
This example finds all records where Field 1 is after the
current system date.
Select all records where:
F1 AFTER "12-31-90" AND F1 BEFORE "01-01-92"
This example finds all records where Field 1 is after
January 1st and before December 31st.
ALSO SEE: BEFORE, TODAY
282 AGE
----------------------------------------------------------------------
PURPOSE: To calculate the number of days between two dates.
SYNTAX: age(date[, date])
date = a date field or constant date.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: If the second date is omitted, the current system date is
used. (See the TODAY function for more information on the
system date.)
The first date must chronologically be before the second
date and they both must be in the default date format.
The AGE function returns the number of days between two
dates. To return the number of weeks, months or years,
divide the number of days by 7, 30 and 365 respectively.
For long time spans, use 30.4375 for months and 365.25 for
years to obtain more precise results.
Since File Express ROUNDs all numeric formulas to the
accuracy of the field (the number of decimals), the INT
function should be used with all AGE formulas to prevent
erroneous results.
EXAMPLES: AGE(F1)
If Field 1 is a birthday, this formula returns the age of
the person in days.
INT( AGE( F1) / 365.25)
This returns the persons age in years instead of days.
AGE(F1, F2)
Calculates the number of days between the first date and the
second date.
Select all records where: INT(AGE(F1,TODAY)/365.25) >= 18
If Field 1 is a birthday, this example selects all records
where the person is 18 or older.
ALSO SEE: FUTUREDATE
AND 283
----------------------------------------------------------------------
PURPOSE: The AND operator is used when making multiple comparisons to
tell File Express that all comparisons must be true before
considering the whole comparison true.
SYNTAX: comparison AND comparison [AND comparison ...]
comparison = any valid comparison statement.
TYPE: Logical Operator, character, numeric
USE IN: IF/THEN Formulas and Record Selection
COMMENTS: The AND operator is used when more than one comparison must
be true before the whole comparison is considered true.
For more help on building valid comparisons, see the chapter
titled "Finding Records".
See the 'OR' keyword for more examples.
EXAMPLES: Select all records where:
F1 AFTER "11-30-91" AND F1 BEFORE "01-01-92"
This example finds all records where Field 1 is any
December, 1991 date.
Select all records where: F3="A" AND F8="WA" AND
F10="MARRIED"
If Field 3 is a last name field, Field 8 is a state field
and Field 10 is a status field, then this example finds all
records where a married person with a last name beginning
with "A" lives in Washington state.
ALSO SEE: OR
284 ASC
----------------------------------------------------------------------
PURPOSE: The ASC function returns the ASCII value for a given
character.
SYNTAX: asc(text)
text = any ASCII character (including special symbols) or a
field which contains an ASCII character or string. The text
character must be in quotes.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: For a complete list of characters and their corresponding
ASCII values, consult the Appendix.
This function looks only at the first character of a text
string. If a string is empty, a 0 is returned.
This function is the opposite of the CHR function.
EXAMPLES: ASC("A")
Return the number 65.
ASC("BANANA")
Returns the number 66. (Remember, only the first character
is being evaluated.)
ASC("")
Returns 0.
ALSO SEE: CHR
.AVERAGE 285
----------------------------------------------------------------------
PURPOSE: The .AVERAGE function provides a numeric average for a
specified field.
SYNTAX: field.average
field = any numeric field.
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: The .AVERAGE function divides the accumulative total of the
field by the number of records printed so far in the report
(a running average).
For more examples, see the chapter titled "Report Writer".
EXAMPLES: F1.AVERAGE
If this formula is used in the Detail Section of a Report,
it returns a running average for Field 1. If this formula
is used in the Total Section, it returns the ending average.
ALSO SEE: .SUBAVERAGE
286 BEFORE
----------------------------------------------------------------------
PURPOSE: The BEFORE comparitor is used to search for dates that come
before a certain date.
SYNTAX: date_field AFTER date_field
date_field = constant date or a date field.
TYPE: Comparitor, date fields only
USE IN: IF/THEN Formulas and Record Selection
COMMENTS: You must use the BEFORE and AFTER comparitors when doing
date range searches. Date fields can't be searched using
the "greater than" or "less than" comparitors because the
YEAR portion of the date, which is at the end, must be
looked at first. (The BEFORE comparitor converts the dates
into the YYYYMMDD format to determine the correct result.)
Both dates must be in the same format as the default date
format.
EXAMPLES: Select all records where: F1 BEFORE "04-15-90"
This example finds all records where Field 1 is before April
15.
Select all records where: F1 BEFORE TODAY
This example finds all records where Field 1 is before the
current system date.
Select all records where: F1 AFTER "12-31-89" AND F1 BEFORE
"01-01-91"
This example finds all records where Field 1 is both after
December 31, 1989 and before January 1, 1991 (all of 1990).
ALSO SEE: AFTER, TODAY
BLANKLINE 287
----------------------------------------------------------------------
PURPOSE: The BLANKLINE statement forces a blank line in a report or
label.
SYNTAX: blankline
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: The BLANKLINE forces File Express to print a blankline.
This statement overrides the "Remove blank lines?" option on
the Optional Specifications Screen.
By using the BLANKLINE statement in conjunction with the
"Remove blank lines?" option, blank lines can be removed
from all but the desired locations on reports and labels.
EXAMPLES: BLANKLINE
This forces a single blank line.
IF LEFT(F1,1) <> LEFT(F1.PREV,1) THEN BLANKLINE ELSE NOPRINT
If the database is sorted alphabetically, this formula will
force a BLANKLINE every time the first character in
field 1 changes. (In other words, all a's will be grouped
with a blankline then all b's then all c's etc.
ALSO SEE: NONE
288 CENTER
----------------------------------------------------------------------
PURPOSE: The CENTER function is used to center text or fields when
printing Reports or Labels.
SYNTAX: center(text [ ,length])
text = a field or character string to center.
length (optional) = the number of spaces you want your text
centered within.
TYPE: Function, character
USE IN: Label Writer and Report Writer
COMMENTS: The CENTER function is commonly used to center text for
headings.
If the second parameter is omitted, the text is centered
within the defined field length.
For centering fields on reports and labels, the CENTERED
statement can also be used.
EXAMPLES: CENTER("Monthly Report",60)
This example centers the phrase "Monthly Report" within
sixty spaces.
CENTER(F1)
This example centers Field 1 within the defined field length
of Field 1.
ALSO SEE: CENTERED, LJUST and RJUST
CENTERED 289
----------------------------------------------------------------------
PURPOSE: The CENTERED statement is used to center a field when
printing Reports or Labels.
SYNTAX: field centered
field = any field or text formula.
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: The field or text is centered within the field's defined
field length.
For centering a field within the database, see the CENTER
function.
EXAMPLES: F1 CENTERED
This example centers Field 1 within the defined field length
of Field 1.
F1 & F2 CENTERED
This formula first combines Field 1 and Field 2 with one
space between them, and then centers the result within the
combined lengths of Field 1 and Field 2.
ALSO SEE: CENTER, LEFT JUSTIFIED, LJUST, RIGHT JUSTIFIED and RJUST
290 CHR
----------------------------------------------------------------------
PURPOSE: The CHR function converts a number to the corresponding
ASCII character.
SYNTAX: chr(number)
number = a number between 0 and 255.
TYPE: Function, text
USE IN: Any Formula
COMMENTS: This function can be used to send a character to the printer
which cannot be typed at the keyboard.
Common examples include embedding printer codes to send to
your printer or to embed special characters when creating
mail merge files.
For a list of all ASCII characters and their corresponding
ASCII values, see Appendix B.
EXAMPLES: CHR(27)
Returns the ASCII character 27 (or the ESCAPE character).
CHR(27)+chr(65)
Returns the ESCAPE character plus the letter 'A'. (For
EPSON printers, this is the code to turn on underlining.)
CHR(27)+"A"
This produces the same results as the previous example.
ALSO SEE: ASC
COMMAS 291
----------------------------------------------------------------------
PURPOSE: The COMMAS statement inserts commas into the billions,
millions and thousands places in a number.
SYNTAX: field [with] commas
field = a numeric field or formula.
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: File Express defaults to inserting commas into the
appropriate places when printing numbers. If the default
has been changed using the Setup program, commas may still
be inserted on a field by field basis using this statement.
(Because commas cannot be entered when entering numbers into
the database, this option can be used to place commas
correctly on printouts.
EXAMPLES: F5 WITH COMMAS
This example inserts commas into the appropriate places in
the numbers in Field 5. Example: "4532" is printed as
"4,532".
ALSO SEE: NO COMMAS
292 Comparitors
----------------------------------------------------------------------
PURPOSE: Use these keywords to compare fields.
SYNTAX: field Comparitor field
field = any valid field, constant, formula, function or
text.
TYPE: Comparitor, character, numeric
USE IN: IF/THEN Formulas and Record Selection
COMMENTS: Here is a list of the common Comparitors (for the special
comparitors, see the functions listed under "Related
Functions".)
Comparitor Alternate Description
---------- --------- -----------
= EQ Equal
IS Equal
ARE Equal
EQUAL Equal
> GT Greater than
< LT Less than
>= GE Great than or equal
<= LE Less than or equal
<> NE Not equal
NOTE: Most of the above examples may be proceeded by the NOT
keyword to negate the equation.
EXAMPLES: Select all records where: F7 = "WA"
This example selects all records where Field 7 is equal to
"WA".
Select all records where: F7 IS NOT EQUAL TO "WA"
This example selects all records where Field 7 is not equal
to "WA". (The formula: F7 NE "WA" is the same.)
ALSO SEE: AFTER, BEFORE, CONTAINS, EXACTLY and SOUNDS LIKE
CONTAINS 293
----------------------------------------------------------------------
PURPOSE: The CONTAINS comparitor is used to search for text embedded
within a field.
SYNTAX: field CONTAINS field
field = any text field or constant text.
TYPE: Comparitor, character
USE IN: IF/THEN Formulas and Record Selection
COMMENTS: A search using EQUALS only finds field contents that begin
with the search string. To find text anywhere within the
field, use CONTAINS.
CONTAINS is useful when searching a comment field (or any
other text field) when the possible match may be found
anywhere within the field.
EXAMPLES: Select all records where: F10 CONTAINS "manager"
This example searches Field 10 throughout looking for the
word "manager".
Select all records where: F1:F3 CONTAINS "cat"
This example searches Field 1 through Field 3 looking for
the word "cat". Valid matches might include "cattle",
"vacate", "dogcatcher", "communications", "photocatalyst"
and, of course, "cat".
ALSO SEE: INSTR
294 .COUNT
----------------------------------------------------------------------
PURPOSE: The .COUNT function provides a record count of the records
printed.
SYNTAX: field.count
field = any field.
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: The COUNT function counts the number of records printed.
The contents of the field being counted do not affect the
count. (i.e. numbers within a field do not affect the
count.)
This function returns the same number regardless of the
section of the Report it is used in.
See the .NBCOUNT function to exclude records where the field
being counted is blank.
Also see the chapter on the "Report Writer" for more
examples.
EXAMPLES: F1.COUNT
If this formula is used in the Detail Section of a Report,
it returns the running count of the records printed. If
this formula is used in the Total Section, it returns the
total number of records printed.
ALSO SEE: .NBCOUNT, .NBSUBCOUNT and .SUBCOUNT
DAY 295
----------------------------------------------------------------------
PURPOSE: The DAY function returns the day number.
SYNTAX: day[(date)]
date = any valid date field or constant date in the
currently defined date format.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the day from
the current system date. (For information on the current
system date, see the TODAY function.)
EXAMPLES: DAY
If the current date is "06-07-90", then this function
returns "7".
DAY(F1)
If "04-16-90" is the date in Field 1, this function returns
"16".
DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
If Field 1 has the date "04-16-90", this function returns
"Monday, April 16, 1990".
ALSO SEE: DAYABBV, DAYNAME, FORMATDATE, MONTHNAME, MONTHABBV, and YEAR
296 DAYABBV
----------------------------------------------------------------------
PURPOSE: The DAYABBV function returns the abbreviated day name.
SYNTAX: dayabbv([date])
date = any valid date field or constant date in the
currently defined date format.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the day
abbreviation for the current date. (For information on the
current date, see the TODAY function.)
The abbreviation is the standard first three letters with
the first letter capitalized and a period at the end. (See
examples.) To convert all the letters to upper case, use
DAYABBV with the UPPER function.
EXAMPLES: DAYABBV
If the current day is WEDNESDAY, this function returns
"Wed.".
DAYABBV(F1)
If "04-16-90" is the date in Field 1, this function returns
"Mon.".
UPPER(DAYABBV("04-16-90"))
This example returns "MON.".
DAYABBV(F1) + "," & MONTHABBV(F1) & DAY(F1) + "," & YEAR(F1)
If Field 1 has the date "04-16-90", this function returns
"Mon., Apr. 16, 1990"
ALSO SEE: DAYNAME, FORMATDATE, MONTHNAME, MONTHABBV, YEAR
DAYNAME 297
----------------------------------------------------------------------
PURPOSE: The DAYNAME function returns the spelled out day name.
SYNTAX: dayname[(date)]
date = any valid date field or constant date in the
currently defined date format.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the spelled
out day name for the current system date. (For information
on the current system date, see the TODAY function.)
The DAYNAME function returns the day name with the first
letter capitalized and the rest in lower case. (For the day
abbreviation, see the DAYABBV function.)
EXAMPLES: DAYNAME
If the current day is WEDNESDAY, this function returns
"Wednesday".
DAYNAME(F1)
If "04-16-90" is the date in Field 1, this function returns
"Monday".
UPPER(DAYNAME("04-16-90"))
This formula returns "MONDAY".
DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
If Field 1 has the date "04-16-90", this function returns
"Monday, April 16, 1990".
ALSO SEE: DAY, DAYABBV, FORMATDATE, MONTHABBV, MONTHNAME and YEAR
298 DOLLAR SIGN ($)
----------------------------------------------------------------------
PURPOSE: The DOLLAR SIGN statement adds a floating dollar sign to a
number.
SYNTAX: field [with] dollar sign
field = a numeric field or formula.
TYPE: Statement
USE IN: Report Writer
COMMENTS: The DOLLAR SIGN adds a dollar sign to the beginning of a
number.
The '$' symbol may be used in place of the "DOLLAR SIGN"
statement.
EXAMPLES: F5 WITH DOLLAR SIGN
This example adds a dollar sign to the output of Field 5.
Example: if it originally had the value "12.34", the text
printed is "$12.34".
F5 WITH $
This is the same to the previous example.
ALSO SEE: MONEY SIGN
EXACTLY 299
----------------------------------------------------------------------
PURPOSE: The "EXACTLY" comparitor is used to force a case sensitive
comparison.
SYNTAX: field = EXACTLY field
field = any text field or constant text.
TYPE: Comparitor, character
USE IN: IF/THEN Formulas and Record Selection
COMMENTS: Use the EXACTLY keyword when making comparisons if the case
is important.
The default for File Express is to ignore the case when
making searches.
EXAMPLES: Select all records where: F1 IS EXACTLY "Smith"
This example finds all matches where Field 1 is equal to
"Smith"; "SMITH" and "smith" are not valid matches.
Constant text must be in quotes.
ALSO SEE: NONE
300 FIRSTLINE
----------------------------------------------------------------------
PURPOSE: The FIRSTLINE function is used to see if the report is
printing the first Detail line on the current page.
SYNTAX: firstline
TYPE: Function, true or false
USE IN: Report Writer
COMMENTS: The FIRSTLINE function returns a true or false value
depending on whether or not the Report Writer is currently
printing the first detail line at the top of the current
page.
Since the FIRSTLINE keyword represents the first Detail line
of a page, it is not affected by the contents of the
Headings or Titles Section.
EXAMPLES: IF FIRSTLINE AND F1=F1.PREV THEN F1 & "(Continued)"
This formula prints Field 1 and the text "(Continued)" if a
new page is started and Field 1 is continuing from the
previous page.
ALSO SEE: LINE
FORMATDATE 301
----------------------------------------------------------------------
PURPOSE: The FORMATDATE function converts a date in the default
format to one of 93 different formats.
SYNTAX: formatdate(date, format_number)
date = any date field or constant date.
format_number = any number from 1 to 93. See Appendix E for
a list of all the format options.
TYPE: Function, character
USE IN: Report Writer, Label Writer
COMMENTS: The FORMATDATE function is used to convert a date from the
current default date format (either mm-dd-yy, mm-dd-yyyy,
dd-mm-yy, or dd-mm-yyyy), to one of the 93 formats offered
by File Express. See Appendix E for a complete list of all
the date formats offered.
EXAMPLES: FORMATDATE("12-25-89", 15)
This example converts the date to: "December 25, 1989"
FORMATDATE(TODAY, 40)
If today's date is "06-18-90", this function returns:
"Monday 18 June, 1990"
ALSO SEE: DAYNAME, DAYABBV, DAY, MONTHNAME, MONTHABBV, MONTH, YEAR
302 Functions, Math
----------------------------------------------------------------------
PURPOSE: To perform higher level math calculations.
SYNTAX: Math_Function(expression)
expression = any numeric constant, result, or field.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: The following is a complete list of the functions which make
up Math Functions:
ABS(expression) Absolute Value
ATN(expression) Arctangent
COS(expression) Cosine
EXP(expression) Exponent
INT(expression) Integer
LOG(expression) Natural Log
SIN(expression) Sine
SQR(expression) Square Root
TAN(expression) Tangent
For information on general math operators, see Math
Operators.
For complete information on the uses and rules of these
functions, consult a math reference manual.
EXAMPLES: INT(F1)
This example takes the integer of Field 1. If Field 1 is
10.53, the result is 10. (Note: the decimal value is
dropped, not rounded.)
SQR(F1)
If Field 1 contains a value of 144, the result is 12.
ALSO SEE: Math Operators, RANDOM, ROUND, SUM and VALUE
FUTUREDATE 303
----------------------------------------------------------------------
PURPOSE: The FUTUREDATE function calculates a date in the future.
SYNTAX: futuredate(date, days_in_future)
date = any date field or constant date.
days_in_future = any numeric field or constant number.
TYPE: Function, character
USE IN: Any formula
COMMENTS: The FUTUREDATE works on a days basis. To add a week to a
date, add 7 days; to add two weeks, add 14 days; to add a
year, add 365 days (or 365.25 days for long term dates).
To determine the number of days between two dates, use the
AGE function.
EXAMPLES: FUTUREDATE(F1,14)
This example adds two weeks (or 14 days) to the date in
Field 1.
FUTUREDATE(F1,365)
This example adds a year (provided it is not a leap year) to
the date in Field 1.
FUTUREDATE(F1,F5)
This formula adds the number of days in Field 5 to the date
in Field 1.
ALSO SEE: AGE
304 GRAPH
----------------------------------------------------------------------
PURPOSE: The GRAPH function produces a simple horizontal graph.
SYNTAX: graph(field_to_graph, scaling_factor [ , shading_factor])
field_to_graph = any numeric field, function or constant
scaling_factor = numeric field or constant
shading_factor = numeric field or constant
TYPE: Function, character
USE IN: Report Writer
COMMENTS: The shading value can be from 1 to 4. A 1 is a solid
character and a 4 is the lightest. If the shading value is
omitted, a solid character is printed. (Any value over 4 or
less than 1 also produces a solid character.)
The scaling factor is divided into the value to be graphed.
This is useful to scale down large numbers.
This function only works with printers which support the IBM
Graphics Character Set #2. If strange characters print
instead of graphic characters, then your printer is not set
to print IBM Graphics Character Set #2. (Consult your
printer manual or your printer company.)
EXAMPLES: GRAPH(F1,10)
This example graphs the value of Field 1 after it is scaled
down by ten.
GRAPH(F1,10,4)
This example produces the same result as in the previous
example but in the lightest possible shading.
GRAPH(F1,F2)+GRAPH(F5,F6,4)
This example produces two graphs next to each other. The
result is something like a stacked graph except it is laying
sideways. (Note: in this example, the '+' is being used to
combine the two text fields.)
ALSO SEE: REPEAT and SPACE
INSTR 305
----------------------------------------------------------------------
PURPOSE: The INSTR function returns the character position of a text
string within another text string.
SYNTAX: instr(character_field, text_to_search_for[ ,direction])
character_field = a character field which is to be searched.
text_to_search_for = the text string which you are searching
for.
direction (optional) = if direction is 0, the search is done
from left to right. If direction is any other number, the
search is done from right to left. If direction is omitted,
the search is done from left to right.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: When searching for a match, this function starts at the left
and moves to the right. It stops when it finds the first
match. If the direction option is used, File Express
searches from right to left. In either case, the number
returned is the character position counted from the left end
of the string. If no match is found, the result is zero.
See the LEFT and MID functions for more examples.
EXAMPLES: INSTR(F10,"-")
If Field 10 is "788-0932", this formula returns the value 4.
INSTR(F10,"8",1)
Using the phone number from the previous example, this
example searches from right to left and returns the value of
3, which is the position of the first "8" found from that
direction.
LEFT(F1,INSTR(F1,","))
Since the LEFT function extracts the left-most characters of
a text string. This formula will extract all the characters
up to and including the first comma. (The INSTR function
provides the character position for the first comma. This
example could be useful in situations where a last and first
name are in the same field with a comma separating them.)
ALSO SEE: CONTAINS and REPLACE
306 LEFT
----------------------------------------------------------------------
PURPOSE: The LEFT function is used to extract the left portion of a
text field.
SYNTAX: LEFT(text_field , number_of_characters_to_extract)
text_field = the character field you want to extract
characters from.
number_of_characters_to_extract = the number of characters
to extract starting from the left. This may be a number,
numeric field or numeric function.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: The result of this function can be used by itself or in a
formula.
EXAMPLES: LEFT(F8,2)
If Field 8 is "98007", then this formula returns "98".
Select all records where: LEFT(F8,2) > 58
If Field 8 contains zip codes, this formula returns all zip
codes which start with "59" or higher.
LEFT(F2,LENGTH(F2)-4)
If this is used in a Search and Replace formula, the affect
is the same as removing the last four characters. By
letting File Express calculate the length of each field
entry, this formula works with fields of varying lengths.
LEFT(F2,INSTR(F2," ")-1)
This formula returns all the characters up to, but not
including, the first space character. This is useful when
extracting a first name from a field which contains both
first name and last name. Example: If Field 2 is "John
Smith", this formula returns "John". (See MID function for
more examples.)
ALSO SEE: MID, REPLACE and RIGHT
LEFT JUSTIFIED (LJ) 307
----------------------------------------------------------------------
PURPOSE: The LEFT JUSTIFIED keyword is used to left justify fields
when printing through the Report Writer and Label Writer.
SYNTAX: field left justified
field = any field or constant value.
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: The field or constant is left justified to the field's
defined field length.
To left justify text within a database, see the LJUST
function.
Since numeric fields are normally right justified, this
keyword may be used to override this default.
EXAMPLES: F1 LEFT JUSTIFIED
This example left justifies the contents in Field 1 when
printing.
F1 LJ
This example produces the same output as the previous
example.
F1.TOTAL LJ
This formula left justifies the running total of Field 1.
ALSO SEE: CENTER, CENTERED, RIGHT JUSTIFIED, LJUST and RJUST
308 LENGTH (LEN)
----------------------------------------------------------------------
PURPOSE: The LENGTH function returns the length of a text string.
SYNTAX: length(text)
text = any character field.
TYPE: Function, numeric
USE IN: Record Selection and Search and Replace
COMMENTS: This function returns the length of a character field after
removing leading and trailing spaces. It can be used any
place a numeric value is required.
EXAMPLES: LEN(F1)
Returns the length of Field 1.
Select all records where: LENGTH(F10) > 5
This example selects all records where Field 10 has more
than five characters.
LEFT(F1,LEN(F1)-4)
This formula returns all but the last four characters from
Field 1. (See the LEFT function for more information.)
ALSO SEE: NONE
LINE 309
----------------------------------------------------------------------
PURPOSE: The LINE function returns the current line on which the
report or label writer is printing.
SYNTAX: line
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: If the LINE function is used by itself, it returns the
current line number on which the Report Writer is printing.
(Line 1 is the first line to print after the top margin.)
This is useful when initially designing a report. By using
this keyword in a formula, there is no guessing as to which
line is being printed. After the line numbers are
established, this formula can be deleted.
The LINE keyword may also be used in an IF/THEN formula.
EXAMPLES: LINE
This example returns the current line number of the report.
IF (LINE MOD 10) = 0 THEN LINE
This example prints the line number on every tenth line.
ALSO SEE: FIRSTLINE
310 LJUST
----------------------------------------------------------------------
PURPOSE: The LJUST function left justifies a field or text string.
SYNTAX: ljust(field_to_justify [ ,number])
field_to_justify = the field or character string to be left
justified.
number (optional) = the number of characters to left justify
within.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: If the number is omitted, the text is left justified to the
fields' defined length.
Blank spaces are used to pad the output to the appropriate
number.
Since numeric fields are normally right justified, this
function may be used to left justify them.
EXAMPLES: All of these examples left justify the field contents or
text.
LJUST("Hello",30)
This example returns "Hello ".
LJUST(F1,10)
This example pads Field 1 to ten characters.
LJUST(F1)
This example pads Field 1 to its defined length.
LJ(F1)
This is the same as the previous example.
ALSO SEE: CENTER, RJUST
LOOKUP 311
----------------------------------------------------------------------
PURPOSE: The LOOKUP function looks into another database to extract
information.
SYNTAX: lookup(database_name, field_to_search,
[>][<]search_criteria, field_to_return)
database_name = the name of the database to search (may
include drive and path). The database_name must be the
typed out name of the database. It cannot be a field name
or formula containing the name.
field_to_search = the field in the other database to search.
The field_to_search must be in the Fxx format. It cannot be
a field name.
search_criteria = the information to use for the search.
The search_criteria parameter can have one of the following
comparison signs preceding it:
=, >, <, >=, <=, ><, or <>. If a comparitor is not
specified, an exact match is looked for (disregarding upper
and lower case letters). The search_criteria can be
constant text enclosed in quotes, for example, "BASEBALL",
or a field number, F4, or a field name, BALANCE DUE.
field_to_return = the field contents to return once a match
is found. The field_to_return must be in the Fxx format.
It cannot be a field name.
TYPE: Function, character, numeric
USE IN: Database and Report Writer
COMMENTS: The LOOKUP function returns one field at a time.
When a LOOKUP is made, the record accessed is stored in a
buffer. The next LOOKUP checks this buffer for a possible
match before rechecking a database. Therefore, to decrease
lookup time, all LOOKUPs which reference the same database
should be grouped together.
If no match is found in the lookup database, a string of
asterisks is returned.
To put information into another database, use the UPDATE
statement.
312 LOOKUP
----------------------------------------------------------------------
EXAMPLES: LOOKUP(PRICES, F1, F1, F2)
In this example, PRICES refers to a database called PRICES
in the current data directory. The first F1 refers to Field
1 in the PRICES database, the second F1 refers to Field 1 in
the current record in the current database and the F2 refers
to Field 2 in the PRICES database. If F1 from the current
record contains "Lawn Mower", this example searches Field 1
in the PRICES database for "Lawn Mower". Once the match is
found, it returns the value in Field 2.
LOOKUP(C:\FE\DATA\PAYROLL, F1, >=Gross Pay, F2)
Here is an example of a payroll lookup table. The PAYROLL
database contains two fields per record, UPPER LIMIT and
TAX. The records are filled with payroll tax table bracket
amounts and their corresponding tax. For example:
UPPER LIMIT TAX
----------- ---
200 10
300 15
400 21
500 28
600 33
This example uses the PAYROLL database which is on Drive C
in the subdirectory \FE\DATA. It searches the UPPER LIMIT
field for a number that is greater than or equal to the
Gross Pay field in the current database and returns the
amount from the TAX field. If the Gross Pay was 390, the
example would return 21.
ALSO SEE: UPDATE
LOWER (LCASE) 313
----------------------------------------------------------------------
PURPOSE: The LOWER function converts all characters in a string to
lower case.
SYNTAX: lower(text_field)
text_field = a character field or character string.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: A field is converted to all lower case characters by using
this function. To convert data in an existing database, use
the Search and Replace option.
Only letters are affected. Numbers and other characters are
not changed.
EXAMPLES: LOWER("Hello")
This example produces "hello".
LOWER("HELLO 2 YOU")
This example produces "hello 2 you".
LOWER(F1)
This converts all letters in Field 1 to lower case.
ALSO SEE: PROPER, UPPER
314 LTRIM
----------------------------------------------------------------------
PURPOSE: The LTRIM function removes leading spaces from a text
string.
SYNTAX: ltrim(text_field)
text_field = a character field or character string.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: The LTRIM function removes all blank spaces up to the first
non-blank character from the left side of the string. It
does not remove blank spaces from the middle or the right
end.
EXAMPLES: LTRIM(" Tom ")
This example produces "Tom ".
LTRIM(" BJ THOMAS ")
This example produces "BJ THOMAS ".
LTRIM("Tom Smith")
This example produces "Tom Smith". (In this example, there
is nothing for the function to do.)
ALSO SEE: RTRIM, TRIM
Math Functions 315
----------------------------------------------------------------------
PURPOSE: To perform higher level math calculations.
SYNTAX: Math_Function(expression)
expression = any numeric constant, result, or field.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: The following is a complete list of the functions which make
up Math Functions:
ABS(expression) Absolute Value
ATN(expression) Arctangent
COS(expression) Cosine
EXP(expression) Exponent
INT(expression) Integer
LOG(expression) Natural Log
SIN(expression) Sine
SQR(expression) Square Root
TAN(expression) Tangent
For information on general math operators, see Math
Operators.
For complete information on the uses and rules of these
functions, consult a math reference manual.
EXAMPLES: INT(F1)
This example takes the integer of Field 1. If Field 1 is
10.53, the result is 10. (Note: the decimal value is
dropped, not rounded.)
SQR(F1)
If Field 1 contains a value of 144, the result is 12.
ALSO SEE: Math Operators, ROUND, SUM, RANDOM, VALUE
316 Math Operators
----------------------------------------------------------------------
PURPOSE: To perform basic math calculations on fields.
SYNTAX: number Math Operator number
number = any numeric field, numeric function or constant
numeric value.
TYPE: Operator, character, numeric
USE IN: Any Formula
COMMENTS: Operator Alternate Description
________ _________ ___________
+ PLUS Addition
- MINUS Subtraction
* TIMES Multiply
/ DIVIDED BY Divide
^ TO THE POWER OF To the power of
% PERCENT Percentage
\ REMAINDER, MOD Remainder
NOTE: The symbol, '+', is used for both adding numbers and
combining text. File Express performs the correct operation
according to the type of the fields used. If the first
field is numeric, the fields are numerically added
together.)
File Express calculates math according to the normal rules
of precedence. The order of precedence is as follows:
1. Lowest level of Parentheses (If parentheses are nested,
expressions inside the parentheses are performed in their
normal order starting with the lowest level.)
2. Math Functions
3. Exponents
4. Multiplication, Division and Remainders calculated from
left to right.
5. Addition and Subtraction calculated from left to right.
To force an expression to be calculated in a particular
order, use parentheses.
Math Operators 317
----------------------------------------------------------------------
EXAMPLES: F1 + 10
If Field 1 is numeric, this formula will add ten to it. If
it is a character field, it will concatenate "10" onto the
end of F1.
F1 - F2
This example subtracts Field 2 from Field 1.
((F1 - F2) + F3 ) * F4
Using the normal order of math precedence, this formula
first subtracts Field 2 from Field 1, then it adds Field 3
and finishes by multiplying the result by Field 4.
ALSO SEE: Math Functions
318 .MAX
----------------------------------------------------------------------
PURPOSE: The .MAX function returns the maximum numeric value found so
far in a report.
SYNTAX: field.max
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: The .MAX function returns the maximum numeric value found
for the field specified in the report. (Character fields,
unless they contain numeric information or begin with
numbers, equate to zeros.)
For more examples, see the chapter titled "Report Writer".
EXAMPLES: F1.MAX
This formula returns the maximum numeric value found for
Field 1 so far in the report.
ALSO SEE: .MIN, .SUBMAX and .SUBMIN
MID 319
----------------------------------------------------------------------
PURPOSE: The MID function is used to extract a portion of a string.
SYNTAX: MID(text, starting_position[, length_of_string])
text = character field, or string constant to extract from.
starting_position = character position to begin extracting
characters from.
length_of_string = number of characters to extract.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: If the length_of_string is omitted, File Express returns
all remaining characters in the string.
This function can be used any place a character string or
field is required.
EXAMPLES: MID(F1,5,3)
If Field 1 contains "123456789", then this formula returns
"567".
MID(F1,5)
Using the previous example, this formula returns "56789".
MID(F2,INSTR(F2," ")+1)
If Field 2 contains a first and last name separated by a
space, this formula returns all characters after the first
space. Example: If F2 is "John Smith", then the result is
"Smith". (Also see the LEFT function.)
ALSO SEE: LEFT, RIGHT and REPLACE
320 MILTIME
----------------------------------------------------------------------
PURPOSE: The MILTIME function returns the current time in military
(or 24 hour) format.
SYNTAX: miltime
TYPE: Function, character
USE IN: Any formula
COMMENTS: The MILTIME function returns the current time as stored in
your computer. To change the current time, you must be at
the DOS level and use the DOS TIME function. (For more
information, consult the TIME function in your DOS manual.
Computers without a clock battery must be set every time the
computer is rebooted.)
Also see the TIME function for AM/PM time format.
EXAMPLES: MILTIME
This function simply returns the current time in 24 hour
format. If this is a text formula in a database, the time
the record was last updated is stored here.
If this function is used in a Report, it prints the current
time when the report is printed.
MILTIME ADD ONLY
By using the ADD ONLY keywords, File Express calculates the
field only when initially ADDING the record. (It is not
updated when the record is edited, as in the first example.)
ALSO SEE: TIME and TODAY
.MIN 321
----------------------------------------------------------------------
PURPOSE: The .MIN function returns the minimum numeric value found so
far in a report.
SYNTAX: field.min
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: The .MIN function returns the minimum numeric value found so
far for the field specified in the report. (Character
fields, unless they contain numeric information or begin
with numbers, equate to zeros.)
For more examples of using this function, see the chapter
titled Report Writer.
EXAMPLES: F1.MIN
This formula returns the minimum numeric value found for
Field 1 up to the time it is printed.
ALSO SEE: .MAX, .SUBMAX and .SUBMIN
322 MINUTES
----------------------------------------------------------------------
PURPOSE: The MINUTES function returns the number of minutes from
midnight to the time specified.
SYNTAX: minutes(time)
time = any valid time in 24 hour format.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: The MINUTES function returns the number of minutes between
midnight and the time specified as the argument. The time
argument can be a quoted string containing a valid time,
"14:05" or a field name or number containing a time.
EXAMPLES: MINUTES(F1)
If field one contains "5:37" this formula returns 337.
ALSO SEE: TIMEDIFF
MONEY SIGN ($, , ) 323
----------------------------------------------------------------------
PURPOSE: The MONEY SIGN statement adds a floating monetary sign to a
number.
SYNTAX: field [with] money sign
field = a numeric field or formula.
TYPE: Statement
USE IN: Report Writer
COMMENTS: The MONEY SIGN adds a monetary sign (as selected in the
Setup program: $, , ) to the beginning of a number.
The $ or or symbol may be used in place of the "MONEY
SIGN" statement.
EXAMPLES: F5 WITH MONEY SIGN
This example adds a monetary sign to the output of Field 5.
Example: if it originally had the value "12.34" and the
current monetary sign is set to the British Pound sign, the
text printed is " 12.34".
F5 WITH
This is the same to the previous example.
ALSO SEE: DOLLAR SIGN
324 MONTH
----------------------------------------------------------------------
PURPOSE: The MONTH function returns the two digit month for the
current date or for the date specified.
SYNTAX: month[(date)]
date = any valid date field or constant date in the
currently defined date format.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the month
number from the current system date. (For information on
the current date, see the TODAY function.)
EXAMPLES: MONTH
If the current month is December, this function returns
"12".
MONTH(F1)
If "04-16-90" is the date in Field 1, this function returns
"04".
ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTHABBV, MONTHNAME, and
YEAR
MONTHNAME 325
----------------------------------------------------------------------
PURPOSE: The MONTHNAME function returns the spelled out month name.
SYNTAX: monthname[(date)]
date = any valid date field or constant date in the
currently defined date format.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the month name
for the current date. (For information on the current date,
see the TODAY function.)
EXAMPLES: MONTHNAME
If the current month is APRIL, this formula returns "April".
MONTHNAME(F1)
If Field 1 contains "04-16-90", this function returns
"April".
UPPER(MONTHNAME("04-16-90"))
This example returns "APRIL".
DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
If Field 1 contains the date "04-16-90", this function
returns "Monday, April 16, 1990".
ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTH, MONTHABBV and YEAR
326 MONTHABBV
----------------------------------------------------------------------
PURPOSE: The MONTHABBV function returns the abbreviated month name.
SYNTAX: monthabbv[(date)]
date = any valid date field or constant date in the
currently defined date format.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the month
abbreviation for the current date. (For information on the
current date, see the TODAY function.)
The abbreviation returned is the first three characters of
the month with the first character capitalized followed by a
period. (See examples.)
To convert the characters to upper case, use the UPPER
function.
EXAMPLES: MONTHABBV
If the current month is APRIL, this function returns "Apr.".
MONTHABBV(F1)
If Field 1 contains the date "04-16-90", this function
returns "Apr.".
UPPER(DAYNAME("04-16-90"))
This formula returns "APR.".
DAYABBV(F1) + "," & MONTHABBV(F1) & DAY(F1) & YEAR(F1)
If Field 1 contains the date "04-16-90", this function
returns "Mon., Apr. 16 1990".
ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTH, MONTHNAME and YEAR
.NBCOUNT 327
----------------------------------------------------------------------
PURPOSE: The .NBCOUNT function counts the number of records printed
so far in a report that are not blank. (This function is
read as "Non Blanks Count".)
SYNTAX: field.nbcount
TYPE: Function, numeric
USE IN: Report Writer
COMMENTS: The .NBCOUNT function counts the number of records printed
where the field specified is not empty. (The contents of
the field being counted does not make a difference on the
count (i.e. numeric fields and character fields are
counted the same- each as one.)
This function returns the same number regardless of the
section of the Report it is used in (i.e. the same values
are returned if used in the Detail, Total or Subtotal
Section.) For a running count, use this function in the
Detail Section.
Also see the chapter titled Report Writer for more examples.
EXAMPLES: F1.NBCOUNT
If this formula is used in the Detail Section of a Report,
it returns the running count of the records printed where
Field 1 is not blank. If this formula is used in the Total
Section, it returns the total count of records printed on
the entire report where Field 1 is not blank.
ALSO SEE: .COUNT, .NBSUBCOUNT and .SUBCOUNT
328 .NBSUBCOUNT
----------------------------------------------------------------------
PURPOSE: The .NBSUBCOUNT function counts the number of records
printed in the current subtotal group ignoring blank fields.
(This function is read as "Non Blank Subtotal Count".)
SYNTAX: field.nbsubcount
TYPE: Function, numeric
USE IN: Report Writer
COMMENTS: The NBSUBCOUNT function returns the count of the records
from the current subtotal level where the field referenced
is not blank.
The actual field contents do not have an affect on the
count. (i.e. character fields are counted the same as
numeric fields- each as one.)
If .NBSUBCOUNT is used in the Detail or Subtotal 1 section,
level 1 non-blank counts are generated. If used in the
Subtotal 2 section, level 2 non-blank counts are generated.
If used in the Subtotal 3 section, level 3 non-blank counts
are generated.
For more examples, see the chapter titled Report Writer.
EXAMPLES: F1.NBSUBCOUNT
This formula counts all records where Field 1 is not blank.
If this formula is used in the Detail Section of a Report,
it returns a running count of each subtotal group.
ALSO SEE: .COUNT, .NBSUBCOUNT and .NBSUBCOUNT
NEWPAGE 329
----------------------------------------------------------------------
PURPOSE: The NEWPAGE statement forces a new page.
SYNTAX: newpage
TYPE: Statement
USE IN: Report Writer
COMMENTS: By using the NEWPAGE in an IF/THEN formula, you can control
when File Express begins a new page.
If a line contains a formula that results in a NEWPAGE
keyword, File Express moves to the next page, prints the
Title and Header, if any, and then continues printing the
report.
EXAMPLES: NEWPAGE
Used by itself in a formula, File Express begins a new page
every time it is encountered. By using this formula on the
last line of the Detail section of a report, you can have
each record print in its own page.
IF F1 <> F1.PREV THEN NEWPAGE ELSE NOPRINT
This formula, placed on a line by itself, only prints a new
page every time the information in Field 1 changes. If
Field 1 does not change, then the NOPRINT will prevent
anything from printing. (If the NOPRINT is not used, you
will have a blank space print if the field does not change.)
ALSO SEE: NONE
330 NO COMMAS
----------------------------------------------------------------------
PURPOSE: The NO COMMAS statement prints numbers without commas.
SYNTAX: field [with] no commas
field = a numeric field
TYPE: Statement
USE IN: Report Writer
COMMENTS: The default setting for File Express is to insert commas
when printing large numeric fields. However, for some
numbers (such as an invoice number or zip code), it is not
appropriate to have the commas inserted. Use this keyword
to avoid the commas.
Remember, File Express can insert the commas in the
appropriate places when printing, but commas cannot be
included when entering the numbers. It must be left up to
File Express.
The default setting may be changed using the Setup program.
EXAMPLES: F5 WITH NO COMMAS
This example prints Field 5 without commas inserted into the
number. If Field 5 is a numeric field and contains an
invoice number of "122590123", this formula will prevent it
from printing as "122,590,123".
ALSO SEE: NO COMMAS
NOLINEFEED 331
----------------------------------------------------------------------
PURPOSE: The NOLINEFEED statement is used to prevent the paper from
being advanced on a line printer after a line is printed.
SYNTAX: nolinefeed
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: The NOLINEFEED statement causes the next line to overprint
the current line.
The statement is generally used to underline or double print
portions of a report. By not advancing the paper after a
line is printed, bold type and underlining can be
accomplished. (See examples.) Not all printer support
this option.
This statement affects the entire line regardless of where
it physically occurs on the line.
EXAMPLES: Line #1: "HELLO" NOLINEFEED
Line #2: "HELLO"
By placing "HELLO" in the same column on two consecutive
lines, the NOLINEFEED keyword causes "HELLO" to be printed
twice on the printout, making it darker. (Note: the text,
"HELLO", and the NOLINEFEED formula are two separate items,
they are not combined into one formula.)
Line #1: "HELLO Dave" NOLINEFEED
Line #2: " ____"
This example underlines just the word Dave.
ALSO SEE: NOPRINT
332 NOPRINT
----------------------------------------------------------------------
PURPOSE: The NOPRINT statement is used to stop a line from printing.
SYNTAX: noprint
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: The NOPRINT statement prevents the current line from being
printed. This keyword affects the entire line regardless of
where it physically occurs on the line.
By using NOPRINT in a formula, duplicate values can be
eliminated from printouts. See examples.
EXAMPLES: IF F1 <> F1.PREV THEN F1 ELSE NOPRINT
This formula compares the values of the current Field 1 with
the values from Field 1 of the previously printed record.
If they are different, the field is printed. If they are
the same, the entire line is not printed. If Field 1 is a
last name field, the report prints only the first occurrence
of each last name.
IF F1 <> F1.PREV THEN NEWPAGE ELSE NOPRINT
This formula moves to a new page each time Field 1 changes.
If Field 1 does not change, nothing is printed.
ALSO SEE: NOLINEFEED
NO ZEROS 333
----------------------------------------------------------------------
PURPOSE: The NO ZEROS statement forces File Express to print blanks
instead of zeros when printing numeric fields.
SYNTAX: numeric_field [with] no zeros
numeric_field = a numeric field or formula.
TYPE: Statement
USE IN: Report Writer
COMMENTS: This is the default for File Express. If the default has
been changed in the Setup program, then this keyword may be
used to print blanks on an individual field basis.
EXAMPLES: F5 WITH NO ZEROS
If Field 5 has a value of zero, this formula prints blanks
instead.
ALSO SEE: ZEROS
334 Operators, Math
----------------------------------------------------------------------
PURPOSE: To perform basic math calculations on fields.
SYNTAX: number Math Operator number
number = any numeric field, numeric function or constant
numeric value.
TYPE: Operator, character, numeric
USE IN: Any Formula
COMMENTS: Operator Alternate Description
________ _________ ___________
+ PLUS Addition
- MINUS Subtraction
* TIMES Multiply
/ DIVIDED BY Divide
^ TO THE POWER OF To the power of
% PERCENT Percentage
\ REMAINDER, MOD Remainder
NOTE: The symbol, '+', is used for both adding numbers and
combining text. File Express performs the correct operation
according to the type of the fields used. If the first
field is numeric, the fields are numerically added
together.)
File Express calculates math according to the normal rules
of precedence. The order of precedence is as follows:
1. Lowest level of Parentheses (If parentheses are nested,
expressions inside the parentheses are performed in their
normal order starting with the lowest level.)
2. Math Functions
3. Exponents
4. Multiplication, Division and Remainders calculated from
left to right.
5. Addition and Subtraction calculated from left to right.
To force an expression to be calculated in a particular
order, use parentheses.
Operators, Math 335
----------------------------------------------------------------------
EXAMPLES: F1 + 10
If Field 1 is numeric, this formula will add ten to it. If
it is a character field, it will concatenate "10" onto the
end of F1.
F1 - F2
This example subtracts Field 2 from Field 1.
((F1 - F2) + F3 ) * F4
Using the normal order of math precedence, this formula
first subtracts Field 2 from Field 1, then it adds Field 3
and finishes by multiplying the result by Field 4.
ALSO SEE: Math Functions
336 OR
----------------------------------------------------------------------
PURPOSE: The OR operator requires that only one comparison be true
for the statement to be considered true.
SYNTAX: comparison OR comparison [OR comparison ...]
comparison = any valid comparison statement.
TYPE: Logical Operator
USE IN: Any Formula
COMMENTS: The OR operator tells File Express that only one of several
comparisons must be true for the whole comparison to be
considered true.
For more detailed explanations on making formulas see the
chapter titled "Finding Records".
For more examples, see the "AND" keyword.
EXAMPLES: Select all records where: F8 = "92307" OR F8 = "92308"
This example selects all records where Field 8 (a zip code
field) is either equal to 92307 or 92308. Since the city of
Apple Valley has two zip codes, we must use the OR keyword.
If we had used AND, we would have been saying that Field 8
had to be equal to both 92307 and 92308 at the same time
(which, of course, it cannot be).
Select all records where: F7 = "WA" OR F7 = "OR" OR F7 =
"CA"
If Field 7 contains a state abbreviation, this formula finds
all records where the state is equal to Washington or Oregon
or California. (Also note that the abbreviation for the
state of Oregon is the same as the keyword. For this
reason, the quotation marks around the OR are required.)
Select all records where: F1 BEFORE "01-01-90" OR F7 = "Y"
This example finds all records where the date is before "01-
01-90" or where Field 7 is equal to "Y"
ALSO SEE: AND
PAGE 337
----------------------------------------------------------------------
PURPOSE: The PAGE function returns the current page number.
SYNTAX: page
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: The PAGE keyword is used to print the current page number on
a report.
EXAMPLES: PAGE
This formula prints the current page number.
"Page #" & PAGE
This formula prints the text, "Page #", followed by the
current page number.
ALSO SEE: NONE
338 PARENTHESES (PARENS)
----------------------------------------------------------------------
PURPOSE: The PARENTHESES keyword prints parentheses around a negative
number.
SYNTAX: field [with] parentheses
field = a numeric field or formula.
TYPE: Statement
USE IN: Report Writer
COMMENTS: The PARENTHESES keyword places parentheses around any
negative number.
To change the default bracket type, use the Setup program to
change the default settings.
When this keyword is used, positive numbers have an extra
space at the end to insure a proper lineup with negative
numbers. (See example.)
EXAMPLES: F5 WITH PARENTHESES
If the value in Field 5 is -43.21, then this keyword
produces (43.21). Here are examples showing the line-up
using this keyword:
"123.45" "123.45 "
"-999.99" "(999.99)"
"-1.23" "(1.23)"
"9,876.54" "9,876.54 "
The quotation marks are used here only to illustrate the
lineup and extra space positive numbers require when using
the PARENTHESES keyword. The quotation marks themselves
will not print.
ALSO SEE: NONE
.PREV 339
----------------------------------------------------------------------
PURPOSE: The .PREV function is used to access a field value from the
previously printed record.
SYNTAX: field.prev
field = field number or field name.
TYPE: Function, character, numeric
USE IN: Report Writer
COMMENTS: The .PREV keyword returns the value for the specified field
from the previous record printed, not the previous record in
the database.
This function works only in the Report Writer option of File
Express.
By accessing the value from the previous record, duplicate
records can be checked.
EXAMPLES: F1.PREV
This formula returns the value of Field 1 from the
previously printed record. This value can then be used in a
comparison formula (as in the next example) or used in a
mathematical formula.
IF F1 <> F1.PREV THEN F1 ELSE NOPRINT
This formula compares the value for the current records'
Field 1 with the previous records' Field 1. If they are
equal, then the line is suppressed. If they are not equal,
then the new Field 1 is printed.
ALSO SEE: NONE
340 PROPER
----------------------------------------------------------------------
PURPOSE: The PROPER function converts the first character of each
word to upper case and all other characters to lower case.
SYNTAX: proper(text)
text = a character field or character string.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: This function converts the first character and any
characters following a non alphabetic character to upper
case. If two characters are next to each other, such as
initials, only the first character is converted to upper
case. To avoid this, use periods to separate the letters.
EXAMPLES: PROPER("TOM JONES")
This example produces "Tom Jones".
PROPER("BJ THOMAS")
This example produces "Bj Thomas".
PROPER("B.J. THOMAS")
This example produces "B.J. Thomas".
ALSO SEE: LOWER and UPPER
RANDOM 341
----------------------------------------------------------------------
PURPOSE: The RANDOM function generates a random number.
SYNTAX: random
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: The RANDOM function is useful if random record selection is
needed.
The RANDOM function returns a random number between zero and
one. (See examples on how to generate a random number
between one and any number.)
To print records in a random order: 1) Add a formula field
to your database format containing the formula: RANDOM. 2)
Use the Recalculate Entire Database option from the
Maintenance Menu to generate the random numbers. 3) Create
an index with this new formula field as the sort field and
rebuild it. When you print, the records are printed in a
random order. To re-randomize the records, simply
recalculate the database and sort again.
EXAMPLES: RANDOM
Used by itself, the RANDOM function returns a number between
zero and one. (Such as 0.43632.)
Select all records where: F0 = (RANDOM * 100) + 1
This formula randomly selects records with a record number
between 1 and 100. (NOTE: the parentheses are not needed,
but they help to make the formula easier to read.)
ALSO SEE: NONE
342 RECORD NUMBER (F0)
----------------------------------------------------------------------
PURPOSE: The keyword RECORD NUMBER may be used to access the "Record
Number" as assigned by File Express.
SYNTAX: record number or F0
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: Because the record number is stored at the beginning of a
record, it may also be referred to as Field 0 (F0, as in
zero).
It is important to remember that the record numbers can
change by cloning. For that reason, it is recommended that
you do NOT rely on the record number.
EXAMPLES: Select all records where: RECORD NUMBER > 1000
This example selects all records where the record number is
greater than 1000.
Select all records where: F0 > 1000
This example produces the same results as the previous
example but with less typing.
ALSO SEE: NONE
REPEAT 343
----------------------------------------------------------------------
PURPOSE: The REPEAT function repeats a character.
SYNTAX: repeat(number, text)
number = the number of times to repeat.
text = the character or string to repeat.
TYPE: Function, character
USE IN: Label Writer and Report Writer
COMMENTS: The REPEAT function is handy for creating simple graphical
output when a "picture" is more practical than numbers.
The text to repeat may either be the ASCII value used in the
CHR function, a constant character or string enclosed in
quotes, or a field which contains a character or string.
For serious graphing requirements, use ExpressGraph, also
from Expressware. Data from File Express can be transferred
to ExpressGraph. Call Expressware for current information
on ExpressGraph.
EXAMPLES: REPEAT(F5,"$")
If Field 5 contains numbers representing dollar amounts,
this formula can be used to produce a simple bar graph with
the dollar sign. If Field 5 contains the number 6, then the
output would be "$$$$$$".
REPEAT(5,"----*")
This example returns "----*----*----*----*----*".
F4 + REPEAT(15-LEN(F1),".")
This example prints Field 4 followed by enough periods to
fill a fifteen character space. Example: "123 Main St .
. . .Seattle"
or "Box 1800. . . . . . .Duvall".
ALSO SEE: GRAPH and SPACE
344 REPLACE
----------------------------------------------------------------------
PURPOSE: The REPLACE function is used to replace a text string with
another text string.
SYNTAX: replace(field, search_for, replace_with[ ,times_to_replace])
field = the field to search and replace.
search_for = constant text or a character field to search
for. Be sure to put quotes around constant text.
replace_with = constant text or a character field to replace
with. Be sure to put quotes around constant text.
times_to_replace = the number of times to look for
search_for. If this parameter is not included, File Express
makes a maximum of one replacement.
TYPE: Function, character
USE IN: Search and Replace
COMMENTS: The fourth parameter, if used, instructs File Express to
replace that number of occurrences of the search_for text
within the specified field. If this option is not used,
only the first occurrence is replaced. To replace every
occurrence of a text string, use a large number like 999.
File Express stops after the last replacement automatically.
The text is replaced exactly as specified. If uppercase
characters are used, they are replaced as uppercase
characters.
If the search_for text is not found, no replacement is made.
EXAMPLES: REPLACE(F5,"MONDAY","TUESDAY")
This example replaces the first occurrence of the word
"MONDAY" with "TUESDAY" in Field 5.
REPLACE(F5,"T","-",2)
If Field 5 contains "Statement", then this formula returns
"S-a-ement".
ALSO SEE: LEFT, MID and RIGHT
RIGHT 345
----------------------------------------------------------------------
PURPOSE: The RIGHT function is used to extract the right-most portion
of a text string.
SYNTAX: right(text_field, number_of_characters)
text_field = the character field or string you want to
extract characters from.
number_of_characters = the number of characters to extract,
from the right side of the field.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: This function may be used any place that a text string is
required.
EXAMPLES: RIGHT(F2,4)
If Field 2 contains the company name "Expressware", this
function returns the string "ware".
ALSO SEE: LEFT, MID and REPLACE
346 RIGHT JUSTIFIED (RJ)
----------------------------------------------------------------------
PURPOSE: The RIGHT JUSTIFIED keyword is used to right justify a field
when printing.
SYNTAX: field right justified
field = any field or constant text.
TYPE: Statement
USE IN: Label Writer and Report Writer
COMMENTS: The field or text is right justified to the field's defined
length.
Character fields are normally left justified. This default
may be overridden by using the RIGHT JUSTIFIED keyword.
To right justify text within a database, see the RJUST
function.
EXAMPLES: F1 RIGHT JUSTIFIED
This example right justifies Field 1 within the defined
length of Field 1.
F1 RJ
This is exactly the same as the previous example.
F1 & F2 RJ
This example combines Field 1 and Field 2 with one space
between them and then right justifies the result within the
combined length of both fields.
ALSO SEE: CENTER, CENTERED, LEFT JUSTIFIED, LJUST and RJUST
RJUST 347
----------------------------------------------------------------------
PURPOSE: The RJUST function right justifies text within a field.
SYNTAX: rjust(field[, width])
field = the field or character string to right justified.
width (optional) = the number of characters to justify
within.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: If the width is omitted, the text is right justified to the
fields' defined length.
Since character fields are stored in the database left
justified, this function is commonly used when printing.
EXAMPLES: RJUST("Hello",30)
This example right justifies the word "Hello" to a width of
thirty spaces. (Example: " Hello")
RJUST(F1)
This example right justifies Field 1 to the fields' defined
width.
ALSO SEE: CENTER, CENTERED, LJUST, LEFT JUSTIFIED, and RIGHT JUSTIFIED
348 ROUND
----------------------------------------------------------------------
PURPOSE: The ROUND function is used to round off a number to fewer
decimal places.
SYNTAX: round(field, decimal_places)
field = any numeric field or result.
decimal_places = a numeric field or constant reflecting the
number of decimal places to round to.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: The ROUND function is used to reduce the number of decimal
places of a number. This is commonly done after calculating
dollar amounts to round tenths of a penny.
When you want to drop the decimal entirely, use the INT
function.
If a number is rounded to more decimal places than it
already has, there is no effect.
EXAMPLES: ROUND(F10 * .081,2)
This example multiplies the contents of Field 10 by .081
(the Seattle area's TAX rate) and returns the result to the
nearest penny.
ALSO SEE: INT
RTRIM 349
----------------------------------------------------------------------
PURPOSE: The RTRIM function removes trailing blank spaces.
SYNTAX: rtrim(text)
text = a character field or character string.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: The RTRIM function removes blank spaces after the last non-
blank character. It does not remove blank spaces between
words in the text string. (See examples.)
EXAMPLES: RTRIM("Tom ")
This example produces "Tom".
RTRIM(" BJ THOMAS ")
This example produces " BJ THOMAS".
RTRIM("Tom Smith")
This example produces "Tom Smith".
ALSO SEE: LTRIM, TRIM
350 SOUNDS LIKE (SL)
----------------------------------------------------------------------
PURPOSE: The SOUNDS LIKE comparitor allows searches to be made by
close matches instead of exact matches.
SYNTAX: field sounds like text
field = any valid field.
text = any valid field or text constant.
TYPE: Comparitor, character
USE IN: Record Selection
COMMENTS: A SOUNDS LIKE search is done by dividing the alphabet into
groups that sound similar and then assigning each group a
number. The first letter is taken as is, figuring people
generally use the correct first letter. Words are then
converted to numeric codes by taking the group number for
each letter. (Vowels and repeating consonants are ignored.)
Words that end up with the same code are considered to
"sound alike".
Due to the nature of the SOUNDS LIKE comparitor (also known
as Soundex), some very unusual results can be returned.
File Express uses the same phonetic grouping as defined by
the United States Standard Phonetic Alphabet.
EXAMPLES: Select all records where: F1 SOUNDS LIKE "SMITH"
This example finds matches such as "SMYTH", "SMTH", "SMIT",
"SMITHE", ""SNITH" etc.
ALSO SEE: NONE
SPACE 351
----------------------------------------------------------------------
PURPOSE: The SPACE function returns a given number of spaces.
SYNTAX: space(number)
number = the number of spaces to be returned.
TYPE: Function, character
USE IN: Any Formula
COMMENTS: The SPACE function is basically the same as the REPEAT
function, except it repeats only the space character.
EXAMPLES: SPACE(10)
This example returns ten spaces.
SPACE(30-LEN(F1))+F1
This example prints enough spaces in front of Field 1 to
cause it to line up with the thirtieth character position.
(Basically, this is the same as the RIGHT JUSTIFIED
function.)
ALSO SEE: GRAPH and REPEAT
352 .SUBAVERAGE
----------------------------------------------------------------------
PURPOSE: The .SUBAVERAGE function provides a numeric average for the
current subtotal level.
SYNTAX: field.subaverage
field = any numeric field.
TYPE: Function, numeric
USE IN: Report Writer
COMMENTS: The .SUBAVERAGE function divides the subtotal for the field
by the number of records in the subtotal group. Blank
fields in the records are counted.
If you want to exclude blank fields from the Average
calculation, use field.SUBTOTAL / field.NBSUBCOUNT.
For more examples, see the chapter titled "Report Writer".
EXAMPLES: F1.SUBAVERAGE
If this formula is used in the Detail Section of a Report,
it returns a running average for Field 1. If this formula
is used in the Subtotal Section, it returns the ending
average for each group.
ALSO SEE: .AVERAGE
.SUBCOUNT 353
----------------------------------------------------------------------
PURPOSE: The .SUBCOUNT function counts the number of records printed
so far in the subtotal group.
SYNTAX: field.subcount
field = any field or formula
TYPE: Function, numeric
USE IN: Report Writer
COMMENTS: The .SUBCOUNT function counts the number of records printed
since the last trigger field changed.
The actual field contents do not have an affect on the
count. (i.e. character fields are counted the same as
numeric fields; each as 1.)
If .SUBCOUNT is used in the Detail section or Subtotal 1
section, level 1 counts are returned. If used in Subtotal
2, level 2 counts are returned. If used in Subtotal 3,
level 3 counts are returned.
To count only non blank entries, see the .NBSUBCOUNT
function.
EXAMPLES: F1.SUBCOUNT
This formula counts the number of records printed. (It does
not matter which field is counted, i.e. F1.COUNT, F2.COUNT,
F3.COUNT, etc. all return the same number.)
If this formula is used in the Detail Section of a Report,
it provides a running count. In this way, consecutive
numbers can be generated in a printout.
ALSO SEE: .COUNT, .NBSUBCOUNT and .NBCOUNT
354 .SUBMAX
----------------------------------------------------------------------
PURPOSE: The .SUBMAX function provides the maximum numeric value
found for the current subtotal group.
SYNTAX: field.submax
USE IN: Label Writer and Report Writer
COMMENTS: The .SUBMAX function returns the maximum numeric value found
for the field in the current subtotal group. (Character
fields, unless they contain numeric information or begin
with numbers, equate to zeros.)
If .SUBMAX is used in the Detail section or Subtotal 1
section, level 1 maximums are returned. If used in Subtotal
2, level 2 maximums are returned. If used in Subtotal 3,
level 3 maximums are returned.
For more examples, see the chapter titled "Report Writer".
EXAMPLES: F1.SUBMAX
This formula returns the maximum numeric value found for
Field 1 in the current subtotal group.
ALSO SEE: .MAX, .MIN, .SUBMIN
.SUBMIN 355
----------------------------------------------------------------------
PURPOSE: The .SUBMIN function provides the minimum numeric value
found for the current subtotal group.
SYNTAX: field.submin
field = any field or formula
TYPE: Function, numeric
USE IN: Report Writer
COMMENTS: The .SUBMIN function returns the minimum numeric value found
for the field in the current subtotal group. (Character
fields, unless they contain numeric information or begin
with numbers, equate to zeros.)
If .SUBMIN is used in the Detail section or Subtotal 1
section, level 1 minimums are returned. If used in Subtotal
2, level 2 minimums are returned. If used in Subtotal 3,
level 3 minimums are returned.
For more examples, see the chapter titled "Report Writer".
EXAMPLES: F1.SUBMIN
This formula returns the minimum numeric value found for
Field 1 in the current subtotal group.
ALSO SEE: .MAX, .MIN and .SUBMAX
356 .SUBTOTAL
----------------------------------------------------------------------
PURPOSE: The .SUBTOTAL function provides a numeric subtotal.
SYNTAX: field.subtotal
field = any numeric value or field
USE IN: Report Writer
COMMENTS: The .SUBTOTAL function provides a subtotal based on the
numeric value of the field. (Character fields, unless they
contain numeric information or begin with numbers, equate to
zeros.)
The level of the subtotal generated depends on the section
in which it is used. (If used in the Detail or Subtotal 1
section, it returns a level 1 subtotal. If used in Subtotal
2 section, it returns a level 2 subtotal. If used in the
Subtotal 3 section, it returns a level 3 subtotal.)
For more examples, see the chapter title "Report Writer".
EXAMPLES: F1.SUBTOTAL
If this formula is used in the Detail Section of the Report,
it returns the running subtotal for Field 1. If this
formula is used in the Total Section, it returns the grand
total.
F1.SUBTOTAL / 100
If this formula is used in a Subtotal Section, it divides
the ending subtotal by 100.
ALSO SEE: .TOTAL
SUM 357
----------------------------------------------------------------------
PURPOSE: The SUM function is used when you want the sum of fields in
a range.
SYNTAX: sum(field, field) OR sum(field:field)
field = The first field is the beginning field of the range
and the second field is the ending field. All fields within
the range are added together.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: A comma or a colon may be used to separate the fields.
If there are any character fields within the specified
range, the VALUE of each field is used in the SUM function.
EXAMPLES: SUM(F1,F10)
This example adds Field 1 through Field 10.
SUM(F1:F10)
This example is exactly the same as the first.
ALSO SEE: + (Plus)
358 TIME
----------------------------------------------------------------------
PURPOSE: The TIME function returns the current time in standard AM/PM
format.
SYNTAX: time
TYPE: Function, character
USE IN: Any Formula
COMMENTS: The TIME function returns the current time stored in your
computer in AM/PM format. To change the current time, you
must be at the DOS level and use the DOS TIME function.
(For more information, consult the TIME function in your DOS
manual.
Also see the MILTIME function for military (or 24 hour) time
format.
EXAMPLES: TIME
If you have this function in a formula, it simply returns
the current time (i.e. 03:27 AM or 11:30 PM). If this
formula field is defined in your database, it updates the
time whenever the record is edited.
If this function is used in a Report, it prints the current
time when each record is printed.
TIME ADD ONLY
The ADD ONLY keywords tells File Express to calculate the
formula only when initially ADDING the record. (It is not
updated if the record is later edited.)
ALSO SEE: MILTIME and TODAY
TIMEDIFF 359
----------------------------------------------------------------------
PURPOSE: The TIMEDIFF function returns the number of minutes between
two times.
SYNTAX: timediff(time[, time])
time = any valid time in 24 hour format.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: If the second TIME is omitted, the default system TIME is
used. (For more information on the default TIME, see the
TIME function.) The default time is in 24 hour format.
If the second time is earlier than the second time, then it
is assumed that the time difference extends past midnight.
In this case, File Express adds 24 hours to the second time
to give the correct time difference.
The TIMEDIFF function returns the number of minutes between
the first TIME and the second TIME. To convert the number
of minutes returned to hours and minutes, use the divide and
MOD functions. (See examples.)
EXAMPLES: TIMEDIFF("09:00","17:00")
This example returns the number of minutes between 09:00
(9:00 am) and 17:00 (5:00 pm). The result is 480 minutes.
INT(TIMEDIFF("09:00","17:00")) / 60
This example divides the time difference by 60, this returns
the number of hours (8 in this example).
TIMEDIFF("23:00","00:30")
Even though this example extends past midnight, this formula
still returns the correct answer of 90.
ALSO SEE: AGE and FUTUREDATE
360 TODAY
----------------------------------------------------------------------
PURPOSE: The TODAY function returns the current date in the current
date format.
SYNTAX: today
TYPE: Function, character
USE IN: Any Formula
COMMENTS: The TODAY function returns the current date as stored in
your computer. To change the date, you must be at the DOS
level and use the DOS DATE function. (For more information,
consult the DATE function in your DOS manual. Computers
without a clock battery must have the date updated every
time the computer is rebooted.)
For more examples, see the AGE function.
EXAMPLES: TODAY
This formula simply returns the current date (i.e. "12-25-
90" or "25-12-1990" etc. depending on the current date
format as defined in the Setup program). If this is used as
a formula in a database, this updates the date each time the
record is edited.
If this function is used in a Report, it prints the current
date when the report is printed.
TODAY ADD ONLY
The ADD ONLY keywords tells File Express to calculate the
formula only when initially ADDING the record. (It is not
updated if the record is later edited.)
ALSO SEE: MILTIME and TIME
.TOTAL 361
----------------------------------------------------------------------
PURPOSE: The .TOTAL function provides a numeric total.
SYNTAX: field.total
field = any field
TYPE: Function, numeric
USE IN: Label Writer and Report Writer
COMMENTS: The .TOTAL function provides a total based on the numeric
value of the field. (Character fields, unless they contain
numeric information or begin with numbers, equate to zeros.)
For more examples, see the chapter titled "Report Writer".
EXAMPLES: F1.TOTAL
If this formula is used in the Detail Section of the Report,
it returns the running total for Field 1. If used in the
Total Section, it returns the grand total.
F1.TOTAL / 100
If this formula is used in the Total Section, it divides the
ending total by 100.
ALSO SEE: .SUBTOTAL
362 TRIM
----------------------------------------------------------------------
PURPOSE: The TRIM function removes leading and trailing spaces.
SYNTAX: trim(text)
text = a character field or character string.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: The trim function removes blank spaces before the first non-
blank character and after the last non-blank character. (It
does not remove blank spaces between words.)
EXAMPLES: TRIM(" Tom ")
This example produces "Tom".
TRIM(" BJ THOMAS ")
This example produces "BJ THOMAS".
TRIM("Tom Smith")
This example produces "Tom Smith". (Since there are no
leading or trailing spaces to remove, this formula does
nothing.)
ALSO SEE: LTRIM, RTRIM
UPDATE 363
----------------------------------------------------------------------
PURPOSE: The UPDATE statement puts information into another database.
SYNTAX: update(database, search_field, search_criteria,
field_to_put_to, what_to_put)
database = the name of the database to search (may include
drive and path, but no file extension). The database must
be the typed out name of the database. It cannot be a field
name or formula containing the name.
search_field = the field in the other database to search.
The search_field must be in the Fxx format. It cannot be a
field name.
search_criteria = the information to use for the search.
The search_criteria parameter can have one of the following
comparison signs preceding it:
=, >, <, >=, <=, ><, or <>. If a comparitor is not
specified, an exact match is looked for (disregarding upper
and lower case letters). The search_criteria can be
constant text enclosed in quotes, for example, "BASEBALL",
or a field number, F4, or a field name, BALANCE DUE.
field_to_put_to = the field number in the other database to
put information into. This must be in the Fxx format. It
cannot be a field name.
what_to_put = information to put into other database. This
can be a quoted text string, field name or field number.
TYPE: Statement
USE IN: Database
COMMENTS: When an UPDATE is made, the record accessed is stored in a
buffer. The next UPDATE checks this buffer for a possible
match before rechecking a database. Therefore, to decrease
search time, all UPDATEs which reference the same database
should be grouped together.
If no match is found in the other database, nothing is
written.
364 UPDATE
----------------------------------------------------------------------
EXAMPLES: UPDATE(PRICES, F1, F1, F2, F5)
In this example, PRICES refers to a database called PRICES
in the current data directory. The first F1 refers to Field
1 in the PRICES database, the second F1 refers to Field 1 in
the current record in the current database, the F2 refers to
Field 2 in the PRICES database, and F5 refers to field 5 in
the current database. If F1 from the current record
contains "Lawn Mower", this example searches Field 1 in the
PRICES database for "Lawn Mower". Once the match is found,
it puts the information from field 5 in the current database
into field 2 of the PRICES database.
UPDATE(C:\FE5\DATA\MAILLIST,F3,=name,F6, address)
This example uses the MAILLIST database which is on Drive C
in the subdirectory \FE5\DATA. It searches the third field
for a match with the information from the current records'
name field. Once a match is found, it puts into MAILLIST's
sixth field, the contents of current database's address
field.
ALSO SEE: LOOKUP
UPPER (UCASE) 365
----------------------------------------------------------------------
PURPOSE: The UPPER function is used to convert all characters to
upper case.
SYNTAX: upper(text)
text = a character field or character string.
TYPE: Function, character
USE IN: Label Writer, Report Writer and Search and Replace
COMMENTS: A field may be converted to all upper case characters by
using this function. This is commonly done when printing or
using the Search and Replace option.
EXAMPLES: UPPER("Hello")
This example produces "HELLO".
UPPER("hello")
This also produces "HELLO".
UPPER(F1)
This converts Field 1 to all upper case characters.
ALSO SEE: LOWER, PROPER
366 VALUE (VAL)
----------------------------------------------------------------------
PURPOSE: The VALUE functions returns the numeric value from a field.
SYNTAX: value(field)
field = any field.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: Generally this function is used on Character fields so that
the true numeric value in the field can be used.
The VALUE function starts on the left side of a character
field and continues taking numbers until it reaches the
first non numeric character.
If the character field does not start with a number, the
result is zero.
If the VALUE is taken on a numeric field, the result is the
numeric field. (Basically it does nothing.)
EXAMPLES: VALUE(F1)
If Field 1 contains "142", the result is 142.
VALUE(F5)
If Field 5 contains "125 Stella St.", the result is 125.
VALUE(F5)
If Field 5 contains "PO Box 1800", the result is 0.
ALSO SEE: SUM
YEAR 367
----------------------------------------------------------------------
PURPOSE: The YEAR function returns the four digit year for the
current date or for the date specified.
SYNTAX: year[(date)]
date = any valid date field or constant date.
TYPE: Function, numeric
USE IN: Any Formula
COMMENTS: If the date is omitted, this function returns the year from
the current system date. (For information on the current
date, see the TODAY function.)
EXAMPLES: YEAR
If the current year is 1990, this function returns "1990".
YEAR(F1)
If "04-16-90" is the date in Field 1, this function returns
"1990".
DAYNAME(F1) + "," & MONTHNAME(F1) & DAY(F1) + "," & YEAR(F1)
If Field 1 has the date "04-16-90", this function returns
"Monday, April 16, 1990".
ALSO SEE: DAY, DAYABBV, DAYNAME, FORMATDATE, MONTH, MONTHABBV and
MONTHNAME
368 ZEROS
----------------------------------------------------------------------
PURPOSE: The ZEROS statement tells File Express to print zeros
instead of blanks when printing numeric fields.
SYNTAX: numeric_field [with] zeros
numeric_field = any numerical field or formula.
TYPE: Statement
COMMENTS: The default for File Express is to print blanks instead of
zeros if a numeric field is equal to zero. The ZEROS
keywords can be used to override this default. (To change
the default, use the Setup program.)
When zeros are printed, enough zeros are used to maintain
decimal places.
EXAMPLES: F5 WITH ZEROS
If Field 5 is blank with no decimal places, the output is
"0".
F5 WITH ZEROS
If Field 5 is blank with 2 decimal places, the output is
"0.00".
ALSO SEE: NO ZEROS
ADVANCED FEATURES 369
----------------------------------------------------------------------
Advanced Features
This section discusses several of the more technical aspects of
File Express, which the average user does not usually need to
know. The section assumes the reader has a complete working
knowledge of DOS, File Express and EDLIN (or another text editor
or word processor).
Screen Dumps To Disk
As you probably know, the contents of the screen can be sent to
the printer by pressing the <Shift-PrtSc> key (this is a feature
of DOS and can be used with any program, not just File Express).
File Express has expanded on this concept, letting you send the
contents of the screen to a disk file. Whenever <Shift-F10> is
pressed on any screen in File Express, the screen's contents are
placed on disk in a file called SCREEN.DMP. If the file already
has data in it, the current screen dump is added at the end.
This screen dump file can be sent to your printer with the DOS
command:
COPY SCREEN.DMP PRN:
and can be deleted with the DOS command:
DEL SCREEN.DMP
and can be edited and printed with most word processors and text
editors.
370 ADVANCED FEATURES
----------------------------------------------------------------------
Custom Banner Screens
Because File Express is so versatile, many software developers
and value-added resellers use it as a starting point for their
own vertical market applications. At the request of these
developers, we have added a custom banner screen option to the
File Express start-up process. After File Express displays its
own banner screen, it checks the selected subdirectory to see if
there is a file called BANNER on disk. If such a file exists, it
is loaded and displayed on the screen.
The format of the BANNER file is fairly simple. The first line
contains three numbers, separated by commas. The first number
indicates the length of time, in seconds, to pause after
displaying the custom banner. If the first number is zero, File
Express pauses until a key is pressed. The second number
indicates the foreground color to be used for the banner display.
The third number indicates the background color.
The second and subsequent lines of BANNER are read and displayed
on the screen using the colors specified. If the computer has a
monochrome board, or if the operator specified /M at start-up,
the custom banner screen is displayed in white characters on a
black background.
Referring to the table below, the foreground color value may be a
number from zero to fifteen. The background color value may be
from zero to seven:
0 Black 8 Gray
1 Blue 9 Light Blue
2 Green 10 Light Green
3 Cyan 11 Light Cyan
4 Red 12 Light Red
5 Magenta 13 Light Magenta
6 Brown 14 Yellow
7 White 15 High-intensity White
To create the BANNER file, use a text editor and place the file
in the same subdirectory as the File Express program files.
ADVANCED FEATURES 371
----------------------------------------------------------------------
Example:
Line 1 :0,7,1
Line 2 :
Line 3 :
Line 4 :
Line 5 :
Line 6 : Joe's Database Service
Line 7 :
Line 8 :
Line 9 :
Line 10: Fishing Holes in the USA
Line 11:
Line 12:
Line 13:
Line 14: 206-555-7385
Line 15:
Line 16:
Line 17:
Line 18:
Line 19:
Line 20:
Line 21: ...press any key to continue
Line 22:
Line 23:
Line 24:
Line 25:
The example above displays the banner screen in white letters on
a blue background and waits for a key to be pressed before
continuing.
372 ADVANCED FEATURES
----------------------------------------------------------------------
Customizing File Express
This section describes the profile feature of File Express. Many
aspects of File Express can be tailored to special environments
or personal tastes. For example, all the colors used for File
Express screens and menus can be changed. Defaults, such as the
disk drive and path can also be changed.
These custom changes are placed in a special file called a
profile, which resides in the directory with the File Express
programs. The name of the file with the profile options is
FE.PRO. If the file doesn't exist, File Express uses all its
standard options.
FE.PRO is a binary file and CANNOT be edited with a word
processor or text editor. The File Express package includes a
program called FESETUP.EXE which is used to make changes in the
configuration file.
Starting the Setup Program
The Setup program must be run from your Program drive and
directory so it can load and save FE.PRO in the correct location.
Floppy System: If you are running File Express from a two floppy
drive system, place the Supplemental Disk (containing
FE5SETUP.EXE) in the B: drive and the Program Disk (where FE.PRO
resides) in the A: drive. From the A:> prompt type
B:FE5SETUP <Enter>
Hard Disk System: If you are running File Express from a hard
disk, change directories to the subdirectory containing FE.EXE
and then type:
FE5SETUP <Enter>
CUSTOMIZING 373
----------------------------------------------------------------------
Using Setup: When the program is loaded, the Opening Instruction
screen appears:
Registered Version has screen picture here
General Defaults
Sound Option: File Express makes a variety of beeps and blips as
data is being entered. These sounds can be helpful, providing
audio feedback as you progress through the screens. But if you
find the sound annoying, you can turn it off, either by setting
this option to NO or by using /S as a command line option when
starting File Express.
Most people find the sound feature useful, so we have made it the
default. But some people turn it off because the speaker on
their PC is too loud or because others around them find it
annoying. If you aren't sure about the sound, try it for a
couple days. Once you have become accustomed to the audio
feedback from the program, you may find it hard to operate
without it.
Screen Display: If your computer's video memory is not at the
same address as IBM video memory, you can still use File Express
by either specifying /B on the command line, or by setting this
option to SLOW.
Snow: If annoying "snow" appears on your screen when data is
displayed, set this option to YES.
Menu Lines: File Express normally displays it menus with a
surrounding double line. If you would like to remove this line,
answer NO.
Auto Enter Option: Normally File Express requires that <Enter>
be pressed to advance to the next field. If you prefer that the
374 CUSTOMIZING
----------------------------------------------------------------------
cursor automatically move to the next field when it reaches the
end of a field, answer YES.
This option is only in effect when entering data on the Add
Records screen or changing data on the Find Records screen. All
other prompts function as described in the Keyboard Conventions
chapter.
Space Character: When File Express displays a field on the
screen, it normally pads the right-hand side of the field with
underline characters. If the field is empty, it is completely
filled with underline characters. If it has some data, the
underlines appear to the right of the data, filling out the
field. These underlines are useful because they visually
indicate the maximum length of the field. If you would prefer
another character, press the <Spacebar> to toggle through the
thirteen available pad characters. Press <Enter> when finished.
Default Date Format: File Express supports four date format:
MM-DD-YY, MM-DD-YYYY, DD-MM-YY and DD-MM-YYYY.
These formats are used for date input only. The actual date
representation is always stored in the database the same way
(YYYYMMDD). This lets you change the date format at any time and
still display all existing dates in the correct format.
Default Monetary Sign: You can select between the dollar sign,
the British pound sign and the Japanese Yen sign. This sign is
used on reports when printing monetary amounts.
Block Field Exit Key: You have two choices concerning how to
exit a block field: <Enter> and <Ctrl-Enter>. All other types of
fields are exited by the <Enter> key but in a block field you may
want to use <Enter> to move the cursor down to the next line as
you would in a word processor.
Search Method For EQUAL Operator: In previous versions of File
Express a search criteria like:
F1 = CAN
would find all records where Field 1 started with CAN, such as
CANADA, CANDY, CAN, CANCER, CANDLE etc. If you just wanted to
find the records where Field 1 just equaled CAN and nothing else,
you had to use something like:
F1 = CAN AND LEN(F1) = 3
This was not easy to remember and inconsistent with the way other
products work. A better way is to handle EQUAL searches like
this:
F1 = CAN
finds records where field one is CAN and nothing else. If you
want to find records where Field 1 starts with CAN, use:
F1 = CAN..
CUSTOMIZING 375
----------------------------------------------------------------------
So, if you want to use the new method, select EXACT. If you like
the old method, select STARTS WITH. The choice is yours.
376 CUSTOMIZING
----------------------------------------------------------------------
Color Defaults
Color or Mono: If your computer has a monochrome video card,
File Express recognizes its presence and displays screens with
white characters on a black background. If it has a color card
but a monochrome monitor, or if you prefer black and white
displays on your color monitor, specify /M on the command line or
set this option to MONO.
Screen Colors: If your computer has a color monitor, you can
change the colors which File Express uses on its screens and
menus. To change any one of the color combinations, move the
highlight bar to it and press <F> to change the foreground color
and <B> to change the background color. Press <Enter> to accept
your choice.
General color lt white ON blue
General Highlight color yellow ON blue
Main Menu color red ON white
Main Menu Highlight color black ON white
Sub Menu color blue ON cyan
Sub Menu Highlight color black ON cyan
Shadow color black ON blue
Title color lt white ON red
Input color yellow ON black
Field color lt cyan ON blue
Error color lt white ON red
The foreground color (the first one specified) may be any of the
sixteen colors listed below. The background color (the second
one specified) may be any of the eight colors on the left.
Black Gray
Blue Lt Blue
Green Lt Green
Cyan Lt Cyan
Red Lt Red
Magenta Lt Magenta
Brown Yellow
White Lt White
CUSTOMIZING 377
----------------------------------------------------------------------
Data Entry Defaults
Drive and Path name: File Express defaults to the current drive
and path on hard disk systems and to the root directory of drive
B on diskette systems. You can override these defaults by
filling in a different drive and path. Examples:
D:\FE\DATA
C:\
B:
If the directory and backslashes are omitted, File Express
defaults to the root directory of the specified drive. If a
directory is specified, it must be one that exists; File Express
does not create new directories. If the command line contains a
drive and path at startup, it overrides these defaults. If the
command line contains no drive and path, and this field is empty,
the prompt for drive and path is displayed.
Database File Name: To specify a database to be opened at
startup, fill in this field with the name of the database
(without an extension). Example:
MAILLIST
Clear Buffer Option: File Express writes records to disk as soon
as they are changed. However, DOS does not update information in
the disk directory at the time the records are written. So if
something were to interrupt your computer's processing before
File Express ended, some of your data could be lost. To reduce
the possibility of data loss, File Express issues a Close command
to DOS after every five records are written to disk. This Close
command tells DOS to go update the disk directory and file
allocation tables.
You can tell File Express to issue a Close command more
frequently by setting this prompt to a lower number. This number
is the number of writes to disk before the buffer is cleared
(i.e. the files are closed). If you specify a value of one, the
buffers are cleared every time a database record is added or
changed.
A value of one provides the most security for your data, although
it adds a small amount of overhead to the process of adding
records. But consider this typical example: an office has a
database which several employees use for inquiry during the day.
Sometimes the employees make minor changes to the database, then
they leave the Find Records menu displayed on the screen for the
next person. In this environment, a change to a record can sit
in the computer's memory for hours, maybe even overnight, before
378 CUSTOMIZING
----------------------------------------------------------------------
it is finally updated on disk. If the electricity goes off
during that time, or if someone re-boots the computer or removes
the diskette, the data is lost because it was never written to
disk by DOS.
File Express automatically clears the buffers when the program
returns to the Main Menu. So if you have not used the Setup
program, the next best alternative is to return to the Main Menu
before letting the computer sit idle.
Disk Space: If you would like File Express to report the
remaining disk space when you are entering new records, answer
YES. Because this check has to look in the directory table on
your Data drive to determine the remaining space, floppy disk
users have to wait a little longer than hard disk users. Thus
floppy disk users might be tempted to turn off the service.
Remember, however, that floppy disks hold much less data than
hard disks and should be monitored for free space more closely.
Label Printing Defaults
The Label Spacing defaults which appear when defining a new label
can also be changed with Setup commands:
Labels across (1 - 5) 1
Vertical label spacing (1 - 99) 6
Printable lines per label (1 - 99) 4
Horizontal label spacing (1 - 99) 37
Characters per label line (1 - 99) 34
Tab position of first label (1 - 99) 5
Number of Labels for each record (1-999) 1
Changing these defaults do not affect label formats which have
already been designed and saved. To change options on those
formats, load them in, change the options, then save them to disk
to make the changes permanent.
CUSTOMIZING 379
----------------------------------------------------------------------
Report Printing Defaults
The Report section asks many questions concerning the layout of
the report.
Print a Subtotal for a single record NO
Use Linefeeds when printing NO
Use Formfeeds at end of page NO
Page Width (18 - 999) 500
Left margin on reports (0 - 99) 5
Page length (1 - 250) 66
Lines per page to print (1 - 250) 1
Top margin on reports (0 - 99) 0
Print Zeros as blanks NO
Put Parentheses around neg. numbers NO
Type of Brackets for neg. numbers ( )
Format large numbers with Commas YES
Title position
Header position
Footer position
Remove Blank Lines when printing
Pause between each report page or label
Print to the Screen, Printer, or Disk
Form Letter Defaults
When writing form letters you can set the following default
settings.
Text Width 70
Paper Length 66
Lines of Text 58
Top Margin 0
Left Margin 5
Use formfeeds at end of page NO
Pause between each form letter NO
Print to the Screen, Printer, or Disk SCREEN
380 CUSTOMIZING
----------------------------------------------------------------------
empty
TROUBLESHOOTING 381
----------------------------------------------------------------------
Troubleshooting
If an error occurs in File Express, the error message sometimes
tells you to refer to this chapter. Or if you have a problem
where there is no error message involved, for example, nothing
displays on the screen, you can refer to this chapter as well.
The first part of this chapter discusses common problems and
prospective cures. The last section explains what to do if you
find a problem and want to report it to Expressware. Appendix A
lists several File Express error messages alphabetically,
explains what they mean, and provides corrective measures where
appropriate.
Screen Does Not Display
Problem: You start up File Express and it seems to load but
doesn't display anything on the screen.
Press <Esc> then <Enter>. If you press those keys and don't
return to the DOS prompt, the computer has locked up. In that
case, refer to the section below on "locking up". If you return
to the DOS prompt, it's a good sign, indicating that File Express
was running, but was just not displaying properly. Start the
program again, only this time, use this command to start it:
FE /B
The /B tells File Express to use BIOS calls when displaying on
the screen. This is usually the cause of missing displays.
Some Characters Are Fuzzy or Unreadable
Problem: You start up File Express and it loads, but the screen
is fuzzy and unreadable, or some of the characters are missing.
This usually occurs on computers with monochrome monitors
attached to graphics boards. The monitor is incapable of
displaying colors, but File Express has no way of knowing it by
examining the hardware. Press <Esc> then <Enter> to return to
the DOS prompt. Then start the program again using this command:
FE /M
The /M tells File Express to display in monochrome mode (white
characters on a black background).
382 TROUBLESHOOTING
----------------------------------------------------------------------
Computer Locks Up At Startup
Problem: The computer stops while loading File Express, and just
hangs. No amount of pressing keys will shake it loose, and the
computer must be rebooted to get it going again. Sometimes the
banner screen is displayed, sometimes nothing is displayed.
Reboot your computer, and start File Express again, this time
using this command:
FE /M/S/B
/M says to display monochrome, /S says to turn off the sound, and
/B says to use BIOS calls for screen displays. When you use
these three options, File Express is just about as generic as a
program can get. If it works with these commands, try
experimenting with only one or two of them at a time. You may
find that you need only one of the commands to get it to work.
If these commands don't cure the problem, read on:
If you have an older model of a computer that runs MS-DOS, this
problem is probably due to your computer being "semi-compatible";
i.e. it's not 100% compatible with the IBM PC, so some programs
don't run properly in it. If this is the case, you may have had
a similar experience with other software packages. If this is
the case, we're sorry, but we can't help. We will be happy to
refund your money, however, if you return the product in salable
condition within 60 days of purchase.
If your computer is not an older model, and if you're sure it is
100% compatible with the IBM PC, the most likely problem is that
the program diskette is bad. If you bought the diskette from us,
send it back and we will replace it. If the diskette came from a
friend or other shareware source, get another copy, preferably on
a different diskette, and try again. Or if you suspect their
original diskette is bad, contact us for an evaluation copy at a
nominal price.
There is another problem which occasionally causes a computer to
hang up while running File Express: bad memory. File Express
uses all the available RAM memory in your computer, while many
other programs do not. If one of those seldom-used RAM memory
locations has a bad spot, the computer sometimes locks up when
that memory location is accessed. Sometimes a PARITY ERROR
message is displayed by DOS, and sometimes the computer just
hangs. Memory errors are often heat- related. If the computer
was just turned on, let it run awhile and try again. If the room
is very warm, turn off the computer for an hour and try again.
If you suspect a RAM memory problem, consult a repair technician.
TROUBLESHOOTING 383
----------------------------------------------------------------------
empty
384 TROUBLESHOOTING
----------------------------------------------------------------------
Printer Double-Spaces Reports Or Labels
Problem: You print a report or labels, and some or all of the
lines have an extra space between them, giving a double-spaced
effect.
If you have used File Express before and didn't have this
problem, try printing another report or label format that usually
works. If other formats work but this one doesn't, the problem
is in the report definition. Check the report or label layout to
make sure it is not wider than your printer can handle. If a
printer is sent a longer line than it can print, it will usually
"wrap around" the end of the line to a second line, resulting in
a double-spaced effect. In this case, characters from the
right-hand edge of the report may appear in the left margin on
the second line. To remedy this problem, shorten the report or
use a larger character-per-inch density to fit the report on the
page.
This wrap-around problem often happens on labels when a long
field is specified as the last field on a line. This causes a
double-space only on the offending line. Add up the lengths of
all the fields on the line. If they exceed the width of your
printer, use compressed print, or shorten the long field, or
break the data up onto two lines.
Double-spacing can also occur if control codes are mistakenly
sent to your printer. Reset the printer to its defaults by
powering it off and back on to clear any spurious codes. Verify
that you didn't specify <D>ouble-spacing on the report
specification. If the double-spacing still occurs, route the
report to a disk file and examine it with your word processor.
If the report is single-spaced in the disk file but comes out
double-spaced on the printer, scan the disk file to see if there
are any unusual symbols or codes which shouldn't be there.
Sometimes printer control codes are mistakenly sent to the
printer by erroneous formulas. Sometimes bad data on disk is
sent to the printer, and the printer interprets it as a control
code.
If this problem occurs with everything you print with File
Express, and you are not able to produce even one single-spaced
report, your printer is probably configured to line feed when a
carriage return character is received. If this is the case,
either change the switch settings on your printer or add the
command NO LINEFEED to your profile. (See the section titled
Customizing File Express for information on profiles.) Changing
the switch setting on your printer will make it more standard,
but might adversely affect other software you use which has
already been configured for no linefeeds.
TROUBLESHOOTING 385
----------------------------------------------------------------------
Report Starts In Middle Of Page
Problem: The first lines of a page are spaced far down the paper,
and the detail overlaps onto the next piece of paper. Sometimes
it occurs on the first page of the report, sometimes after the
first page, and sometimes on all pages.
Related Problem: A report prints OK on the first page, but then
skips a page and prints page 2 on the third sheet of paper.
Sometimes it occurs on every page; sometimes only on one or two
pages.
Related Problem: The last few lines of a page "jump" an inch or
so, and start printing on the top of the next page. This throws
off the spacing of subsequent pages.
Be sure the paper is positioned properly when printing begins.
The perforation must be positioned near the print head, exactly
where you want the title line to print.
Print the report again, this time watching as it begins printing.
If the paper advances several lines before printing the first
title line, check for these problems: (1) a large top margin has
inadvertently been specified in the report specification; (2)
form feeds have been specified in the report specification, but
top-of-form is not properly set on the printer; (3) the page
length of 66 has been changed, and no longer reflects the true
page length in lines; (4) eight lines per inch were specified,
but the page length was not changed to 88; (5) a form feed
character is being placed in the body of the report, either by a
bad text formula or by bad data on the disk. The first four
items can be checked by reviewing the report format. The fifth
item might require that you write the report to disk and examine
it with your word processor.
Another thing to check is your printer's hardware configuration.
If you use form feeds, is the paper set to the correct page
height? It's eleven inches for most paper. Some printers have a
switch for skipping over the perforation when the bottom of the
page is sensed. File Express doesn't know that the printer is
doing its own skip to the new page, so both the printer and File
Express skip a few lines. The result is that the report moves
progressively downward on each successive page, about an inch per
page. Or if form feeds are being used, the printer skips to a
new page, then File Express ejects to the next page, resulting in
an entire blank page or one with just a couple lines on it. To
remedy this situation, either change the printer's switches so it
doesn't automatically skip over the perforation, or reduce the
Lines Per Page in the report format until the problem stops. You
may have to reduce the Lines Per Page to as little as 50.
386 TROUBLESHOOTING
----------------------------------------------------------------------
empty
TROUBLESHOOTING 387
----------------------------------------------------------------------
Bad Data Appears On Records
Problem: Some of the fields on one or more records have strange
characters in them, like musical notes and graphic symbols.
If your data changes mysteriously, especially if it has
characters in it that you didn't enter, it usually means a media
error or disk error has occurred. If the data is on a diskette,
the most likely cause is that the diskette is bad. As we
mentioned in the chapter on backups, diskettes do wear out.
Diskette drives need to be adjusted and cleaned much more often
than hard disks. Diskette errors are even more likely if the
diskettes are being used in more than one computer. Even if a
diskette drive is badly timed or badly aligned, it can often read
the bad data it writes. But if the diskette is then put into
another diskette drive which is working properly, some of the
data may be unreadable. Worse yet, if the properly aligned drive
writes data on the disk, it may become unreadable on both
computers.
This problem is best solved by prevention: make frequent backups,
have your equipment serviced regularly, and treat diskettes with
the utmost respect.
When a media problem occurs, the safest bet is to throw away the
bad diskette and make a new diskette using the data from your
latest backup. If you have no recent backup, the process is
painstaking (and sometimes fruitless), but do the following:
1. Immediately put a write-protect tab over the notch on the bad
diskette, so no data can be inadvertently written to it or
erased.
2. Use the DOS FORMAT command to format a brand new diskette, or
one which you are certain is of good quality. Then use the COPY
command (COPY *.*) to copy all the files from the bad diskette to
the new one. If you aren't familiar with COPY, see your DOS
manual.
3. During the COPY process, if any message appears which prompts
"Abort, Retry or Ignore", or "Abort, Retry, Fail", press <R> to
retry. If the message recurs, remove the bad diskette, then put
it back in the drive and press <R> again. (Sometimes the
diskette is not seated properly. Removing it and replacing it
can slightly change its positioning, and the data can be read.)
If the message recurs a third time, press <I> for Ignore or <F>
for Fail. This tells DOS to go ahead and copy the bad spot on
disk as best it can. If more errors occur, continue this process
until the complete diskette is copied.
4. Start File Express. Using the new data diskette, select Find
Records, specify ALL, and examine each record in each file to
388 TROUBLESHOOTING
----------------------------------------------------------------------
ensure that the data is intact and that no information has been
lost. If you had to reply <I>gnore or <F>ail to the message in
the previous step, there will definitely be some bad data on at
least one record. Then rebuild all your indexes.
5. As a follow-up, have your diskette drives serviced and make
frequent backups of your data. Back up data from other programs
as well, not just your databases. They are all vulnerable to
disk drive problems. Save all the backup diskettes. If your
disk drives are malfunctioning, they can create bad backups
occasionally too, in which case you need to rely on the
next-most-current backup.
It should be noted that this recovery process is not unique to
File Express. A similar process is necessary with any software
when a disk media error occurs. Actually, the File Express
database design makes recovery of at least some of the data more
likely than it might be with other software products if a media
error occurs.
Media errors are much less frequent on hard disks, but they do
occur. Once again, if bad data starts appearing, the best
solution is to resort to your backups and have the hard disk
drive tested and serviced immediately. If you have no recent
backup, the data recovery process on hard disks is just as
painful as it is on diskettes:
1. Since you can't put a write-protect tab on your hard disk, the
only alternative is to not use the data and to be extremely
careful not to accidentally erase the file or copy over it.
These instructions assume that your database is on drive C and
that the database name is MYDATA.
2. Using the <Alt-R> command on the Open A Database screen of
File Express, rename the bad database, giving it a name of
BADSPOT.
3. From DOS use the following command to make a new copy of the
data:
COPY C:BADSPOT.* C:MYDATA.*
During the COPY process, if any message appears which prompts
"Abort, Retry or Ignore or Fail", press <R> to retry. If the
message recurs, press <R> again. If the message recurs a third
time, press <I> for Ignore or <F> for Fail. This tells DOS to go
ahead and copy the bad spot on disk as best it can.
Now you have two copies of the database on your hard disk. The
original one is called BADSPOT and is still in the same place on
TROUBLESHOOTING 389
----------------------------------------------------------------------
the disk. The new database is called MYDATA (or whatever name
you gave it) and occupies a new place on disk.
4. Start File Express and open the new file. Select Find
Records, specify ALL, and examine each record in each file to
ensure that the data is intact and that no information has been
lost. If you had to reply <I>gnore or <F>ail to the message in
the previous step, there will definitely be some bad data on at
least one record.
5. As a follow-up, have your disk drive serviced and make
frequent backups of your data. Back up data from other programs
as well, not just your databases. They are all vulnerable to
disk drive problems. Save all the backup diskettes. If your
disk drives are malfunctioning, they can create bad backups
occasionally too, in which case you need to rely on the
next-most-current backup.
A user who was experiencing disk errors once asked us how we
could be so sure that the problem was media or hardware and was
not something our program had done to damage the diskette. We
have many reasons to be self-assured on this point: (1) hundreds
of thousands of people use File Express every day without any
problems. (2) the few people who contact us with disk error
messages typically discover hardware problems when their
equipment is serviced. (3) our programs do not write data to disk
-- DOS writes data to disk. We simply issue high-level Write
commands and let Microsoft's C and DOS do the rest. It is
virtually impossible for a program error in File Express to cause
a disk media error. The guy who sold you the disk drive might
try to tell you otherwise. If so, let him read this chapter.
One more point on media errors: we know from personal experience
that it is frustrating when data is lost. But if you call us for
help, we can tell you nothing more than this section has already
explained.
When a problem occurs with hardware which destroys data, there is
little we, or any other vendor can do. It is possible that a
good technical person can recover some of your data from a
damaged disk.
Formula Error Or Bad Result
Problem: A formula on a report or record is not working properly,
or can't be entered.
Sometimes a message is displayed giving some indication of the
problem. If there is no message, or if the message doesn't help,
check each of the items in this list:
390 TROUBLESHOOTING
----------------------------------------------------------------------
1. Verify the spelling of any field names in the formula. They
must be spelled completely, and exactly as they appear on the
record. Try the formula using the field number with an F, such
as F5, instead of the field name.
2. Verify the spelling of function names and keywords, referring
to the manual for correct spelling. A space is not permitted
between a function name and its left parenthesis.
3. Try enclosing constant text in the formula within quotation
marks. Sometimes constant text is the same as a valid keyword or
operator, so the formula routine doesn't know it is meant to be
text. Quotation marks explicitly identify it as constant text.
4. If the formula contains multiple comparisons, try a shorter
version of it with just one or two comparisons to try to isolate
the problem area.
5. If the formula contains two or more AND, OR or NOT operators,
the problem may be that your logic is not mathematically sound or
that parentheses are needed to provide proper precedence.
6. If the formula is returning the word ERROR instead of a
number, it contains a mathematical calculation which is
unacceptable. For example, it may be dividing by zero, which is
not mathematically possible. Or the result may be a huge number
which is larger than the fourteen digits File Express can
accommodate.
7. Be sure the data used in a function meets the requirements of
the function. If the operand is supposed to be an eight
character date, are the month, day and year valid two-digit
numbers? If the operand is supposed to be a number, is it?
Most formulas can be written more than one way. If it doesn't
work, and the comments above don't help, try a variant of it or a
smaller version of it using a slightly different syntax. If you
can't make it work, see the section titled Reporting Problems To
Expressware.
REPORTING PROBLEMS 391
----------------------------------------------------------------------
Reporting Problems To Expressware
As you may know, Expressware provides technical support by
telephone and in writing to registered users. Unlike many other
software companies, there is no extra charge for this service.
But like many other software companies, our phones are always
busy. At least half the technical calls we receive can be
answered by reading the manual. So please help us to keep our
costs down and keep our phone lines open: look it up first in the
manual.
Our tech support number is 206-788-0932. If your problem is not
urgent, write to us instead of calling. The problem often can't
be resolved over the phone anyway, since it usually requires that
we have a copy of your database or report spec to recreate the
problem on our computer. Send your problem reports to:
Expressware Corporation
Technical Support Dept.
P.O. Box 1800
Duvall, WA 98019
206-788-0932
Include a diskette with a copy of your database and related
reports and labels. Include an explanation of the problem,
describing how to make it recur. Also include any reports or
screen dumps which may be useful in researching the problem.
Most importantly, tell us which version of File Express you are
using and the date of the files. You can quickly find this
information while in File Express by pressing <Ctrl-V> to display
the Version/Status Screen. The version number and date are
displayed on the first line.
If you find it necessary to call for technical support, please
have all the information available. If possible, call from a
phone near your computer, in case you need to run File Express to
troubleshoot or explain the problem.
392 DISCLAIMER
----------------------------------------------------------------------
Disclaimer
Expressware makes no representation or warranties with respect to
the contents hereof and specifically disclaims any implied
warranties of merchantability or fitness for any particular
purpose. File Express is provided "as is" without warranty of
any kind, either expressed or implied.
Expressware shall have no liability or responsibility to you or
any other person or entity with respect to any loss or damage
caused by File Express including, but not limited to, any loss of
profits, interruption of service, loss of business or
consequential damages resulting from the use of such programs.
When starting the use of new software it is a good practice to
test the programs with sample data, and to run the programs in
parallel with any previous system for a period of time sufficient
to ensure satisfactory results.
File Express is a trademark owned by Expressware Corporation.
GLOSSARY 393
----------------------------------------------------------------------
Appendix A: Glossary of Terms
Ascending sort: The process of placing information into
alphabetical or numerical order.
ASCII: An industry standard for representing characters in
computers.
Backup: The process of copying databases and other files which
contain important information.
Boot: The process of starting your computer and getting it ready
to accept commands.
Calculated field: A field that is filled in automatically by File
Express as a result of calculations between other fields in the
database file (also called a Formula field).
Character: Usually a letter, numeric digit or space. A character
can also be a special symbol such as &, a foreign character
symbol, a graphic symbol or a math symbol. See the Advanced
Features chapter for a chart.
Cloning: Creating a new database that is made up of information
taken from an existing file. In the process you may change the
length of any field, add new fields, delete fields, and rearrange
the fields.
Database: A group of records that are related to each other, such
as an inventory list or mailing list, which has been entered into
the computer so it can be updated, printed, sorted and inquired
from. Sometimes called a file.
Descending Sort: The process of placing information into reverse
alphabetical order or in numeric order from highest to lowest.
Default: The answer that is assumed by the program if you don't
provide an answer.
Default Disk Drive: The disk drive used by the computer if not
told to use a specific drive.
DIF file format: A standard for data interchange between
different programs.
DOS: The disk operating system that manages the basic operation
of the computer and runs programs.
DOS Prompt: The "A>" or "C>" prompt that indicates the computer
is ready to accept commands or program names.
394 GLOSSARY
----------------------------------------------------------------------
Edit: To change previously entered information. Sometimes called
Updating or Changing.
Embedded Text: A string of characters surrounded by a longer
string of characters; i.e. "eat" is embedded in "Seattle".
Export: To copy a File Express database into a form usable by
another program, such as a spreadsheet or a mail-merge program.
Field: A piece of information consisting of a string of
characters, such as a last name or city or dollar amount.
Filename: A string of up to eight characters plus a three
character extension used by the computer to identify a file on a
disk.
Format: A template or pattern into which information is placed.
Format a disk: To prepare a diskette to store information, and
erase its contents in the process. FORMAT is a DOS command.
Formula field: A field that is filled in automatically by File
Express as a result of calculations between other fields in the
database file.
Import: To read information from a file and place it into a File
Express database.
Index: A separate file used to speed up searching and make it
possible to present information in sorted order.
Label Format: The placement pattern of fields on a mailing label.
Mail-merge file: A file that is used by a word processor while
printing automatically generated form letters. The file usually
contains names and addresses.
Mixed case: A combination of upper and lower case alphabetic
characters.
RAM disk: A portion of the computer memory that has been set up
to look like a disk drive to the computer operating system. The
access to this type of "disk" is very fast. It is also subject
to immediate erasure if the electricity goes off. See VDISK in
your DOS manual for more information.
Record: A group of related fields that are placed in a database
as an entity. For example, a record might contain a Name,
Address, City, State, Zip code, Telephone number and a Comment
field.
GLOSSARY 395
----------------------------------------------------------------------
Record format: The collective fields that make up each record of
a database. The record format must be specified before adding
information to a database.
Record Number: When File Express saves any record into a database
it assigns a unique record number that corresponds to the
location within the file that the record was placed.
Report Format: The pattern to be used for the placement of fields
and formulas when printing a report.
Syntax: The arrangement of field names, functions, keywords, etc.
in a formula or comparison.
396 GLOSSARY
----------------------------------------------------------------------
empty
ASCII CHART 397
----------------------------------------------------------------------
Appendix B: ASCII Chart
398 ASCII CHART
----------------------------------------------------------------------
empty
KEYWORDS 399
----------------------------------------------------------------------
Appendix C: Keywords
Text Numeric Date True/False
---- -------- ---- ----------
Comparitors
AFTER X
BEFORE X
Comparitors X X
CONTAINS X
EXACTLY X
SOUNDS LIKE (SL) X
Functions
AGE X
ASC X
.AVERAGE X
CENTER X
CHR X
.COUNT X
DAYABBV X
DAY X
DAYNAME X
DBDRIVE X
DBNAME X
DBPATH X
FIRSTLINE X
FORMATDATE X
FUTUREDATE X
GRAPH X
INSTR X
LEFT X
LENGTH (LEN) X
LINE X
LJUST X
LOOKUP X X
LOWER (LCASE) X
LTRIM X
.MAX X
MID X
MILTIME X
.MIN X
MONTH X
MONTHNAME X
MONTHABBV X
400 KEYWORDS
----------------------------------------------------------------------
Text Numeric Date True/False
---- -------- ---- ---------------
Functions (cont')
.NBCOUNT X
.NBSUBCOUNT X
PAGE X
.PREV X X
PROPER X
RANDOM X
RECORD NUMBER (F0) X
REPEAT X
REPLACE X
RIGHT X
RJUST X
ROUND X
RTRIM X
SPACE X
SPELLOUT X
.SUBAVERAGE X
.SUBCOUNT X
.SUBMAX X
.SUBMIN X
.SUBTOTAL X
SUM X
TIMEDIF X
TIME X
TODAY X
.TOTAL X
TRIM X
UPPER (UCASE) X
VALUE (VAL) X
YEAR X
Operators
& (Concatenate) X
+ (Plus) X X
- (Minus) X
* (Multiply) X
/ (Divide) X
^ (Power of) X
% (Percentage) X
\ (Mod or Remainder) X
: (THROUGH) X
KEYWORDS 401
----------------------------------------------------------------------
Text Numeric Date True/False
---- ------- ---- ---------------
Logical Operators
AND X X
OR X X
Statements
ADD ONLY
BLANKLINE
CENTERED
COMMAS
DOLLAR SIGN ($)
LEFT JUSTIFIED (LJ)
MONEY SIGN ($, , )
NEWPAGE
NO COMMAS
NOLINEFEED
NOPRINT
NO ZEROS
OR
PARENTHESIS (PARENS)
RIGHT JUSTIFIED (RJ)
ZEROS
402 KEYWORDS
----------------------------------------------------------------------
empty
FILE FORMATS 403
----------------------------------------------------------------------
Appendix D: File Formats
A database is stored on disk in several different files. Only
two of these files are easily accessible to a user and are
described below.
Header: The Header file (database.HDR) holds the basic format of
the database. It contains the number of fields, their names,
lengths, types, and formulas. Below is an example of a simple
header file. Each line has a description to the right.
line 1 5Sample database Version number, description
line 2 FILE EXPRESS 5.0 Major version number
line 3 3 Number of fields in the database
line 4 Lab Fee Name of the first field
line 5 10,5,2 field length, type, decimals
line 6 formula string (if any)
line 7 future use
line 8 future use
line 9 Sales Tax repeat of previous five lines
line 10 10,5,2 for each remaining field.
line 11 Lab Fee * .05
line 12
line 13
line 14 Balance Due
line 15 10,5,2
line 16 Lab Fee + Sales Tax
line 17
line 18
404 FILE FORMATS
----------------------------------------------------------------------
The name of a field can be up to twelve characters long.
Field types are as follows:
1 = Character field
2 = Text formula field
3 = Date field
4 = User defined field
5 = Numeric field
6 = Numeric formula field
Data File: The Data file (database.DTA) contains all the data
records in the database. The records are stored in fixed length
format, also known as a Random Access file, with an extra
character at the end of each record that is used to indicate
tagged and deleted records. Compute the record length by adding
up all the field lengths and adding one for the extra character.
David Berdan Duvall WA 98019*Ken McGinnis
Duvall WA 98019*Bill Gates Redmond WA
98052*Tom Rice Seattle WA 98124*
The asterisk (*) represents the extra character at the end of
each record.
Other files: Following are short descriptions of the other files
that File Express creates.
Index Files: There is an index header (database.IXH) containing
information about all the index files (up to 5) having been
created for a given database. Each individual index file
(database.IX0 - database.IX6) contains the order of that
particular index sequence.
Painted Screens: The Views of a database (up to 10) are stored
in database.S0 through database.S9. The current active View is
stored in the database.SCR file.
Macro Key Files: Macro key sequences are stored in a
database.KEY file.
Label Format Files: Label formats are stored in database.L0
through database.L99.
Report Format Files: Report formats are stored in database.R0
through database.R99.
Letter Format Files: Report formats are stored in database.D0
through database.D99.
DATE FORMATS 405
----------------------------------------------------------------------
Appendix E: Date Formats
The following date formats are available in the FORMATDATE
function.
Format # Style Example
-------- ---------------- -------------------------
1 yymmdd 891225
2 yyyymmdd 19891225
3 yy-mm-dd 89-12-25
4 mm-dd-yy 12-25-89
5 mm-dd-yyyy 12-25-1989
6 dd-mm-yy 25-12-89
7 dd-mm-yyyy 25-12-1989
8 ddmmyy 251289
9 yy/mm/dd 89/12/25
10 mm/dd/yy 12/25/89
11 mm/dd/yyyy 12/25/1989
12 dd/mm/yy 25/12/89
13 dd/mm/yyyy 25/12/1989
14 mm..m dd, yy December 25, 89
15 mm..m dd, yyyy December 25, 1989
16 mmm dd, yyyy Dec 25, 1989
17 mmm dd, yy Dec 25, 89
18 dd mm..m yy 25 December 89
19 dd mm..m yyyy 25 December 1989
20 dd mmm yy 25 Dec 89
21 dd mmm yyyy 25 Dec 1989
22-42 - precede above formats with day of the week
Example: 42 = Monday 25 Dec 1989
43-63 - precede formats with day of the week abbrev.
Example: 63 = Mon. 25 Dec 1989
406 DATE FORMATS
----------------------------------------------------------------------
Format # Style Example
-------- ---------------- ------------------------------
64 yymm 8912
65 yy-mm 89-12
66 yy/mm 89/12
67 yy/mm..m 89/December
68 yy-mm..m 89-December
69 yy mm..m 89 December
70 yyyymm 198912
71 yyyy/mm 1989/12
72 yyyy-mm 1989-12
73 yyyy mm..m 1989 December
74 yyyy/mm..m 1989/December
75 yyyy-mm..m 1989-December
76 mmyy 1289
77 mm/yy 12/89
78 mm-yy 12-89
79 mmyyyy 121989
80 mm/yyyy 12/1989
81 mm-yyyy 12-1989
82 mmm yy Dec 89
83 mmm/yy Dec/89
84 mmm-yy Dec-89
85 mmm yyyy Dec 1989
86 mmm/yyyy Dec/1989
87 mmm-yyyy Dec-1989
88 mm..m yy December 89
89 mm..m/yy December/89
90 mm..m-yy December-89
91 mm..m yyyy December 1989
92 mm..m/yyyy December/1989
93 mm..m-yyyy December-1989
SOUNDEX 407
----------------------------------------------------------------------
Appendix F: Sounds Like Routine (Soundex)
The Sounds Like search routine in File Express looks for words
that sound alike. By assigning words that sound similar the same
code, the routine can compare alternate spellings of a word and
detect spelling errors. Each pair of words to be compared is
converted to upper case and then assigned a code according to the
table below. If the codes are the same, the words sound alike.
(Although some hilarious matches sometimes show up).
The Soundex routine divides the alphabet into seven groups:
Group 1: AEIOUHWY
Group 2: BFPV
Group 3: CGJKQSXZ
Group 4: DT
Group 5: L
Group 6: MN
Group 7: R
Group 1 contains vowels and consonants that are sometimes used as
vowels. The other six groups contain letters that sound alike.
Because vowels sound differently in combination with other
letters, the Soundex routine ignores Group 1. Because the user
is likely to begin a word with the correct letter, the routine
copies it to the output. Double letters are treated as one. The
Soundex routine only works with letters.
As an example, the words Grapple, Gravel, Grappelli, and Grapall
would all receive the code G725.
The Soundex routine does not work in every case. The word
"tough" doesn't receive the same code as "tuff". In most cases,
however, the routine provides a simple way to compare words that
sound alike but are spelled differently.
408 SOUNDEX
----------------------------------------------------------------------
empty
PRINTER DEFINITION FILES 409
----------------------------------------------------------------------
Appendix G: Printer Definition Files
The following printer support files are provided with File
Express:
File Name Make Model Mode
----------------------------------------------------------------------
ALPS-1.PDF ALPS 200/300 Epson/IBM
ALPS-2.PDF ALPS P2000G/2100
ALPS-3.PDF ALPS Allegro 24
BROTH-1.PDF BROTHER M-1724 Diablo Mode
BROTH-2.PDF BROTHER M-1724 Epson LQ Mode
BROTH-3.PDF BROTHER Twinriter 5 DP Mode
BROTH-4.PDF BROTHER M-1709 Mode II
BROTH-5.PDF BROTHER M-1724 IBM Proprinter
BROTH-6.PDF BROTHER Twinriter 5 WP Mode
BROTH-7.PDF BROTHER M-1709 Mode I
BROTH-8.PDF BROTHER M-1109 Mode II
BROTH-9.PDF BROTHER M-1109 Epson Mode
BROTH-10.PDF BROTHER M-1509 Mode I
BROTH-11.PDF BROTHER M-1509 Mode II
BUSI-1.PDF BUSINESSLAND 24LQ Diablo Mode
BUSI-2.PDF BUSINESSLAND 45LQ Qume Mode
CANON-1.PDF CANON C-715F
CANON-2.PDF CANON AP-550
CANON-3.PDF CANON A-50 IBM Graphics
CANON-4.PDF CANON AP-76 Interface
CANON-5.PDF CANON A-40
CANON-6.PDF CANON A-60
CANON-7.PDF CANON AP-400/92
CANON-8.PDF CANON A-50 Epson Mode
CANON-9.PDF CANON LBP-8 Series Mode
CANON-10.PDF CANON BJ-130
CANON-11.PDF CANON BJ-80
CENTR-1.PDF CENTRONICS 351
CENTR-2.PDF CENTRONICS 737/739
CENTR-3.PDF CENTRONICS 353
CITIZ-1.PDF CITIZEN MSP-40/45/50/55 IBM Mode
CITIZ-2.PDF CITIZEN MSP-50/55 Epson EX
CITIZ-3.PDF CITIZEN MSP-40/45 Epson FX
CITIZ-4.PDF CITIZEN MSP-10/15/20/25
CITIZ-5.PDF CITIZEN Premiere 35 Diablo Mode
410 PRINTER DEFINITION FILES
----------------------------------------------------------------------
File Name Make Model Mode
----------------------------------------------------------------------
CITIZ-6.PDF CITIZEN Premiere 35 NEC Mode
CITIZ-7.PDF CITIZEN Tribute 224 Standard Mode
CITIZ-8.PDF CITIZEN Tribute 124 Standard Mode
CITIZ-9.PDF CITIZEN Tribute 124 Diablo Mode
CITIZ-10.PDF CITIZEN Premiere 35 Qume Mode
CITIZ-11.PDF CITIZEN 180-D IBM Mode
CITIZ-12.PDF CITIZEN 224 Diablo Mode
CITIZ-13.PDF CITIZEN Epson Mode
CITIZ-14.PDF CITIZEN IBM Mode
CITIZ-15.PDF CITIZEN Epson Mode
DSYWR-1.PDF DAISYWRITER 1500/2000
DATAS-1.PDF DATASOUTH
DATAS-2.PDF DATASOUTH 220
DATAS-3.PDF DATASOUTH 120
DIABL-1.PDF DIABLO 630
DIABL-2.PDF DIABLO 1610/1620
DICON-1.PDF DICONIX 150 Epson Mode
DICON-2.PDF DICONIX 150 IBM Mode
DIGIT-1.PDF DIGITAL LA-50
DIGIT-2.PDF DIGITAL Letterprinter 210
DIGIT-3.PDF DIGITAL LQP-02/03
DIGIT-4.PDF DIGITAL LA-120
DIGIT-5.PDF DIGITAL LA-75
EPSON-1.PDF EPSON FX-850/1050 Epson Mode
EPSON-2.PDF EPSON FX-850/1050 IBM Mode
EPSON-3.PDF EPSON JX-80
EPSON-4.PDF EPSON FX-286 IBM Pro Mode
EPSON-5.PDF EPSON FX-286 Epson Mode
EPSON-6.PDF EPSON FX-86e/286e Epson Mode
EPSON-7.PDF EPSON FX-86e/286e IBM Pro XL
EPSON-8.PDF EPSON L-750/L-1000
EPSON-9.PDF EPSON LX-80
EPSON-10.PDF EPSON RX-Series
EPSON-11.PDF EPSON FX-85/185 IBM Mode
EPSON-12.PDF EPSON MX
EPSON-13.PDF EPSON LQ-Series
EPSON-14.PDF EPSON LX-86
EPSON-15.PDF EPSON LX-800/LX-810
EPSON-16.PDF EPSON T-750
EPSON-17.PDF EPSON DX-10/DX-20
EPSON-18.PDF EPSON EX-800 Epson Mode
PRINTER DEFINITION FILES 411
----------------------------------------------------------------------
File Name Make Model Mode
----------------------------------------------------------------------
EPSON-19.PDF EPSON DFX-5000
EPSON-20.PDF EPSON EX-800 IBM Pro
EPSON-21.PDF EPSON FX-85/185 Epson Mode
EPSON-22.PDF EPSON EX-1000 Epson Mode
EPSON-23.PDF EPSON FX-80/100
EPSON-24.PDF EPSON EX-1000 IBM Pro Mode
FUJIT-1.PDF FUJITSU DPL24
FUJIT-2.PDF FUJITSU DX Series Epson Mode
FUJIT-3.PDF FUJITSU DX Series IBM Pro Mode
FUJIT-4.PDF FUJITSU DL Series Native
FUJIT-5.PDF FUJITSU DPL24
GENIC-1.PDF GENICOM 3014-II/3024-II/3210 84/2
GENIC-2.PDF GENICOM 3184
GENIC-3.PDF GENICOM 3410
GENIC-4.PDF GENICOM 3014-II/3024-II IBM Mode
GENIC-5.PDF GENICOM 3310/3320 ANSI X3
GENIC-6.PDF GENICOM 3310/3320 IBM Mode
GENIC-7.PDF GENICOM 310/3320 Diablo 630 Mode
HP-1.PDF HEWLETT-PACKARD LasrJet/LaserJet Plus
HP-2.PDF HEWLETT-PACKARD DeskJet/DeskJetPlus
HP-3.PDF HEWLETT-PACKARD LaserJet Series II
IBM-1.PDF IBM Proprinter
IBM-2.PDF IBM Proprinter XL
IBM-3.PDF IBM Quietwriter
IBM-4.PDF IBM Graphics
IBM-5.PDF IBM Proprinter II
IDS-1.PDF IDS Prism 80
ITOH-1.PDF ITOH C-310/15 XP IBM Mode
ITOH-2.PDF ITOH 24-LQ 24 LQ Mode
ITOH-3.PDF ITOH 8510 Prowriter
ITOH-4.PDF ITOH 24-LQ F10 Mode
ITOH-5.PDF ITOH F10-40/55 Starwriter
ITOH-6.PDF ITOH C-310/15 XP Epson Mode
ITOH-7.PDF ITOH A10-20P
JDL-1.PDF JDL 850 EWS Standard Mode
JDL-2.PDF JDL 850 EWS IBM Mode
JDL-3.PDF JDL 850 EWS Epson Mode
JUKI-1.PDF JUKI 6000/6100/6300
MANNE-1.PDF MANNESMANN-TLY 440
MANNE-2.PDF MANNESMANN-TLY 1612
MANNE-3.PDF MANNESMANN-TLY Spirit 80
412 PRINTER DEFINITION FILES
----------------------------------------------------------------------
File Name Make Model Mode
----------------------------------------------------------------------
MANNE-4.PDF MANNESMANN-TLY 160 180
MANNE-5.PDF MANNESMANN-TLY 85/86 Epson Mode
MANNE-6.PDF MANNESMANN-TLY 87/88 IBM Mode
MANNE-7.PDF MANNESMANN-TLY 85/86 IBM Mode
MANNE-8.PDF MANNESMANN-TLY 87/88 Epson Mode
NEC-1.PDF NEC 5530 7730
NEC-2.PDF NEC 8023A
NEC-3.PDF NEC 8027A
NEC-4.PDF NEC 8835
NEC-5.PDF NEC 5515 5525
NEC-6.PDF NEC 8025A
NEC-7.PDF NEC 2050 3550
NEC-8.PDF NEC 2010 3510-20
NEC-9.PDF NEC Elf 350
NEC-10.PDF NEC 2015 3515-25
NEC-11.PDF NEC 2030 3530
NEC-12.PDF NEC 3500R
NEC-13.PDF NEC 5510 5520
NEC-14.PDF NEC Elf 360
NEC-15.PDF NEC P960 Epson Mode
NEC-16.PDF NEC P965 Diablo Mode
NEC-17.PDF NEC P2200
NEC-18.PD NEC P5200/P5300
NEC-19.PDF NEC P565 P665
NEC-20.PDF NEC PC-PR103A/PC-PR105A
NEC-21.PDF NEC P560 P660
NEC-22.PDF NEC P2/P3 6302 6307 Mods
NEC-23.PDF NEC P2/P3 6303 6306 Mods
NEC-24.PDF NEC P530 P535
OKIDA-0.PDF OKIDATA
OKIDA-1.PDF OKIDATA 393
OKIDA-2.PDF OKIDATA 390/391 Epson LQ Mode
OKIDA-3.PDF OKIDATA 393C
OKIDA-4.PDF OKIDATA 390/391 IBM Proprinter
OKIDA-5.PDF OKIDATA Pacemark 2410 Standard
OKIDA-6.PDF OKIDATA 320/321 Standard
OKIDA-7.PDF OKIDATA w/OK-writer ROM
OKIDA-8.PDF OKIDATA Pacemark 2410 IBM Compatible
OKIDA-9.PDF OKIDATA Pacemark 2350
OKIDA-10.PDF OKIDATA Okimate 20
OKIDA-11.PDF OKIDATA 320/321 IBM Compatible
PRINTER DEFINITION FILES 413
----------------------------------------------------------------------
File Name Make Model Mode
----------------------------------------------------------------------
OKIDA-12.PDF OKIDATA 92/93 Standard Mode
OKIDA-13.PDF OKIDATA 84 Standard Mode
OKIDA-14.PDF OKIDATA 82A/83A
OKIDA-15.PDF OKIDATA 292/293 IBM Compatible
OKIDA-16.PDF OKIDATA 92/93 IBM Compatible
OKIDA-17.PDF OKIDATA 84 IBM Compatible
OKIDA-18.PDF OKIDATA 182 Standard Mode
OKIDA-19.PDF OKIDATA 292/293 Standard Mode
OKIDA-20.PDF OKIDATA 192/193 IBM Compatible
OKIDA-21.PDF OKIDATA 192/193 Standard Mode
PANAS-1.PDF PANASONIC KX-P1524 Epson LQ Mode
PANAS-2.PDF PANASONIC KX-P1524 IBM Mode
PANAS-3.PDF PANASONIC KX-P1524 Diablo Mode
PANAS-4.PDF PANASONIC KX-P1191 Standard Mode
PANAS-5.PDF PANASONIC KX-P1592 Standard Mode
PANAS-6.PDF PANASONIC KX-P1180 IBM Pro Mode
PANAS-7.PDF PANASONIC KX-P1191 IBM Mode
PANAS-8.PDF PANASONIC KX-P3151
PANAS-9.PDF PANASONIC KX-P1092 Standard Mode
PANAS-10.PDF PANASONIC KX-P1180 Standard Mode
PANAS-11.PDF PANASONIC KX-P3131
PANAS-12.PDF PANASONIC KX-P1595 IBM Mode
PANAS-13.PDF PANASONIC KX-P1595 Diablo 630 Mode
PANAS-14.PDF PANASONIC KX-P1595 Standard Mode
PANAS-15.PDF PANASONIC KX-P1592 IBM Mode
PANAS-16.PDF PANASONIC KX-P1091i Standard Mode
PANAS-17.PDF PANASONIC KX-P1091
PANAS-18.PDF PANASONIC KX-P1080
PANAS-19.PDF PANASONIC KX-P1090
PANAS-20.PDF PANASONIC KX-P1080i IBM Mode
PANAS-21.PDF PANASONIC KX-P1080i Standard Mode
PANAS-22.PDF PANASONIC KX-P1091i IBM Pro Mode
PANAS-23.PDF PANASONIC KX-P1092 IBM Mode
PANAS-24.PDF PANASONIC KX-P1093 IBM Mode
PANAS-25.PDF PANASONIC KX-P1124 Epson LQ Mode
PANAS-26.PDF PANASONIC KX-P1093 Standard Mode
PANAS-27.PDF PANASONIC KX-P1092i IBM Pro Mode
PANAS-28.PDF PANASONIC KX-P1092i Standard Mode
PANAS-29.PDF PANASONIC KX-P1124 IBM Pro Mode
QUME-1.PDF QUME Sprint
QUME-2.PDF QUME Letterpro 20
414 PRINTER DEFINITION FILES
----------------------------------------------------------------------
File Name Make Model Mode
----------------------------------------------------------------------
RS-1.PDF RADIO SHACK
RS-2.PDF RADIO SHACK
RS-3.PDF RADIO SHACK DWP-220
RS-4.PDF RADIO SHACK DWP-230 IBM Mode
RS-5.PDF RADIO SHACK DWP-210
RS-6.PDF RADIO SHACK DMP-2200 Tandy Mode
RS-7.PDF RADIO SHACK DMP-2200 IBM Mode
RS-8.PDF RADIO SHACK DWP-230 Tandy Mode
RS-9.PDF RADIO SHACK DMP-2100P/2110
RS-10.PDF RADIO SHACK DWP-1120
RS-11.PDF RADIO SHACK DWP-520 Tandy Mode
RS-12.PDF RADIO SHACK DWP-520 IBM Mode
RS-13.PDF RADIO SHACK Line Printer VIII
RS-14.PDF RADIO SHACK Lineprinter V
RS-15.PDF RADIO SHACK DMP-120
RS-16.PDF RADIO SHACK DMP-106 Tandy Mode
RS-17.PDF RADIO SHACK DMP-110
RS-18.PDF RADIO SHACK DMP-106 IBM Mode
RS-19.PDF RADIO SHACK DMP-105
RS-20.PDF RADIO SHACK DMP-2100/2120
RS-21.PDF RADIO SHACK Daisy Printer II
RS-22.PDF RADIO SHACK DMP-200
RS-23.PDF RADIO SHACK DMP-2100/2120 IBM Mode
RS-24.PDF RADIO SHACK DMP-500
RS-25.PDF RADIO SHACK DMP-430/440 Tandy Mode
RS-26.PDF RADIO SHACK DMP-430/440 IBM Mode
SEIKO-1.PDF SEIKOSHA SL-80AI Standard Mode
SEIKO-2.PDF SEIKOSHA SP-1000
SEIKO-3.PDF SEIKOSHA SL-80AI IBM Mode
SEIKO-4.PDF SEIKOSHA GP-7000
SILVE-1.PDF SILVER REED EXP 770
SILVE-2.PDF SILVER REED EXP 400
SILVE-3.PDF SILVER REED EXP 500/550
SMITH-1.PDF SMITH CORONA D-200/D-300
STAR-1.PDF STAR MICRONICS
STAR-2.PDF STAR MICRONICS SB-10
STAR-3.PDF STAR MICRONICS SD-10/15 IBM Mode
STAR-4.PDF STAR MICRONICS NX-2400 Standard Mode
STAR-5.PDF STAR MICRONICS NX-2400 IBM Mode
STAR-6.PDF STAR MICRONICS SG-10/15 Star Mode
STAR-7.PDF STAR MICRONICS NX-1000 Standard Mode
PRINTER DEFINITION FILES 415
----------------------------------------------------------------------
File Name Make Model Mode
----------------------------------------------------------------------
STAR-8.PDF STAR MICRONICS SR-10/15 Star Mode
STAR-9.PDF STAR MICRONICS SR-10/15 IBM Mode
STAR-10.PDF STAR MICRONICS SG-10/15 IBM Mode
STAR-11.PDF STAR MICRONICS SD-10/15 Star Mode
STAR-12.PDF STAR MICRONICS NX-10
STAR-13.PDF STAR MICRONICS LV-1210/1215
STAR-14.PDF STAR MICRONICS Gemini 10X PC
STAR-15.PDF STAR MICRONICS Gemini 10X
STAR-16.PDF STAR MICRONICS NX-1000 IBM Mode
STAR-17.PDF STAR MICRONICS LV-1615
STAR-18.PDF STAR MICRONICS Delta Radix
STAR-19.PDF STAR MICRONICS NP-10
STAR-20.PDF STAR MICRONICS NB 24-10/15 Standard Mode
STAR-21.PDF STAR MICRONICS NB 24-10/15 IBM Mode
STAR-22.PDF STAR MICRONICS NB-15
TI-1.PDF TEXAS INSTRU 855
TOSHI-1.PDF TOSHIBA P351SX IBM Pro Mode
TOSHI-2.PDF TOSHIBA P351SX Diablo Mode
TOSHI-3.PDF TOSHIBA P351SX Qume Mode
TOSHI-4.PDF TOSHIBA P351SX Epson JX-80
TOSHI-5.PDF TOSHIBA P1350/P1351
TOSHI-6.PDF TOSHIBA P351/P351C Qume Mode
TOSHI-7.PDF TOSHIBA TH-2100H
TOSHI-8.PDF TOSHIBA P1340
TOSHI-9.PDF TOSHIBA 321 IBM Pro Mode
TOSHI-10.PDF TOSHIBA 321 Qume Mode
TOSHI-11.PDF TOSHIBA 321 Epson JX-80 Mode
TOSHI-12.PDF TOSHIBA 321SL IBM Pro Mode
TOSHI-13.PDF TOSHIBA 321SL Toshiba Mode
TOSHI-14.PDF TOSHIBA 341e
TOSHI-15.PDF TOSHIBA 341
TOSHI-16.PDF TOSHIBA P351/P351C IBM Mode
TOSHI-17.PDF TOSHIBA 321 Diablo Mode