|
|
Mastering DataPerfect
by Ralph Alvy
Table of Contents
Copyright 1997
|
Table of Contents
Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . .xi
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What's DataPerfect? . . . . . . . . . . . . . . . . . . . . . . 1
What's This Book? . . . . . . . . . . . . . . . . . . . . . . . 1
Who's Ralph Alvy? . . . . . . . . . . . . . . . . . . . . . . . 1
The Chapters. . . . . . . . . . . . . . . . . . . . . . . . . . 2
Products Mentioned. . . . . . . . . . . . . . . . . . . . . . . 5
Legalese. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
For Beginners. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . 7
Creating Panel Text. . . . . . . . . . . . . . . . . . . .10
Sizing and Moving the Panel. . . . . . . . . . . . . . . .11
CREATE a Field (F9) and EDIT Field Format (F6) . . . . . .12
DEFINE an INDEX (Ctrl-F8). . . . . . . . . . . . . . . . .13
Field Formats and Field Format Display Modifiers . . . . .15
Browse, Create and Edit Modes . . . . . . . . . . . . . . . . .16
Lookups in Browse Mode. . . . . . . . . . . . . . . . . . . . .17
Remaining Define Panel Menu Options . . . . . . . . . . . . . .17
DEFINE PANEL Options (Alt-F8). . . . . . . . . . . . . . .18
Define Link for Panel (F5). . . . . . . . . . . . . . . .21
DEFINE an INDEX (Ctrl-F8). . . . . . . . . . . . . . . . .22
DEFINE FIELD Options (Shift-F8) 1, 2 and 4 . . . . . . . .22
DEFINE FIELD Options (Shift-F8) 3, 5, 6-9. . . . . . . . .27
Files and Specifications . . . . . . . . . . . . . . . . . . . . . .29
Program Files . . . . . . . . . . . . . . . . . . . . . . . . .29
Application Files . . . . . . . . . . . . . . . . . . . . . . .29
The .STR File. . . . . . . . . . . . . . . . . . . . . . .29
The .IND File. . . . . . . . . . . . . . . . . . . . . . .30
The .TXX File. . . . . . . . . . . . . . . . . . . . . . .30
The Data Files . . . . . . . . . . . . . . . . . . . . . .31
The .TMP Files . . . . . . . . . . . . . . . . . . . . . .31
Specifications. . . . . . . . . . . . . . . . . . . . . . . . .32
Fields: Introduction . . . . . . . . . . . . . . . . . . . . . . . .33
Field Fundamentals. . . . . . . . . . . . . . . . . . . . . . .33
Field Codes and Field Names . . . . . . . . . . . . . . . . . .34
Field Types . . . . . . . . . . . . . . . . . . . . . . . . . .34
Alphanumeric Fields: A, U, and Variable-Length Text. . . .34
Numeric Fields: N, G, H, F, D, and T . . . . . . . . . . .35
Display Mode Indicators . . . . . . . . . . . . . . . . . . . .40
Fields: Issues . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Choosing Between ::C and ::N Fields . . . . . . . . . . . . . .43
Do You Need the Field to Be Real?. . . . . . . . . . . . .43
Issues Concerning Totalling. . . . . . . . . . . . . . . .44
Keeping Subpanel Data Current. . . . . . . . . . . . . . .45
Computed Fields and DataPerfect's Work Space . . . . . . .51
Choosing Between G Fields and N Fields. . . . . . . . . . . . .52
The H Field . . . . . . . . . . . . . . . . . . . . . . . . . .53
Date Fields . . . . . . . . . . . . . . . . . . . . . . . . . .54
When You Might Not Want to Use the D Field for Dates . . .54
The Date Field as a Special Numerical Field. . . . . . . .58
Two-Digit vs. Four-Digit Years . . . . . . . . . . . . . .59
A Note about International Dates . . . . . . . . . . . . .60
The Time Field. . . . . . . . . . . . . . . . . . . . . . . . .60
Using Time Fields To Guarantee Uniqueness Of Records . . .61
Computing Elapsed Time: The Simple Case. . . . . . . . . .62
Calculating Elapsed Time Across the 24-Hour Barrier. . . .62
First Solution . . . . . . . . . . . . . . . . . . . . . .63
An Alternative Solution:
Using the Concepts of MOMENT and MODULO . . . . . . .66
Formula Changes to Trap Incorrect Data Entry . . . . . . .68
A Special Use for the MOMENT Function in Reports . . . . .69
Notes on Deleting a Field . . . . . . . . . . . . . . . . . . .71
Lookups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Fundamentals of Lookups . . . . . . . . . . . . . . . . . . . .73
Subfield Lookups. . . . . . . . . . . . . . . . . . . . . . . .74
The Data Link Subgroup Lookup . . . . . . . . . . . . . . . . .76
Making Lookups Look Better (Browse Mode). . . . . . . . . . . .79
Smart Lookups (Browse Mode) . . . . . . . . . . . . . . . . . .80
The Smart Lookups Algorithm . . . . . . . . . . . . . . . . . .82
Strategy in Defining a Browse Mode Lookup
Using the Smart Lookups Algorithms. . . . . . . . . .86
What if you don't want the lookup field
to be the first field in its own lookup field list? .88
Reasons for Assigning a Lookup to a Hidden Field . . . . . . .88
Reasons for Assigning a Lookup to a Non-Updatable Field . . . .90
A Note about Saving a Lookup Definition . . . . . . . . . . . .91
Troubleshooting Lookups . . . . . . . . . . . . . . . . . . . .92
Indexes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . .95
The .IND File . . . . . . . . . . . . . . . . . . . . . . . . .95
How Indexes Sort. . . . . . . . . . . . . . . . . . . . . . . .96
Uniqueness and Picking Fields for the Index Field List. . . . .98
Sorting Backwards with Reverse Indexes. . . . . . . . . . . . 100
Reverse Sorting by Number. . . . . . . . . . . . . . . . 100
Reverse Sorting by Date. . . . . . . . . . . . . . . . . 103
The .STR File and Index Regeneration. . . . . . . . . . . . . 105
Exception Lists . . . . . . . . . . . . . . . . . . . . . . . 106
What They Are. . . . . . . . . . . . . . . . . . . . . . 106
The Lowest Numbered Index: A Caveat. . . . . . . . . . . 108
Aiding Lookups with Exception List Indexes . . . . . . . 109
Speeding Reports with Exception List Indexes . . . . . . 110
Aiding Computed Fields in a Parent Panel
with Exception List Indexes . . . . . . . . . . . . 110
Dividing Data File Record Access with Exception List Indexes113
Warning: Exception List Index Bug in Version 2.2 . . . . 114
Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Flat-File DBMS vs. Relational DBMS. . . . . . . . . . . . . . 117
The Four Linking Relationships. . . . . . . . . . . . . . . . 118
One-to-Many Linking. . . . . . . . . . . . . . . . . . . 118
Many-to-One Linking. . . . . . . . . . . . . . . . . . . 118
One-to-One Linking . . . . . . . . . . . . . . . . . . . 118
Many-to-Many Linking . . . . . . . . . . . . . . . . . . 119
The Two Types of DataPerfect Links. . . . . . . . . . . . . . 119
Creating and Defining a Panel Link. . . . . . . . . . . . . . 121
The Link Index and Link Field List . . . . . . . . . . . 123
A Note about a Panel Link's Index. . . . . . . . . . . . 125
The Action of a Panel Link. . . . . . . . . . . . . . . . . . 125
The Data Link . . . . . . . . . . . . . . . . . . . . . . . . 126
Defining a Data Link . . . . . . . . . . . . . . . . . . 127
The Link Options Menus. . . . . . . . . . . . . . . . . . . . 129
Panel Link Options . . . . . . . . . . . . . . . . . . . 130
Data Link Options. . . . . . . . . . . . . . . . . . . . 132
Data Link Options Caveats. . . . . . . . . . . . . . . . 135
Data Link Subgroup Lookups. . . . . . . . . . . . . . . . . . 135
Choosing Between the Panel Link and the Data Link . . . . . . 138
A Caveats Regarding Data Links. . . . . . . . . . . . . . . . 140
The Recursive Panel Link. . . . . . . . . . . . . . . . . . . 143
Conditional Incrementation Using a Recursive Panel Link. 143
Absolute Incrementation Using a Recursive Panel Link . . 145
Reasons for Avoiding Auto-Incrementing Fields. . . . . . 145
Back to Recursive Linking and Absolute Incrementation. . 147
Absolute Incrementation
Using a Recursive Panel Link on a Network . . . . . 148
Virtual Link vs. Subreport Using Virtual Link . . . . . . . . 151
Making Panel Links Safer. . . . . . . . . . . . . . . . . . . 152
Troubleshooting Links . . . . . . . . . . . . . . . . . . . . 154
Keep A Total . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 159
Implementing a Keep A Total . . . . . . . . . . . . . . . . . 160
When There's No Parent Record . . . . . . . . . . . . . . . . 162
Using Keep A Total to Update Records in Foreign Panels. . . . 163
The Indexes. . . . . . . . . . . . . . . . . . . . . . . 164
The Keep A Total . . . . . . . . . . . . . . . . . . . . 164
How it Works: An Example . . . . . . . . . . . . . . . . 165
General Principles . . . . . . . . . . . . . . . . . . . 165
Keep A Total vs. Cascade Update . . . . . . . . . . . . . . . 167
Reports: Introduction. . . . . . . . . . . . . . . . . . . . . . . 169
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 169
The Initial Report Definition Screen. . . . . . . . . . . . . 170
Report Name. . . . . . . . . . . . . . . . . . . . . . . 171
Options 1 and 2: Destination . . . . . . . . . . . . . . 171
Option 6: Disk File Mode . . . . . . . . . . . . . . . . 172
Option 7: Print Margins. . . . . . . . . . . . . . . . . 172
Finding What Panel a Report Is Based On. . . . . . . . . 174
Panel-Dependent Initial Report Definition Screen Options 175
Option 3: Index Number . . . . . . . . . . . . . . . . . 175
Option 4: Search Conditions. . . . . . . . . . . . . . . 175
Option 5: Sort Direction . . . . . . . . . . . . . . . . 176
Option 8: Edit Report Form . . . . . . . . . . . . . . . 176
The Edit Report Form Screen Sections Delineated. . . . . 179
The Report Algorithm . . . . . . . . . . . . . . . . . . 184
General Theory in Creating a Report . . . . . . . . . . . . . 185
Processing the Right Records . . . . . . . . . . . . . . 185
Getting the Right Information to Print . . . . . . . . . 186
Getting the Report to Look Good. . . . . . . . . . . . . 187
Getting the Report to Complete in a Reasonable Amount of Time187
Knowing Your Place. . . . . . . . . . . . . . . . . . . . . . 188
In the Main Report . . . . . . . . . . . . . . . . . . . 188
In a Subreport . . . . . . . . . . . . . . . . . . . . . 188
Reports: General Structure . . . . . . . . . . . . . . . . . . . . 191
The Basic Report. . . . . . . . . . . . . . . . . . . . . . . 191
Two-Level Reports . . . . . . . . . . . . . . . . . . . . . . 196
Subgroup Reports. . . . . . . . . . . . . . . . . . . . . . . 198
The Subreport . . . . . . . . . . . . . . . . . . . . . . . . 199
Two-Level Reports in Subreports . . . . . . . . . . . . . . . 209
The Primary Sorting Field. . . . . . . . . . . . . . . . 211
Subgroup Reports in Subreports. . . . . . . . . . . . . . . . 212
Reports: Fields. . . . . . . . . . . . . . . . . . . . . . . . . . 215
F Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Print Mode Indicators . . . . . . . . . . . . . . . . . . . . 216
Print Mode Indicators That Alter Field Output Spacing . 216
Print Mode Indicators That Don't Alter Field Output Spacing217
Summary Table. . . . . . . . . . . . . . . . . . . . . . 219
Sneaking Print Mode Indicators into Panel Fields . . . . 221
Variable-Length Text Fields in Reports. . . . . . . . . . . . 221
The ;;N Print Mode Indicator (New Occurrence of Field) . 223
Examples . . . . . . . . . . . . . . . . . . . . . . . . 223
Report Options . . . . . . . . . . . . . . . . . . . . . . . . . . 231
The Report Options Menus. . . . . . . . . . . . . . . . . . . 231
Global Report Options . . . . . . . . . . . . . . . . . . . . 232
Select Report Field. . . . . . . . . . . . . . . . . . . 232
Eliminate Line if Blank. . . . . . . . . . . . . . . . . 234
Page Eject and Skip to Bottom of Page. . . . . . . . . . 235
Prompt for Report Variable . . . . . . . . . . . . . . . 236
Iteration Control. . . . . . . . . . . . . . . . . . . . 236
Section-Specific Report Options . . . . . . . . . . . . . . . 236
Section-Specific Report Options for First Page Header. . 237
Section-Specific Report Options for Other Page Header. . 237
Section-Specific Report Options for Two-Level Header . . 238
Section-Specific Report Options for Report Body. . . . . 238
Section-Specific Report Options for Two-Level Footer . . 240
Section-Specific Report Options in Page Footer . . . . . 240
Section-Specific Report Options in Final Footer. . . . . 240
Report Variables . . . . . . . . . . . . . . . . . . . . . . . . . 243
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 243
Printing Data Not Already in Fields . . . . . . . . . . . . . 244
Skipping Certain Records. . . . . . . . . . . . . . . . . . . 247
Self-Referencing Report Variables . . . . . . . . . . . . . . 251
Counters . . . . . . . . . . . . . . . . . . . . . . . . 251
Recycled Report Variables. . . . . . . . . . . . . . . . 253
Subreports . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 255
Option 1 - Include Subreport. . . . . . . . . . . . . . . . . 255
Subreports: Going From Version 2.2 to 2.3 . . . . . . . . . . 256
Subreports as Subroutines . . . . . . . . . . . . . . . . . . 259
Printing Totals at the Top of the Invoice. . . . . . . . 262
Subreport Using Virtual Link. . . . . . . . . . . . . . . . . 267
The Dummy Report. . . . . . . . . . . . . . . . . . . . . . . 272
Dummy Report Examples . . . . . . . . . . . . . . . . . . . . 274
A Report That Branches to Other Reports. . . . . . . . . 274
Gathering Preliminary Information fromVarious Panels
Before Starting the "Real" Report . . . . . . . . . 283
Prompting the User with the Number of Hits . . . . . . . 288
Reports That Double-Sort Records . . . . . . . . . . . . 290
Printer Control Issues . . . . . . . . . . . . . . . . . . . . . . 299
Open Filename in Report Variable. . . . . . . . . . . . . . . 299
Overwrite Mode from the Report List. . . . . . . . . . . 301
Overwrite Mode Caveat. . . . . . . . . . . . . . . . . . 302
Printer Control Panel . . . . . . . . . . . . . . . . . . . . 303
Direct Approach 1. . . . . . . . . . . . . . . . . . . . 304
Direct Approach 2. . . . . . . . . . . . . . . . . . . . 306
Indirect Approach 1. . . . . . . . . . . . . . . . . . . 307
Indirect Approach 2. . . . . . . . . . . . . . . . . . . 310
What These Reports Look Like . . . . . . . . . . . . . . 311
Direct Report Variable Approach. . . . . . . . . . . . . 311
Indirect Report Variable Approach. . . . . . . . . . . . 315
Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 317
Formula Error Messages: A Warning . . . . . . . . . . . . . . 318
Legal Values and Well-Formed Formulas . . . . . . . . . . . . 318
About The Rest of This Chapter. . . . . . . . . . . . . . . . 321
String Identity . . . . . . . . . . . . . . . . . . . . . . . 321
Perfect Matches and the Identity Operator. . . . . . . . 322
CASES Statements vs. IF-THEN Statements . . . . . . . . . . . 325
APPLY.FORMAT and CONVERT. . . . . . . . . . . . . . . . . . . 327
APPLY.FORMAT . . . . . . . . . . . . . . . . . . . . . . 328
CONVERT. . . . . . . . . . . . . . . . . . . . . . . . . 330
SUBSTRING and SUBFIELD. . . . . . . . . . . . . . . . . . . . 330
SUBFIELD . . . . . . . . . . . . . . . . . . . . . . . . 330
SUBSTRING. . . . . . . . . . . . . . . . . . . . . . . . 335
A String Identity Variation. . . . . . . . . . . . . . . 336
CONTAINS. . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Spaces and Carriage Returns in Formulas . . . . . . . . . . . 338
Troubleshooting Formulas. . . . . . . . . . . . . . . . . . . 339
Iteration Control. . . . . . . . . . . . . . . . . . . . . . . . . 341
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 341
Skip Record if RV is False. . . . . . . . . . . . . . . . . . 341
Skip To and Stop If . . . . . . . . . . . . . . . . . . . . . 345
The Variable Entity in Skip To Operations. . . . . . . . 345
Strategic Placement of the Skip To Code. . . . . . . . . 346
The Internal Logic of the Skip To Code . . . . . . . . . 347
Combining the Skip To Code with the Stop If Code . . . . 347
User Chooses Next Record By LookUp. . . . . . . . . . . . . . 352
Placing the User Chooses code in the First Page Header . 354
Placing the User Chooses code in the Report Body . . . . 356
Single Record Report From Lookup off a Menu. . . . . . . 356
How Report Lookups Display . . . . . . . . . . . . . . . 357
Repeat If . . . . . . . . . . . . . . . . . . . . . . . . . . 359
A Note about DataPerfect's Notion of Truth. . . . . . . . . . 361
Iteration Control Examples. . . . . . . . . . . . . . . . . . 364
Limiting a Report to One Record. . . . . . . . . . . . . 364
Limiting a Report to a Particular Number of Records. . . 365
A Report That Prints a Particular Number of Iterations per Record365
A Date-Range Report. . . . . . . . . . . . . . . . . . . 366
A Report That Prints Monthly Statements
for All and Only Accounts with a Positive Balance . 367
Getting a Report to Continue after the
Last Record in the Lookup Is Selected . . . . . . . 367
Troubleshooting Iteration Control . . . . . . . . . . . . . . 368
Export/Import. . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Reasons for Exporting or Importing Data . . . . . . . . . . . 371
WordPerfect Merge Files . . . . . . . . . . . . . . . . . . . 372
The Setup. . . . . . . . . . . . . . . . . . . . . . . . 372
The Nature of the Export File, Including Some Caveats. . 373
Importing a WordPerfect Merge File . . . . . . . . . . . 375
Duplicate Records Action . . . . . . . . . . . . . . . . 376
What Happens During a WordPerfect Merge File Import. . . 377
Exporting and Importing Transaction Logs. . . . . . . . . . . 378
Strategies: Merge File vs. Transaction Log. . . . . . . . . . 379
Deleting and Creating Fields . . . . . . . . . . . . . . 379
Moving Fields Without Deleting or Adding Fields. . . . . 380
DOS Delimited Text. . . . . . . . . . . . . . . . . . . . . . 380
Exporting to DOS Delimited Format. . . . . . . . . . . . 380
Importing From DOS Delimited Format. . . . . . . . . . . 384
The Clipboard. . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 385
In Define Panel Mode. . . . . . . . . . . . . . . . . . . . . 385
In a Specify Formula Screen . . . . . . . . . . . . . . . . . 386
In Report Definition Mode . . . . . . . . . . . . . . . . . . 388
Field Formulas and Help Screens: A Caveat . . . . . . . . . . 391
Securing the Application . . . . . . . . . . . . . . . . . . . . . 393
Application Passwords . . . . . . . . . . . . . . . . . . . . 393
Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
The Define Menu Screen . . . . . . . . . . . . . . . . . 394
Create/Edit Menu Text. . . . . . . . . . . . . . . . . . 395
Move the Menu Prompt . . . . . . . . . . . . . . . . . . 396
Go to Panel. . . . . . . . . . . . . . . . . . . . . . . 396
Run Report . . . . . . . . . . . . . . . . . . . . . . . 398
Run Report Option Caveats. . . . . . . . . . . . . . . . 400
Go to Panel List . . . . . . . . . . . . . . . . . . . . 401
Go to Report List. . . . . . . . . . . . . . . . . . . . 401
Submenu. . . . . . . . . . . . . . . . . . . . . . . . . 402
Launch Shell Macro . . . . . . . . . . . . . . . . . . . 402
Edit an Existing Entry . . . . . . . . . . . . . . . . . 402
Delete an Existing Entry . . . . . . . . . . . . . . . . 402
User ID Panel . . . . . . . . . . . . . . . . . . . . . . . . 403
User ID Panel Caveats. . . . . . . . . . . . . . . . . . 404
Tracking User Activity: the USER.FIELD[n] Function . . . 405
Controlling User Access. . . . . . . . . . . . . . . . . 406
The User ID Panel vis a vis Application Passwords. . . . 409
User-Stamping Records. . . . . . . . . . . . . . . . . . 410
Controlling Access to Data Accessed from a Menu. . . . . 410
Controlled Panel Link Access to Subrecords . . . . . . . 412
Data Link Subgroup Lookups and the USER.FIELD[n] Function412
A Note on Deselecting the User ID Panel. . . . . . . . . 414
Troubleshooting Menus . . . . . . . . . . . . . . . . . . . . 414
Securing Data Entry. . . . . . . . . . . . . . . . . . . . . . . . 415
Preventing Inadvertent Editing. . . . . . . . . . . . . . . . 415
The DPMouse Alternative . . . . . . . . . . . . . . . . 416
Keeping a Saved Field from Being Edited . . . . . . . . . . . 416
Field and Record Protection . . . . . . . . . . . . . . . . . 417
Controlling Data Entry: The Pick List Field. . . . . . . 417
Closing Off a Data Link to Protect a Pick List Panel . . 418
Closing off Access to the Panel List . . . . . . . . . . 419
Controlling Data Entry: Initial Formula or Value . . . . 419
Controlling Data Entry: The Basic Default Panel. . . . . 420
Controlling Data Entry: The Complex Default Panel. . . . 422
Controlling Data Entry with ZipKey . . . . . . . . . . . 426
Pyramidal Design as a Data Integrity Strategy. . . . . . 427
The Hidden Panel . . . . . . . . . . . . . . . . . . . . 430
Controlling Record Creation with Indexes . . . . . . . . 432
Controlling Record Creation with the ::M Field . . . . . 434
DPMouse and Field Protection. . . . . . . . . . . . . . 436
Using DPMouse To Conditionally Close A Panel Link.. . . 437
Using DataPerfect 2.3's Menu Facility
To Prevent Creation of Records via a Link . . . . . 437
Controlling Record Deletions with DPMouse . . . . . . . 438
Controlling Data Entry with Reports . . . . . . . . . . . . . 439
Reports That Control Record Deletions . . . . . . . . . . . . 439
Providing an Undelete. . . . . . . . . . . . . . . . . . 442
Lookups and the Undelete Scheme. . . . . . . . . . . . . 442
Totaling and the Undelete Scheme . . . . . . . . . . . . 443
Physically Deleting the Record . . . . . . . . . . . . . 444
Reports That Control Record Creation. . . . . . . . . . . . . 446
Reports That Control Editing. . . . . . . . . . . . . . . . . 448
Hiding Data Entry . . . . . . . . . . . . . . . . . . . . . . 450
Application Maintenance Utilities. . . . . . . . . . . . . . . . . 455
DPExport and DPImport . . . . . . . . . . . . . . . . . . . . 455
.STE Editing Caveats . . . . . . . . . . . . . . . . . . 455
DPImport Caveats . . . . . . . . . . . . . . . . . . . . 456
Importing Reports. . . . . . . . . . . . . . . . . . . . 456
DPDiagnostics . . . . . . . . . . . . . . . . . . . . . . . . 457
Optimization Messages. . . . . . . . . . . . . . . . . . 458
Warning Messages . . . . . . . . . . . . . . . . . . . . 458
Error Messages . . . . . . . . . . . . . . . . . . . . . 458
DPOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
STE Manager . . . . . . . . . . . . . . . . . . . . . . . . . 460
Application Maintenance Issues . . . . . . . . . . . . . . . . . . 465
Upgrading a Client to a New Version of DataPerfect. . . . . . 465
Compatibility Between Different Versions of DataPerfect . . . 465
When It's Okay to Overwrite an .STR . . . . . . . . . . . . . 466
Removing Duplicates in a Panel. . . . . . . . . . . . . . . . 470
How Duplicates Are Created . . . . . . . . . . . . . . . 471
Removing Duplicates in a Single Panel. . . . . . . . . . 472
Removing Duplicates in the Entire Database . . . . . . . 473
Cleaning the .STR Without Re-indexing . . . . . . . . . . . . 474
The Big Clean: Cleaning the Entire Application. . . . . . . . 474
Fixing a Corrupt .TXX File. . . . . . . . . . . . . . . . . . 475
Crippling Applications. . . . . . . . . . . . . . . . . . . . 477
Date Crippling . . . . . . . . . . . . . . . . . . . . . 477
Record-Number Crippling. . . . . . . . . . . . . . . . . 478
Password-Protected Zip File. . . . . . . . . . . . . . . 478
Epilogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Support Avenues . . . . . . . . . . . . . . . . . . . . . . . 479
CompuServe Support . . . . . . . . . . . . . . . . . . . 479
Internet Support . . . . . . . . . . . . . . . . . . . . 479
The DataPerfect Users Cooperative . . . . . . . . . . . . . . 480
|