
初心者でもうしわけありません。
AccessでINSERT INTO 退会者データをTable_会員マスタからTable_退会者テーブルに移動し
それが終わったらDELETE Table_会員マスタを行いたいのですが(keyは会員マスタの退会日が
Nullではないこと)それぞれのクエリは書けてますしSQLでみることもできます。
埋め込みマクロでは簡単に両SQLを連続して実行できるのですが、マクロで実行する場合2つの
SQLを接続する(くっつける)のってANDとかなにかいるのでしたっけ??2つの文章(SQL)をならべるだけでは実行できないようですが。
ちなみにあまり関係はないとはおもいますが退会者マスタ(テーブル)と会員マスタの
レイアウトは全く同じです。(しいて言えば会員番号は会員マスタでは主キイですが、
退会者テーブルでは主キイはありません)
No.2
- 回答日時:
クエリが既に書けてるなら、マクロでクエリを連続して実行するとか。
まあマクロより、Access VBAでプロシージャ書くほうが楽な気がします。デバッグしやすいので。

Internetでの解決策(VBA)をみつけました。
https://tsware.jp/study/vol12/qryupsize_26.htm
実際に2件の退職日を記載したレコードが退職者テーブルに移行し削除されました。
Private Sub 退会者削除_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "退会者データ作成"
DoCmd.OpenQuery "退会者会員マスタより削除"
DoCmd.SetWarnings True
End Sub
警告がないので、ほんとに実行したのかと思いましたが退職者テーブルに
2件かきこまれ、会員マスタから2件削除されてました。
DoCmdとかOpenQueryとか””で作成したクエリをかこむなど
基本的なこともわからずでした。おふたりの協力を感謝申し上げます
No.1
- 回答日時:
通常、SQLをいくつも実行する必要がある場合は、VB.NETとかJavaとかC#など、プログラミング言語からSQLを実行します。
SQLだけでは実現できないです。
補足にも書きましたが
Internetでの解決策(VBA)をみつけました。
https://tsware.jp/study/vol12/qryupsize_26.htm
実際に2件の退職日を記載したレコードが退職者テーブルに移行し削除されました。
Private Sub 退会者削除_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "退会者データ作成"
DoCmd.OpenQuery "退会者会員マスタより削除"
DoCmd.SetWarnings True
End Sub
警告がないので、ほんとに実行したのかと思いましたが退職者テーブルに2件
かきこまれ、会員マスタから2件削除されてました。
DoCmdとかOpenQueryとか””で作成したクエリをかこむなど
基本的なこともわからずでした。おふたりの協力を感謝申し上げます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 複数テーブル・複数フィ...
-
検索結果の列数を動的に変更したい
-
INSERT文で発行したオートナン...
-
Access レコードを追加できませ...
-
列が255以上のCSVファイルをAcc...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
異なるスキーマからデータを抽...
-
CLOB型へのINSERT
-
datapumpの実行方法について
-
INDEXの無効化
-
postgreSQLのint型は桁数指定が...
-
テーブル名を[]でくくらないと...
-
Data Pump で大量データインポ...
-
SQL*Loaderで、データを加工し...
-
Oracle複数の表をもとにmerge文...
-
カラムの存在チェック
-
Oracleはどの程度まで巨大なテ...
-
特定のスキーマのテーブルを一...
-
INSERT時に発番を行いたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数テーブル・複数フィ...
-
Access レコードを追加できませ...
-
列が255以上のCSVファイルをAcc...
-
検索結果の列数を動的に変更したい
-
INSERT文で発行したオートナン...
-
excel2013のテーブルについて
-
【Access】外部結合を行う前に...
-
Access コンボボックスを使った...
-
AccessのInsertクエリのあとつ...
-
Accessで、マスター情報を参照...
-
複数テーブルをひとつのテーブ...
-
アクセスでフォームに追加項目...
-
複数あるAccessのテーブルを一...
-
売価変更がある商品の売上金額
-
コンボボックスの2段階絞込み
-
ACCESSでの文字列の比較
-
コンボボックスの表示について
-
Accessのテーブル内の文字の置...
-
出勤管理のデータベース設計
-
検索フォームで検索するものが...
おすすめ情報
ということは、埋め込みマクロを解析する手段があれば自分でもVBがかけるということですね。
しかし埋め込みマクロの中身は公開されてませんが、非常に残念なところですね。
昔から埋め込みマクロってあったのかも不確かですが。
ところで、VBではかなり難しいでしょうね、特に初心者には。
この題材はユースフル スキルの図書館さんがつくったaccessが元なのですが
彼のモジュールというか元ネタでは退職者テーブルに書き込みをするだけで元のファイルの削除は
提案されていませんでした。(その後追加変更があれば別ですが、Internetでその後
追加変更は確認とれてません、見間違いがなければですが。)
osamuyさん、夜も遅いので画像付きのクエリー連続実行をためしてみます。
明日一日かかるかもしれません。
そのあと結果報告する予定です。では、おやすみなさい。
osamuyさんのマクロとはaccessの埋め込みマクロのことのようです。
これはこれで実現できているのですが、埋め込みマクロは2つのクエリを連続で
実行しているのですが マクロでは連続実行とかできるけれど、元になっている
退会者データ作成(INSERT INTO。。。)と退会者会員マスタより削除
(DELETE ..From Table会員マスタ WHERE。。)を単純に2つ合体させた
クエリでは実行時にエラーとなります。すなわち埋め込みマクロでは中身が
VBのようにはわからないのでどうしてマクロでは連続してできてひとつの
クエリではエラーになるのかがわかりません。(文章の最後の文字の
;がいけないのかと思いましたがそんなことではないようです。)
やはりVBしか方法がないのでしょうか。
まあVBとなれば、その構文を勉強してということになるので1か月くらいあとに
なるかとおもわれます。
Internetでの解決策(VBA)をみつけました。
https://tsware.jp/study/vol12/qryupsize_26.htm
実際に2件の退職日を記載したレコードが退職者テーブルに移行し削除されました。
Private Sub 退会者削除_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "退会者データ作成"
DoCmd.OpenQuery "退会者会員マスタより削除"
DoCmd.SetWarnings True
End Sub
警告がないので、ほんとに実行したのかと思いましたが退職者テーブルに2件
かきこまれ、会員マスタから2件削除されてました。
DoCmdとかOpenQueryとか””で作成したクエリをかこむなど
基本的なこともわからずでした。おふたりの協力を感謝申し上げます