|
▼ON さん:
こんにちは。
> Q2)削除、追加のアクションクエリを1つの
> SQLつで実行するようなことは出来ますか
残念ながらAccessではできません。
Access以外のデータベースでは
「UPSERT」なんてキーワードでWeb検索すると
それに近いような事柄が出てくるかと思われます。
仕様がちょっと解りづらいのですが、
新規レコードが加わり、さらに更新がかかった場合、
add_TBLに ID が重複するような事がなければ良いのですが…。
また、削除クエリと追加クエリを行う間に
他割り込み処理が入らない事に注意が必要かもしれません。
(他ユーザの使用や突然のPCのシャットダウン、
ACCESSのフリーズによる強制終了など)
クエリをダブルクリックするのではなく
モジュールからVBAにて実行させる様な方法をとれば、
追加クエリが正常に終了しなかった場合には
削除クエリも行わなかった事にする事も可能です。
こちらについては「トランザクション」「Access」などを
キーワード検索すると事例が載っているかと思われます。
また、こちらも蛇足になるのですが
レコードの削除・追加を頻繁に繰り返すと
MDBの容量が肥大化する事が多々あります。
(定期的に最適化をすれば問題はないのですが)
・IDがある場合のUPDATE処理
・IDがない場合のINSERT処理
という方が、無駄なゴミを作らないですみそうですね。
|
|