<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地址
以上是以本机为服务器的情况下