乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何将excel里的数据批量导入ACCESS,要用vb代码?-excel写入access,access excel 交互

如何将excel里的数据批量导入ACCESS,要用vb代码?-excel写入access,access excel 交互

作者:乔山办公网日期:

返回目录:excel表格制作


1.在Access中创建对Excel工作簿的链接:在Access中选择“外部数据——导入——Excel”。

2.在“获取外部数据”对话框中选择“通过创建链接表来链接到数据源”。
必须为每个Excel工作簿重复该过程直到将它们都链接到数据库。结果如下图所示。

3.在SQL视图中开始新的查询,单击“创建——其他——查询设计”。

4.选择“查询工具-设计”中的“SQL视图”

5.在SQL视图中,为所有链接的Excel表输入Select语句,在每个Select语句间使用Union操作符,在SQL视图中输入选择查询语句。

6.运行查询后,结果将是包含从所有链接的文件中获取并合并后的数据
只要链接的Excel文件在相同的位置,每次打开数据库时Access将自动刷新链接以获取最新数据。这意味着只需设置一次,然后在每次需要重新组合Excel文件时运行联合查询。
然而,默认情况下,UNION操作符会移除数据中的任何重复行。如果知道数据中有重复行,并且想保留它们,那么需要使用UNION ALL,以允许传递重复行。

不用VB代码,手动导入可以用access的导入功能。

方法:

功能菜单->外部数据->Excel

然后按提示

1、选择文件copy

2、选择导入的Sheet名称

3、首行是否包含标zd

4、选择索引

5、添加主键

6、导入到Access的表名

7、完成


将excel建立为数据源,用windows的控制面板--数据源,然后从数据源读入数据到access

三种VBA:
方法一:在eccel VBA编辑器编写代码,使用FOR循环导入:
Sub 利用Excel的VBA将数据写入Access()
'定义ADODB 连接Access数据库
Dim Cnn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim strCon As String
Dim strFileName As String '数据库文件名
strFileName = InputBox("请输入文件路径及文件名:", "Excel传递数据至Access", "E:\ExcelTest\Staff.mdb")
'连接字符串,我这里是Access2010,所提供者参数为:Provider=Microsoft.ACE.OLEDB.12.0;
'如果此参数不能使用,根据自己的电脑修改这个字符串
'至于连接至的数据库名,根据自己的电脑修改,或用一个对话框或其他方式将此值传递进程序
strCon = "provider=Microsoft.jet.OLEDB.4.0;" _
& "Data Source=" & strFileName & ";"
Cnn.Open strCon
Rs.ActiveConnection = Cnn
Rs.LockType = adLockOptimistic
Rs.Open "Employee" '假设表为Employee
'定义Excel表中的数据区域以写入Access
Dim Sht As Worksheet
Dim Rn As Long
Dim Cn As Long
Set Sht = ThisWorkbook.Sheets("Sheet1")
'假设将7a64e59b9ee7ad94365 Sheet1 表的 2-6行的1、2、3列写入Access表
For Rn = 2 To 6
Rs.AddNew
Rs!num = Sht.Cells(Rn, 1) ’num,name,department是数据库中指定表的字段
Rs!Name = Sht.Cells(Rn, 2)
Rs!department = Sht.Cells(Rn, 3)
Rs.Update
Next Rn
MsgBox "完成!"
Rs.Close
Cnn.Close
Set Rs = Nothing
Set Cnn = Nothing
Set Sht = Nothing
End sub

相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网