赞
踩
1、先打开控制面板-管理工具-打开数据源-系统DSN-添加驱动程序
2、这里要输入你想要连接的哪个服务器上的数据库
3、这里要输入数据库的帐户跟密码
4、然后一直点下一步,到这一步可以先测试能不能连到连据库
5、连接成功后、接下来就是用VB连接SQL SERVER、导入数据到EXCEL表格中
6、先打开EXCEL表-开发工具-点击命令按扭-在表格中随便拉开
7、先点开发工具里的--设计模式--然后双击按扭
8、打开按扭是这样的、如果按扭是英文名、可以在左边的地方设置中文,然后把下面的代码复制到中间这里
9、只要改这2行里的就行了、strcn='数据源;服务器地址;数据库名称;帐户;密码'
10、第2行就是改SQL语句了
11、修改EXCEL单元表格开始列、还有右边的修改数据库表里的字段名称
- Private Sub CommandButton1_Click()
- 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=192.168.5.131;Database=GDERP;Uid=sa;Pwd=663344abc..;" '定义数据库链接字符串
-
- strSQL = "select * from inv" '设置SQL语句
-
- cn.Open strCn '打开连接
-
- rs.Open strSQL, cn '读取数据库中的数据
-
- Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表
-
- Set sht = ThisWorkbook.Worksheets("sheet1")
-
- '循环读取数据并将数据显示到excel中
-
- Do While Not rs.EOF '当数据指针未移到记录集末尾时,循环下列操作
-
-
- sht.Cells(i + 2, 1) = rs("invno") '把当前记录的字段1的值保存到sheet1工作表的第i行第1列
-
- sht.Cells(i + 2, 2) = rs("whid") '把当前字段2的值保存到sheet1工作表的第i行第2列
-
- sht.Cells(i + 2, 3) = rs("whid2") '把当前字段2的值保存到sheet1工作表的第i行第2列
-
- rs.MoveNext '把指针移向下一条记录
-
- i = i + 1 'i加1,准备把下一记录相关字段的值保存到工作表的下一行
-
- Loop '循环
-
- rs.Close '关闭记录集,至此,程序将把某数据表的字段1和字段2保存在excel工作表sheet1的第1、2列,行数等于数据表的记录数
-
- End Sub
11、保存、然后返回EXCEL表格、点击查询、就可以了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。