みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ExcelVBA Accessにデータ書き込み

VBAでコマンドボタンを押した際に特定のセルの値をAccessDBに入力するプログラムを作りたいのですが、上手くいきません...。

実行した際に「実行時エラー '21472179000 (80040e 14)': オートメーションエラーです。」と表示されます。

また、ステップインで実行してみるとEnd Withのところでエラーが発生します。

恐らくインサート文が間違っていると思うのですが、試行錯誤しても解決できませんでしたので教えて頂きたいです。

以下プログラムです。

Private Sub CommandButton1_Click()

Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim constr As String
Dim strSQL1 As String

Dim a As String
a = Range("A1").Value
Dim b As String
b = Range("A2").Value
Dim c As String
c = Range("A3").Value

constr = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=~.accdb

strSQL1 = "insert into " & _
"TableName (1,2,3) " & _
"values ('" + Range("A1").Value + "','" + Range("A2").Value + "','" + Range("A3").Value + "')"

Set cn = New ADODB.Connection
cn.ConnectionString = constr
cn.Open

Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cn

.CommandText = strSQL1
.Execute

End With

Set cmd = Nothing
Set rs = Nothing
cn.Close
Set cn = Nothing

End Sub

以上、宜しくお願い致します。

投稿日時 - 2019-07-22 14:37:03

QNo.9637999

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

SQLの最後に「;」がないのがまずいとかではないでしょうか。

投稿日時 - 2019-07-22 18:39:21

あなたにオススメの質問