前提・実現したいこと
ACCESS2016でADODB.ConnectionでUPDATEなど更新がしたい。
DBが他のPCにあるDBでMySQLになります。
接続はODBCで行っています。
発生している問題・エラーメッセージ
commitTransでエラーが発生している。
アクティブなトランザクションはありません。
該当のソースコード
ACCESS/MySQL
1Set cn = CreateObject("ADODB.Connection") 2cn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver];Server=xxx.xxx.xx.xxx;Port=xxxx;Database=xxxxx;user=xxx;Password=xxxx" 3cn.CursorLocation = adOpenStatic 4cn.Mode = adModeReadWrite 5cn.Open 6 7cn.BeginTrans 8cn.Execute strSQL 9cn.CommitTrans ← ここの時点でエラー 10
試したこと
cn.BeginTrans
cn.CommitTrans
でもエラーが発生しています。
トランザクションが起きていない原因が分からない。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
可能であれば、実際に使用されているコードを提示されたほうがよろしいかと思います。
例えば、
Set cn = CreateObject(ADDDB.Connection")
とありますが、「ADO」が「ADD」になってしますし、ダブルクォーテーションもありません。
また、「cn.ConnectionString="設定等"」と書かれていることから、このコードが書かれているAccessから、別のAccessファイルに接続しているように見えますが、それであっていますでしょうか?
DBは他のPCにあるMySQLのDBです。
MySQLなんですね。
私のところでは環境がないのと、経験も少ないのでお役に立てそうにありません。申し訳ありません。
一応、参考まで。
https://t-yumi.jp/gengo/access/201908210759411398.html
MySQLのトランザクションの開始タイミングは、BeginTransではないかもしれません。
https://atsuizo.hatenadiary.jp/entry/2016/12/05/000000
strSQLの内容をご提示いただいた方が良いかもしれません。
あなたの回答
tips
プレビュー