如何将 Excel 的数据写入到 Accees?
Aceess 是微软出品的桌面关系型数据库,也是在 Office 大礼包中的套件之一,和大名鼎鼎的 Excel 不同;Access 主要承担了数据存储和 SQL 查询的功能,需要的数据技能要更为结构化与进阶;总体来说,Excel 的强项在于灵活的分析数据,它的基本对象的单元格Cell;而 Access 的基本对象是Record,是一种结构化的数据形式,可以方便的存储及查询数十万级别的数据。
下面和大家分享一下,如何使用 VBA 将 Excel 和 Access 进行连接,并将数据写到 Access 数据库中;
01 引入 Microsoft ActiveX Data Objects 6.0 Library
在菜单栏 工具->引入->找到Microsoft ActiveX Data Objects 6.0 Library,勾选引入
02 在 Access 新建一个表
- 打开 Access 创建-表
- 右键 左侧 表名称 -> 设计视图
- 重命名表
- 设置需要的字段
- 右键 打开的表名称 -> 保存
- 结果如图,我们需要记住表,以及字段名称
03 在 Excel VBA 内写连接代码
Sub Demo()
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
datapath = ThisWorkbook.Path & "\Demo.accdb"
With conn
.Provider = "microsoft.ace.oledb.12.0"
.Open datapath
End With
MsgBox "连接数据库成功!"
End Sub
我们需要先声明数据库连接对象ADODB.Connection;然后设置数据库路径:ThisWorkbook.Path是表明是当前文件夹路径,然后使用连字符&连接"\Demo.accdb"形成完整的数据库文件路径; 点击运行,连接成功:
04 在 Excel VBA 内写 SQL 代码
我们可以将工作表的B1和B2单元格的内容,作为变量传入 SQL 语句
我们需要向数据库写入数据,需要使用 SQL 代码:Insert Into语句
Sql = "Insert Into Demo(姓名,年龄) Values('" & Sheet1.Cells(2, 1).Value & "','" & Sheet1.Cells(2, 2).Value & "')"
其中第一段字符串,使用连字符将第变量连接起来时,中间有个英文逗号'
05 完整示例代码
Sub Demo()
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
datapath = ThisWorkbook.Path & "\Demo.accdb"
With conn
.Provider = "microsoft.ace.oledb.12.0"
.Open datapath
End With
'MsgBox "连接数据库成功!"
Sql = "Insert Into Demo(姓名,年龄) Values('" & Sheet1.Cells(2, 1).Value & "','" & Sheet1.Cells(2, 2).Value & "')"
conn.Execute (Sql)
End Sub
今天的教程,主要学习了:如何从Excel连接Access数据库,并写入数据;大家都学会了吗?
欢迎关注公众号:KnowHub 知识加油站
后续我们会循序渐进的学习办公编程的其他知识,欢迎大家关注!