hiko-blog

VBA業務改善

MENU

Accessへのexport メンテ版

Option Explicit
Sub Accessへのexport()
Dim msn As Worksheet
Set msn = ThisWorkbook.Worksheets("対象")
Dim mycon As New ADODB.Connection 'データベース接続オブジェクト
Dim dbPath As String
dbPath = "Z:\Work\Database2.accdb"
mycon.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & dbPath & ";"
mycon.Open
Dim mrs As New ADODB.Recordset

 'レコードセットオブジェクト
mrs.Open "DELETE * FROM 対象;", mycon ’setされている項目reset
mrs.Open "対象", mycon, adOpenDynamic, adLockPessimistic

'Print '以下 サンプル式なので、検索条件に合わせてVBA作成必要。
'------ここからーーーーーーーーーーーーーー
Dim acn1 As String  'アクセステーブルの項目名   補足:アクセス項目名=エクセル項目名であること
Dim acn2 As String
Dim acn3 As String
Dim acn4 As String
Dim i As String
i = 2
Do Until msn.Cells(i, 1) = ""
acn1 = msn.Cells(i, 1)
acn2 = msn.Cells(i, 2)
acn3 = msn.Cells(i, 3)
acn4 = msn.Cells(i, 4)
mrs.AddNew
mrs!acn1 = acn1
mrs!acn2 = acn2
mrs!acn3 = acn3
mrs!acn4 = acn4
mrs.Update
i = i + 1
Loop
'------ここまでーーーーーーーーーーーーーー
mrs.Close
mycon.Close
Set msn = Nothing
Set mycon = Nothing
Set mrs = Nothing
MsgBox "Dataを登録しました", vbInformation, "登録完了"
End Sub