VBA链接数据库
2021/11/30 19:07:10
本文主要是介绍VBA链接数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Dim CN As Object '定义数据链接对象 ,保存连接数据库信息
Dim rs As Object '定义记录集对象,保存数据表
Set CN = CreateObject("ADODB.Connection") '创建数据链接对象
Set rs = CreateObject("ADODB.RecordSet") '创建记录集对象,用于接收数据查询获得的结果集
Dim strCn As String, strSQL As String '链接数据库的字符串变量
'定义本地数据库链接字符串
strCn = "Provider=sqloledb;Server=本地数据库的名称;Database=数据库名;Integrated Security=SSPI;Persist Security Info=False;"
'定义远程数据库链接字符串
strCn = "Provider=sqloledb;Data Source=远程数据库的IP地址;Initial Catalog=数据库名;User ID=登陆名;Password=密码;Persist Security Info=False;"
strSQL = "select * from TUTORIALS_TBL" '设置SQL语句
CN.Open strCn '打开连接
rs.Open strSQL, CN '读取数据库中的数据
Dim i As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表
i = 1
Set sht = ThisWorkbook.Worksheets("sheet1")
'循环读取数据并将数据显示到excel中
For j = 0 To rs.Fields.Count - 1
sht.Cells(1, j + 1).Value = rs.Fields(j).Name
Next j
Range("A2").CopyFromRecordset rs
~~~
'Do While Not rs.EOF '当数据指针未移到记录集末尾时,循环下列操作
'
' sht.Cells(i, 1) = rs("A") '把当前记录的字段1的值保存到sheet1工作表的第i行第1列
'
' sht.Cells(i, 2) = rs("B") '把当前字段2的值保存到sheet1工作表的第i行第2列
'
' sht.Cells(i, 3) = rs("C") '把当前字段2的值保存到sheet1工作表的第i行第2列
'
' sht.Cells(i, 4) = rs("D") '把当前字段2的值保存到sheet1工作表的第i行第2列
'
' rs.MoveNext '把指针移向下一条记录
'
' i = i + 1 'i加1,准备把下一记录相关字段的值保存到工作表的下一行
'
'Loop '循环
~~~
rs.Close '关闭记录集,至此,程序将把某数据表的字段1和字段2保存在excel工作表sheet1的第1、2列,行数等于数据表的记录数
这篇关于VBA链接数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-20测试人员都是画画大神,让我看看谁还不会用代码图?
- 2024-05-20年薪百万的程序员都在用的摸鱼方式……
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了