Next Tip    Running Multiple Queries Using Transactions

Written by Garry Robinson from GR-FX Pty Limited

Sometimes it is important to ensure that multiple queries have all run correctly together before you save the results.  Microsoft Access allows you to do this through the use of transactions.  Following is some example code that runs a number of different action queries using the transaction method

Private Sub cmdPostBatch_Click()
On Error GoTo errorTransaction

'Set up all the declarations and begin the transactionsDim myWrk As DAO.Workspace, myDbs As DAO.DATABASE, sqlStr As String

Set myWrk = DBEngine.Workspaces(0)
Set myDbs = CurrentDb

myWrk.BeginTrans

' Update using a SQL string - Execute is a method that ensures that the query is run as a transaction

sqlStr = "UPDATE PaymentPeriods SET PaymentPeriods.runStatus = 'P' WHERE (((PaymentPeriods.paymentRunId)= " & [Forms]![FX_Payments]![paymentRunId] & "))"
myDbs.Execute sqlStr, dbFailOnError

' Now run an append query that is stored in the Query Container in the database

myDbs.Execute "FX_PaymentPosted", dbFailOnError

' Now run a SQL delete records statement that is declared separately
myDbs.Execute sqlClearBatch, dbFailOnError

' Now all the action queries are commited together
myWrk.CommitTrans

exitTransaction:

myDbs.Close
myWrk.Close
Exit Sub

errorTransaction:

' Something happened so all the queries are not committed
  myWrk.Rollback
  MsgBox "Transaction was not completed successfully", vbCritical, "Problem with batch run"
goto exitTransaction

end sub


As an alternative to transactions, search the Access help for 

querydef execute

and look for the DB_FAILONERROR option to the execute method.

External Links

Returning the Number of Records or Rows Affected by an Action Query with VB6/VBA

Try out our popular Access shareware Graf-FX
    http://www.vb123.com/explore


 

Our Tools and Resources

  • RSS & Newsletter Here
    Join our newsfeed or sign up for our informative newsletter on Office Automation, Access and VB topics
  • Get Good Help
    If you need help with a database, our Australian Professionals could be the answer

  • Smart Access is online 
    The best magazine written about Microsoft Access is now being transferred to the web. There are 400 articles written by a 100 authors in the collection. 

    Purchase Smart Access

  • The Workbench
    Find out who has your database open, start the correct version of Access, easy compacting and backups, change startup options, creation versions,  shutdown database

  • Read about the Toolbox
    Sample downloads, library resource kit and searchable help file comprising most of the information at vb123.com.au plus hidden downloads etc. Includes one of Smart Access downloads.

  • Convert Access to SQL Server  
    Upsize to SQL Server 2005 or 2008, easily repeated conversions, highly accurate SQL query  translation and web form conversion.
  • Purchase the Popular FMS Products  
    If you purchase the Popular FMS products from us, you will receive a complimentary of Smart Access Gold, Silver or Bronze Collections [Your choice]

 

 

vb123 Professionals


Get Good Help Here

If you need help with a database or Office programming, our Professionals could be the answer because we have worked on many similar solutions



Frontpage Conversions
We have converted vb123.com to Expression Web, contact us if we can help you move to the latest Microsoft web tool.


About The Editor ~ Contact Us
Garry Robinson writes for a number of popular computer magazines, is now a book author and has worked on 100+ Access databases. He is based in Sydney, Australia

Access 2003 Security

MS Access Security

Read More here