excel连接数据库(access和sql sever)

<em>首先,进入VBE(快捷键alt+F11), 工具-引用,将microsoft ActiveX Data Object 2.8 Library(或6.0)勾选。</em>

  • excel连接access数据库
    1.没有密码保护的access数据库
    2.有密码保护的access数据库
    注意:以独占方式打开数据库文件,文件-信息-用密码进行加密
    这里以有密码保护的为例进行说明:
    <code>
    ‘——————————–excel连接access数据库——————-
    Sub SQL_Excel_access()
    On Error Resume Next ‘如果出现错误,忽略,然后执行下一行代码。
    Application.ScreenUpdating = False ‘关闭屏幕刷新,成对出现,提高速度
    Application.DisplayAlerts = False ‘关闭提示,,成对出现,避免出现提示框
    ‘————————————- 参数声明部分 ——————- ——
    Dim cnn, SQL$ ‘定义数据库连接和SQL语句
    Set cnn = CreateObject(“adodb.connection”) ‘创建数据库连接
    Set rs = CreateObject(“adodb.recordset”) ‘创建一个数据集保存数据
    ‘———————————— 设置数据库连接 ——————- —
    cnn.Open “Provider=Microsoft.ACE.OLEDB.12.0;
    Data Source=存放数据库位置;Jet OLEDB:Database password=密码;”
    ‘————————————— 设置SQL语句 ——————- —
    SQL = “select * from 新老访客”
    ‘————————————— SQL结果处理 ——————- —
    Set rs = cnn.Execute(SQL) ‘将SQL语句获得的数据传递给数据集
    Sheets(“结果access”).Cells.ClearContents ‘清理保存数据的区域
    Sheets(“结果access”).Range(“a2”).CopyFromRecordset rs
    ‘将数据集粘贴到Excel中,左上角为A2,无列名。
    ‘Sheets(“结果access”).Range(“b2”).CopyFromRecordset cnn.Execute(SQL)
    ‘可以不声明Rs,直接使用
    cnn.Close ‘关闭数据库连接
    Set cnn = Nothing ‘将CNN从内存中删除。
    ‘————————————— ———————— —————–
    Application.ScreenUpdating = True ‘对应前面关闭屏幕刷新
    Application.DisplayAlerts = True ‘对应前面关闭提示
    End Sub
    </code>
  • excel连接sql sever数据库
    关键语句换成:
    <code>cnn.open”provider=SQLOLEDB;Data source=服务器名称;
    initial catlog=数据库名称; UID=用户名;psd=密码”</code>
    其他类似。
    sql语句部分如果不对 检查数据表是否写完整了。

服务器名称可以写IP地址或者localhost或者本地电脑名称()
ip地址查询:打开网络和共享中心-更改适配器设置-本地连接-详细信息-IPv4地址

以上是以本机为服务器的情况下

    原文作者:茶苯海
    原文地址: https://www.jianshu.com/p/fa97a5dc4b3b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞