VBA SQLServer 基本操作
- 读取MS SQL Server数据表数据,并将它保存到excel工作表中


Sub ReturnSQLrecord()
'sht 为excel工作表对象变量,指向某一工作表
Dim i As Integer, sht As Worksheet '定义数据链接对象 ,保存连接数据库信息
'使用ADODB,须在菜单的Tools->References中添加引用“Microsoft ActiveX Data Objects library 2.x”
Dim cn As New ADODB.Connection '定义记录集对象,保存数据表
Dim rs As New ADODB.Recordset
Dim strCn As String, strSQL As String '定义数据库链接字符串,Server=服务器名称或IP地址(本地可填写“.”);Database=数据库名称;Uid=用户登录名;Pwd=密码
strCn = "Provider=sqloledb;Server=NIKEY-980114BB0;Database=pubs;Uid=sa;Pwd=sa;" '定义SQL查询命令字符串
strSQL = "select job_id, job_desc from dbo.jobs" '与数据库建立连接,如果成功,返回连接对象cn
cn.Open strCn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
rs.Open strSQL, cn i = 1
'把sht指向当前工作簿的sheet1工作表
Set sht = ThisWorkbook.Worksheets("sheet1") '当数据指针未移到记录集末尾时,循环下列操作
Do While Not rs.EOF '把当前记录的job_id字段的值保存到sheet1工作表的第i行第1列
sht.Cells(i, 1) = rs("job_id")
sht.Cells(i, 2) = rs("job_desc") '把指针移向下一条记录
rs.MoveNext
i = i + 1
Loop '关闭记录集
rs.Close '关闭数据库链接,释放资源
cn.Close
End Sub


- 读取excel工作表数据,并将之插入到数据库中(将sheet1工作表中的A2:D6的记录插入到数据库pubs的jobs数据表中)


Sub ReturnSQLrecord()
Dim i As Integer, sht As Worksheet '定义数据链接对象 ,保存连接数据库信息
'使用ADODB,须在菜单的Tools->References中添加引用“Microsoft ActiveX Data Objects library 2.x”
Dim cn As New ADODB.Connection Dim strCn As String, strSQL As String '定义数据库链接字符串,Server=服务器名称或IP地址(本地可填写“.”);Database=数据库名称;Uid=用户登录名;Pwd=密码
strCn = "Provider=sqloledb;Server=.;Database=pubs;Uid=sa;Pwd=sa;" '清空定义的变量
strSQL = "" '与数据库建立连接,如果成功,返回连接对象cn
cn.Open strCn Set sht = ThisWorkbook.Worksheets("sheet1")
For i = 2 To 6
'构造SQL命令串,对标识列job_id执行插入操作时,要设置表的IDENTITY_INSERT为打开,否则会插入失败
strSQL = strSQL & "SET IDENTITY_INSERT dbo.jobs ON;insert into dbo.jobs(job_id,job_desc,min_lvl,max_lvl) values(" _
& sht.Cells(i, 1) & "," & CStr(sht.Cells(i, 2)) & "," & sht.Cells(i, 3) & "," & sht.Cells(i, 4) & ") ;"
Next '执行该SQL命令串,如果SQL命令没有错误,将在数据库中添加5个记录;也可以用rs.open strSQL,cn 执行
cn.Execute strSQL '关闭数据库链接,释放资源
cn.Close
End Sub


| A | B | C | D | |
| 1 | job_id | job_desc | min_lvl | max_lvl |
| 2 | 30 | 'test30' | 20 | 100 |
| 3 | 31 | 'test31' | 20 | 100 |
| 4 | 32 | 'test32' | 20 | 100 |
| 5 | 33 | 'test33' | 20 | 100 |
| 6 | 34 | 'test34' | 20 | 100 |
VBA SQLServer 基本操作的更多相关文章
- SQLServer基本操作
SQL 全名是结构化查询语言(Structured Query Language),是关系数据库管理系统的标准语言 1.分离数据库:将当前数据库文件和数据库引擎的关系断开,没有任何关系了,这样就可以随 ...
- 报表研究之工具篇-VBA
最近一直在研究VBA,写报表的工作.将所得的知识,经验总结一下,与大家分享. 工具篇,VBA 1.EXCEL一个最好用的功能就是录制宏,当一个函数拿不准要怎么写,用什么函数表示的时候,录制就帮了大忙了 ...
- oracle命令大全
内容包括三大项: 1.oracle基本操作语句 2.SQLServer基本操作语句 3.各种数据库连接方法 ******************************************* ...
- dos命令行连接操作ORACLE数据库
C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; ...
- java数据库基本操作(sqlserver 2000为例)
一.环境搭建 1.下载对应数据库连接驱动包并引入. 2.如果在web中调用必须在tomcat中也放入对应的驱动包. 3.在jre的lib\ext中也加入对应的驱动包. 二.连接数据库 public s ...
- SQLServer数据库基本操作,导入Excel数据
打开SQLServer客户端,连上服务端 先建立数据库,点击新建查询 基本操作如下 创建表 create table mytest ( id int primary key identity(1,1) ...
- Excel VBA Range对象基本操作应用示例
[示例01] 赋值给某单元格[示例01-01] Sub test1()Worksheets("Sheet1").Range("A5").Value = 22Ms ...
- SQL-SERVER学习(一) 数据表的基本操作
1.创建一个数据库,数据库的名字是UserInfo create database UserInfo; 2.创建一个数据表,数据表的名字是UserInfocreate table UserInfo( ...
- VBA学习思路
打算花两三天学习VBA的基础,学习资料为<别怕,VBA其实很简单>,为了快速学习,先了解大致框架,后续再深入学习各种属性.方法和技巧. 1.VBA编程环境基本操作,手工操作,熟悉即可 2. ...
随机推荐
- C# 线程(一)
From : http://www.cnblogs.com/miniwiki/archive/2010/06/18/1760540.html 文章系参考转载,英文原文网址请参考:http://www. ...
- bzoj 1467: Pku3243 clever Y 扩展BSGS
1467: Pku3243 clever Y Time Limit: 4 Sec Memory Limit: 64 MB[Submit][Status][Discuss] Description 小 ...
- 中国用户mac上快速安装nodejs
mac nodejs 安装 1.http://npm.taobao.org/mirrors/node/latest/ 进入这个域名,然后找到最新的pkg包下载过来 2.双击pkg包,下一步下一步安装 ...
- 关于JavaScript测试工具:QUnit, Jasmine, MoCha
在进行前端开发过程中,在某些场景下,需要通过编写单元测试来提高代码质量.而JavaScript常用的单元测试框架有这几个:QUnit, Jasmine, MoCha.下面就基于这三个工具,简单做一比较 ...
- 面向对象---prototype
构造函数里的this,外面的new <script> //用工厂方式构造对象 function createPerson(name, sex) //构造函数 { //假想的系统内部工作流程 ...
- 一个封装较好的删除方法(Delete)
前台的引用 @Html.ActionLink(“删除字样”,“后台的删除方法”,new{绑定id},new{@style="样式"});方法,如何要独立使用的话,一般还要使用到相应 ...
- iOS - Swift Subscript 下标脚本
1.Subscript 下标脚本允许你通过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值.语法类似于实例方法和计算型属性的混合.与定义实例方法类似,定义下标脚本使用 subscri ...
- Android图形显示之硬件抽象层Gralloc(hal 转)
原文 http://blog.csdn.net/yangwen123/article/details/12192401 FrameBuffer驱动程序分析 文中介绍了Linux系统下的显示驱动框架, ...
- Java中的Swing键盘绑定案例
package ch12; import javax.swing.*; import java.awt.*; import java.awt.event.*; /** * Created by Jiq ...
- Java源码初学_LinkedList
一.LinkedList的内部数据结构 LinkedList底层是一个链表的数据结构,采用的是双向链表,基本的Node数据结构代码如下: private static class Node<E& ...