前提・実現したいこと
VBA、SQL初心者です。
AccessVBAで特定のレコードを削除するSQLを実装中、エラーが発生しました。
関連するテーブルとフィールドの構成
・テーブルTabA、フィールドcol1
・テーブルTabB、フィールドcol2
実現したいこと
TabAの特定のレコードを削除したいです。
特定のレコードの条件は
col1が、TabBのcol2と値が一致しているレコードです。
初歩的なミスや勘違いがあればそちらもご指摘いただければ幸いです。
よろしくお願いします。
発生している問題・エラーメッセージ
エラーメッセージ 実行時エラー3075 クエリ式'TabA.col1 IN (SELECT TabB.col2 FROM TabB INNER JOIN TabA ON TabB.col2 = TabA.col1)'の構文エラー
該当のソースコード
VBA
1Dim db As DAO.Database 2Set db = CurrentDb 3 4Dim mySql As String 5 6mySql = "DELETE FROM TabA" 7mySql = mySql & " WHERE TabA.col1 IN (SELECT TabB.col2 FROM TabB INNER JOIN TabA" 8mySql = mySql & " ON TabB.col2 = TabA.col1)" 9 10db.Execute mySql, dbFailOnError 11 12db.Close 13Set db = Nothing
試したこと
・スペルミスがないか、テーブルからテーブル名、フィールド名をコピペ
・サブクエリのTabAとTabB、col1とcol2を入れ替え
補足情報(FW/ツールのバージョンなど)
Access2016
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/25 10:19 編集