如何将 Excel 的数据写入到 Accees?
如何将 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 "连接数据库成功!"