Access VBA で PostgreSQL15 に ADO 接続しています。
データベースに書き込みが出来ません。
エラーメッセージ
実行時エラー '2147217887(80040e21)': 複数ステップの OLE DB の操作でエラーが発生しました。 各 OLE DB の状態の値を確認してください。 作業は終了しませんでした。
該当のソースコード
VBA
1Public ADO_TB As New ADODB.Connection 2Dim SE_SET As String 3Dim SQL As String 4Dim TB As New ADODB.Recordset 5 6 SE_SET = "" 7 SE_SET = SE_SET & "Provider=MSDASQL;" 8 SE_SET = SE_SET & "DRIVER=PostgreSQL Unicode;" 9 SE_SET = SE_SET & "SERVER=localhost;" 10 SE_SET = SE_SET & "DATABASE=test;" 11 SE_SET = SE_SET & "UID=postgres;" 12 SE_SET = SE_SET & "PWD=postgre" 13 Set ADO_TB = New ADODB.Connection 14 ADO_TB.CommandTimeout = 300 15 ADO_TB.Open SE_SET 16 17 Set TB = New ADODB.Recordset 18 SQL = "" 19 SQL = SQL & "SELECT tb_test.* " 20 SQL = SQL & "FROM tb_test " 21 SQL = SQL & "WHERE (tb_test.number = '12345')" 22 TB.Open SQL, ADO_TB, adOpenDynamic, adLockOptimistic 23 If TB.EOF = True Then 24 TB.AddNew 25 End If 26 TB!number = "12345" 27 TB!namae = Me!namae 28 TB!tel = Me!tel 29 TB.Update 30 TB.Close 31 Set TB = Nothing 32
試したこと
TB!number = "12345"
の所でエラーが出ます。
以前はPostgreSQL9.5を使用していましたが、問題なく動作していました。
If TB.EOF = True Then
TB.AddNew
End If
ここでは、TB.EOFはTrueでした。
しかし、エラーが出た後に確認するとTB.EOFはFalseになっていました。
データベースからの呼出しは出来ています。
どなたか、お力添えよろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Windows11
Access2019
PostgreSQL15
回答1件
あなたの回答
tips
プレビュー