用VBA怎么把Excel中数据导入到access中

2024-12-30 23:23:13
推荐回答(1个)
回答1:

这里假定你的access表名为a,而且a表和你的excel都只有id,name两列,通过判断id是否存在决定是否更新a表。
你的按钮单击事件中写如下代码:
Private Sub CommandButton1_Click()
Dim connstr As String
Dim conn As New ADODB.Connection

connstr = "F:\My Access\db1.mdb" ‘你的access的完整路径
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & connstr & ";Persist Security Info=False" ’设置access的连线
conn.Open ’打开access的连线
conn.Execute "select * into temp FROM [Excel 8.0;DATABASE=" & ThisWorkbook.FullName & ";HDR=YES].[Sheet1$A1:R65536];" ‘将你的excel的sheet1资料上传到access的临时表temp中
conn.Execute "insert into a(id,name) select * from temp where id not in (select id from a) " ’将temp表的资料更新到access的a表中
conn.Execute "drop table temp" ‘删除access的临时表temp
MsgBox "完成!"
conn.Close
Set conn = Nothing
End Sub

希望你能成功!