|
▼小僧 さん:
大変遅くなりました 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を実行する場合においては
>トランザクションを設定する事ができるため、
>一連の処理を「全て行う」か「全て中止する」事ができます。
なんとなく全体像が見えてきたような気がします
>今回は削除して追加する処理になるため、
>片方しか行われないと問題が発生してしまいます。
>もし、定時の作業で行うのであれば
>きちんとトランザクションを用いた方が無難かと思った次第です。
詳細な説明で、重要性が理解できたような気がします
ものにするのには少し時間がかかると思いますが
何とか頑張りたいと思います
ありがとうございました
今後もよろしくお願いいたします
|
|