.NET2.0よりTransactionScopeが登場し、トランザクションの実装が楽になった。
ただ、Accessで使えるのかどうかはわからなかったため、調査した時のメモ。
■結論
無理そう。残念。
■参考
Accessは分散トランザクションをサポートしていないため、利用できない模様。by David Sceppa (ADO.NET Program Manager)
この方が書いた「プログラミングMicrosoft ADO.NET2.0」*1にはお世話になっているので、確かな情報かと。
SQL Server Forums - Distributed Trans. Coordinator for DAO and RDO
accdbではないが、mdbではITransactionJoinをサポートしていないから、無理とのこと。
VisualStudioフォーラム - TableAdapterでトランザクション処理をしたいのですが・・・
たしかに、Jet4.0は、「ITransactionJoin」をサポートしていない(ODBCの場合は、ODBCドライバーによるらしい)。
Microsoft KB221071 - ITransactionLocal および ITransactionJoin 情報: OLE DB プロバイダーのサポート
MSDNマガジンにも、mdbは分散トランザクションがサポートされていないとの記載
http://preview.library.microsoft.com/ja-jp/magazine/aa933482
ただ、OLEDBライブラリがITransactionJoinが実装されていれば、分散トランザクションに参加OKとか。
(by COM+ Programming with Visual Basic Chapter 9. Transaction Services)
*1:英語版では、この.net4.0版が出る模様。