PRB: Dynaset Loses Contents After Transaction RollbackLast reviewed: June 21, 1995Article ID: Q109995 |
The information in this article applies to:
- Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 3.0
SYMPTOMSIf a Dynaset is used in a transaction, records in the Dynaset appear to be lost when the transaction is rolled back.
CAUSEThis is by design. A Dynaset is populated one record at a time, so the RollBack operation removes all the records added during the transaction. After the RollBack operation, the Dynaset contains the single record that was there before BeginTrans began the transaction.
RESOLUTIONCreate the complete Dynaset before starting the transaction. For example, replace the code shown in step 3 of the More Information section with this code:
Sub Command1_Click () Dim db As database Dim ds As Dynaset Set db = OpenDatabase("Biblio.mdb") Set ds = db.CreateDynaset("authors") ' Create the complete Dynaset before starting the transaction. ds.MoveLast ds.MoveFirst ' Populate the listbox with the contents of the Dynaset. BeginTrans While Not ds.EOF list1.AddItem ds(0) ds.MoveNext Wend Rollback ds.MoveFirst While Not ds.EOF list2.AddItem ds(0) ds.MoveNext Wend End Sub STATUSThis behaviour is by design. MORE INFORMATION
Steps to Reproduce Behavior
|
Additional reference words: 3.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |