| 
    
     |  | ▼小僧 さん: 大変遅くなりました m(_ _)m
 
 詳細な解答いただきありがとうございます
 
 何度かトランザクションにチャレンジしたことがあったのですが
 いまいち理解できずにいました
 
 >VBAのコードでいえば OpenQueryメソッドを使ったりした場合には
 >トランザクションの概念がありません。
 
 >DAO や ADO の Execute メソッドを利用して
 >SQLを実行する場合においては
 >トランザクションを設定する事ができるため、
 >一連の処理を「全て行う」か「全て中止する」事ができます。
 
 DAOでは、トランザクションが出来ない
 といったページも見たことがあったような気がしていたのですが
 
 前回、
 【10900】エクセルからアクセスへAddNewで
 ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=10900;id=access
 で、書き込み頂いた
 >DAO で記述されている場合は
 >AddNew で排他処理が行われ、Updateで排他が解除されます。
 
 と
 
 >DAO や ADO の Execute メソッドを利用して
 >SQLを実行する場合においては
 >トランザクションを設定する事ができるため、
 >一連の処理を「全て行う」か「全て中止する」事ができます。
 
 なんとなく全体像が見えてきたような気がします
 
 
 >今回は削除して追加する処理になるため、
 >片方しか行われないと問題が発生してしまいます。
 
 >もし、定時の作業で行うのであれば
 >きちんとトランザクションを用いた方が無難かと思った次第です。
 
 詳細な説明で、重要性が理解できたような気がします
 
 ものにするのには少し時間がかかると思いますが
 何とか頑張りたいと思います
 
 ありがとうございました
 今後もよろしくお願いいたします
 
 |  |