Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : DB4ANOM.ZIP
Filename : ANOMALY8.TXT

Output of file : ANOMALY8.TXT contained in archive : DB4ANOM.ZIP


The following listing addresses seven known anomalies when using
dBASE IV. Use of these techniques will aid you in avoiding
anomalies that have been reported to our Software Support
Center. This report will be supplemented as new information is
received. There is also one Usage Tip that may be used in order
to avoid further problems or misunderstandings when using the
dBASE IV product.



SET FIELDS/example contains errors

The example in "Set Commands", page 3-49 of Language
Reference for the SET FIELDS TO command contains several
errors. In the first example, the fourth line is supposed
to be a TALK response. Therefore, the fourth and fifth
lines should be as follows:

Stock: Record 10

In the second example there are two errors. The USE command
should come first, and the SET FIELDS command contains
unnecessary periods. The first and second lines should be
as follows:

. USE Client


FORM/Calculated fields based on other calculated fields

Defining a calculated field during CREATE/MODIFY SCREEN
based upon another calculated field (that was defined in the
current screen), will result in a "Variable not found" error
message. This limitation does not exist in


Create a screen and define a calculated field that uses an
existing numeric field in its expression and call it C1.
Then attempt to define another calculated field using the
expression, C1 * 1. The operation aborts with the
aforementioned error.


Prior to creation of a screen, define a calculated field for

USE Sales
SET FIELDS TO Item,c1=Item * 2 && Item is a numeric field


Defining another calculated field based upon C1 will not
return the "Variable not found" error message.


LOG()/usage incorrectly explained

The explanation of the LOG() function is incorrect in
"Functions" page 4-72 of Language Reference. In the section
titled "Usage" it should state that:

where y is the numeric expression used by the LOG()
. . . LOG() returns the value of x, . . . "

When y=e^x, then LOG(y)=x.

For a referral, the description of LOG() was correct in the
dBASE III Plus manual, page U 6-50.



To maintain compatibility with dBASE III Plus, dBASE IV
allows the SET FILTER TO FILE syntax. The
documentation in "Set commands" page 3-50 of Language
Reference explains that this command, "reads the filter
condition from a file created by CREATE/MODIFY QUERY." This
is misleading, since the queries can only be those created
in dBASE III Plus (.QRY files). Queries created in dBASE IV
(with the extension .QBE), cannot be set via SET FILTER TO

dBASE IV .QBE files can be activated via SET VIEW TO <.QBE
or .VUE query filename>.


Report Forms named "Detail" will not run

If a report is named "DETAIL", the Detail.FRO file will
crash with an "Incorrect number of parameters" message when
the report is run. No error is returned until the report is


1) Name report anything but "DETAIL".

2) A fix for this error is now available in the REPORT.GEN
file dated after 12-9-88, available from The Ashton-Tate
Bulletin Board, and CompuServe.


CONVERT an encrypted file corrupts any locked records

When a file is encrypted and CONVERTed (or CONVERTed and
encrypted), and an RLOCK() is executed, any record that is
locked becomes corrupted. It is important that you identify
the chronology of actions made to the file so as to
successfully retrieve the original unencrypted, unconverted


If the file in question was converted and then encrypted,
the original .DBF file can be retrieved by copying the .CVT
file to .DBF.

If the file was encrypted and then converted, the record
information is lost.
(unless the user has made a backup of the original .DBF



APPEND FROM with large number of index tags

The speed of the APPEND FROM command is markedly affected by
the number of
index tags designated in the production .MDX of the active
database file. As the number of active index tags increase,
the APPEND process will take much longer. Since a
production .MDX file is always opened when a file is USEd,
all tags will have to be updated during an APPEND.

For the best performance, limit the total number of index
tags to only those fields or expressions that are most
commonly required for daily operations. An .NDX or
non-production .MDX can be created or maintained for rarely
used index key expressions. If using an .NDX file, close
the .NDX before APPENDing, then open the index and REINDEX.
If an .MDX file is desired, use a non-production .MDX and
close it during the APPEND operation.

  3 Responses to “Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : DB4ANOM.ZIP
Filename : ANOMALY8.TXT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: