|
如何将 Excel 的数据写入到 Accees?
Aceess 是微软出品的桌面关系型数据库,也是在 Office 大礼包中的套件之一,和大名鼎鼎的 Excel 不同;Access 主要承担了数据存储和 SQL 查询的功能,需要的数据技能要更为结构化与进阶;总体来说,Excel 的强项在于灵活的分析数据,它的基本对象的单元格Cell;而 Access 的基本对象是Record,是一种结构化的数据形式,可以方便的存储及查询数十万级别的数据。
下面和大家分享一下,如何使用 VBA 将 Excel 和 Access 进行连接,并将数据写到 Access 数据库中;
<hr/>01 引入 Microsoft ActiveX Data Objects 6.0 Library
在菜单栏 工具->引入->找到Microsoft ActiveX Data Objects 6.0 Library,勾选引入

<hr/>02 在 Access 新建一个表






<hr/>03 在 Excel VBA 内写连接代码
Sub Demo()
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
datapath = ThisWorkbook.Path & &#34;\Demo.accdb&#34;
With conn
.Provider = &#34;microsoft.ace.oledb.12.0&#34;
.Open datapath
End With
MsgBox &#34;连接数据库成功!&#34;
End Sub我们需要先声明数据库连接对象ADODB.Connection;然后设置数据库路径:ThisWorkbook.Path是表明是当前文件夹路径,然后使用连字符&连接&#34;\Demo.accdb&#34;形成完整的数据库文件路径; 点击运行,连接成功:

<hr/>04 在 Excel VBA 内写 SQL 代码
我们可以将工作表的B1和B2单元格的内容,作为变量传入 SQL 语句
我们需要向数据库写入数据,需要使用 SQL 代码:Insert Into语句
Sql = &#34;Insert Into Demo(姓名,年龄) Values(&#39;&#34; & Sheet1.Cells(2, 1).Value & &#34;&#39;,&#39;&#34; & Sheet1.Cells(2, 2).Value & &#34;&#39;)&#34;其中第一段字符串,使用连字符将第变量连接起来时,中间有个英文逗号&#39;
<hr/>05 完整示例代码
Sub Demo()
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
datapath = ThisWorkbook.Path & &#34;\Demo.accdb&#34;
With conn
.Provider = &#34;microsoft.ace.oledb.12.0&#34;
.Open datapath
End With
&#39;MsgBox &#34;连接数据库成功!&#34;
Sql = &#34;Insert Into Demo(姓名,年龄) Values(&#39;&#34; & Sheet1.Cells(2, 1).Value & &#34;&#39;,&#39;&#34; & Sheet1.Cells(2, 2).Value & &#34;&#39;)&#34;
conn.Execute (Sql)
End Sub

<hr/>今天的教程,主要学习了:如何从Excel连接Access数据库,并写入数据;大家都学会了吗?
欢迎关注公众号:KnowHub 知识加油站
后续我们会循序渐进的学习办公编程的其他知识,欢迎大家关注! |
|