INFO: Ideas to Consider When Using Transactions Visual Basic

ID: Q145757


The information in this article applies to:


SUMMARY

When you are using the transaction statements to perform the processing on your database records, you may want to structure the transaction processing under certain guidelines. For example, you should try to keep your transaction processing loop as small as possible. Do not try to execute a large number of statements before performing a Rollback or CommitTrans statement. Below is a brief list of ideas and possible problems that you may encounter if you do not structure your transaction processing loop under certain guidelines.

In later versions of Jet that come with Visual Basic 5.0 and 6.0, internal automatic transactions are provided for DAO. Refer to page 74 in the "Guide to Data Access Objects" manual for Visual Basic 5.0.


MORE INFORMATION

The list below is provided to help you produce better and more reliable transaction type processing programs with the transaction statements provided in Visual Basic 4.0 for Windows.

List of ideas to keep in mind with Transaction Processing

A recommended example of using the transaction functions is provided below. This example demonstrates how to convert an ASCII text file into a Access database table. With the transaction statements added, you should see a improvement in speed. For a complete example of the entire article, please see the following article in the Microsoft Knowledge Base:
Q103807 : How to Convert a Text File into a New Access Database

For example:

   BeginTrans
       Do While Not (EOF(1))
          newtb.AddNew
          Line Input #1, tmp1$               '*** Retrieves empl_id.
          Line Input #1, tmp2$               '*** Retrieves empl_name.
          Line Input #1, tmp3$               '*** Retrieves empl_addr.
          Line Input #1, tmp4$               '*** Retrieves empl_ssn.
          newtb("Emp_ID") = Trim$(tmp1$)     '*** Place in new field1.
          newtb("Emp_Name") = Trim$(tmp2$)   '*** Place in new field2.
          newtb("Emp_Addr") = Trim$(tmp3$)   '*** Place in new field3.
          newtb("Emp_SSN") = Trim$(tmp4$)    '*** Place in new field4.
          newtb.Update                       '*** Saving to new table.
       Loop
   CommitTrans 

Note: For more information on Visual Basic and transactions, see the Database Transaction Methods and Statements section of the Optimization and Version Compatibility Considerations chapter in the "Guide to Data Access Objects" book (contained in the "Professional Features" Visual Basic manual).

The Visual Basic manual assumes you are using the 32-bit edition of Visual Basic 4.0. If you are using the 16-bit edition of Visual Basic 4.0, refer to the Microsoft Access 2.0 user manual. For general information on transaction processing systems, refer to the "Microsoft SQL Server Transact SQL Guide."


REFERENCES

For more information on Transactions and DAO please see the following article in the Microsoft Knowledge Base:

Q170548 : PRB: DAO Transactions to ODBC Database Can Hang Application

Additional query words: kbVBp400 kbdse kbDSupport kbVBp


Keywords          : 
Version           : 
Platform          : NT WINDOWS 
Issue type        : kbinfo 

Last Reviewed: June 4, 1999