>>"Issueing a Rollback Tran isn't needed in many cases...."
First of all, the questioner has not identified that SQL server is being used.
>>"...Connection object itself only supports 1 transaction and 1 transaction level per connection object..."
Secondly, you most certainly can have nested transactions on one connection - but not all servers support nested transactions, or even transactions at all.
Regardless if the provider can handle nested transactions or not, not issuing a RollBack, along with keeping track of transactions, is simply poor programing.
Some programs may be written with the capability to handle different providers, maybe where a clean up isn't handled properly, or at all.
So, keep track of transactions (if intialized and the nested level) regardless of the provider.
"...(should be its own procedure so you can do error handling) ignore (On Error Resume Next) the error or 2) don't issue a RollbackTran."
I do not consider this to be a correct way, esp. when there is a cleaner way to check if a transaction has been started or not.
You need to take into consideration users who post questions here may not be using SQL server, or even using a database server as well, or one single particular provider. Keeping track, will solve all situations. [/b][/i][/u]*******************************************************
General remarks:
If this post contains any suggestions for the use or distribution of code, components or files of any sort, it is still your responsibility to assure that you have the proper license and distribution rights to do so!