|
エクセルで作成したデータをそのままアクセスのテーブルへレコード追加したいと思い、下記のようなマクロを作成しました。
これを作動させると、「型が違います」というエラーになる場合があります。
場合があるというのは、同じ一連の流れの中でバグるときとそうでないときがあるということなのですが、原因がわかりません。
どなたかご教授いただけませんでしょうか?(当方、VBA超初心者です…)
−−−−−−−−−−−−−−−−
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Cmd As ADODB.Command
−−−−−−−−−−−−−−−−
Sub Macro()
Set Cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\" & SPS.mdb
Rs.Open "DATA", Cn, adOpenDynamic, adLockOptimistic
Rs.AddNew
For i = 0 To Rs.Fields.Count - 1
Rs.Fields(i).Value = Worksheets("UpData").Cells(2, i + 1).Value
Next i
Rs.Update
Set Cmd = Nothing
Rs.Close
Set Rs = Nothing
Cn.Close
Set Cn = Nothing
End Sub
|
|