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