PRB: APPEND FROM <File> w/FOR Cause Doesn't Behave As Expected

Last reviewed: April 29, 1996
Article ID: Q95664
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0
  • Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, 2.6
  • Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, 2.6
  • Microsoft FoxPro for Macintosh, versions 2.5b, 2.5c

SYMPTOMS

The APPEND FROM <file> command with a FOR clause appears to fail and behave incorrectly under the following conditions:

  • When SET DELETED is OFF, the APPEND FROM <file> FOR NOT DELETED() command appends all records, including those that have been marked for deletion.
  • If the field referenced in the FOR clause is not in the current database, the APPEND FROM command appends no records, even if there are fields in the original database that meet the FOR condition.

CAUSE

This behavior occurs because the APPEND FROM command evaluates the criteria after it has been copied from the database.

  • In the first instance, the deleted attribute is not valid in this state and therefore all deleted records are copied. If SET DELETED is ON, the APPEND FROM command automatically ignores all deleted records.
  • In the second case, the APPEND FROM command tries to copy all the fields and then delete the fields that do not match the FOR clause. Since the field does not exist in the current database, the condition cannot be met, and the APPEND FROM command fails.

WORKAROUND

To work around this problem, use the COPY TO command as follows:

   COPY TO <file> FOR NOT DELETED()

   -or-

   COPY TO <file> FOR <field> = <value>


Additional reference words: VFoxWin 3.00 FoxMac FoxDos FoxWin 2.00 2.50
2.50a 2.50b 2.60
2.50c
fails
unexpected results DBF database
KBCategory: kbprg kbprb
KBSubcategory: FxprgGeneral


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 29, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.