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表格、点击查询、就可以了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐