The information in this article applies to:
SYMPTOMSA table is opened and table buffering is enabled. During execution of a program, records are added and deleted. When the TABLEUPDATE(.T.) function is used to commit the changes, the records that were appended and then deleted are also committed to the table, and they retain their deleted status. You might expect that records appended and then deleted would not be included in the table, but this is not the case. CAUSEDeleting a record does not actually delete information. The delete flag is logical information that determines whether a record needs to be removed at a later date. In the same fashion, deleting a record while buffering is enabled places a flag in the record, so the record (with the delete flag) is committed when a TABLEUPDATE is issued. RESOLUTIONIf you do not want newly added and deleted records to be committed, you can scan the table and search for the appended records. If an appended record has been deleted, use the TABLEREVERT() function to discard changes. The following example illustrates this alternative. This example uses local data.
STATUSThis behavior is by design. REFERENCESFor more information about the GETFLDSTATE() function, search for GETFLDSTATE() in the Visual FoxPro Help file. Additional query words: VFoxWin
Keywords : kbcode kbVFp300 kbVFp600 FxprgTable |
Last Reviewed: August 24, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |