办公问答网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 93|回复: 0

如何将 Excel 的数据写入到 Accees?

[复制链接]

3

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-1-9 14:02:18 | 显示全部楼层 |阅读模式
如何将 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 新建一个表


  • 打开 Access 创建-表



  • 右键 左侧 表名称 -> 设计视图



  • 重命名表



  • 设置需要的字段



  • 右键 打开的表名称 -> 保存



  • 结果如图,我们需要记住表,以及字段名称


<hr/>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"形成完整的数据库文件路径; 点击运行,连接成功:



<hr/>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 & "')"其中第一段字符串,使用连字符将第变量连接起来时,中间有个英文逗号'
<hr/>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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|办公问答网

GMT+8, 2025-4-4 01:51 , Processed in 0.083008 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Templated By 【未来科技 www.veikei.com】设计

快速回复 返回顶部 返回列表