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. ...
随机推荐
- iOS - OC NSUserDefaults 数据存储
前言 @interface NSUserDefaults : NSObject 用来保存应用程序设置和属性.用户保存的数据.用户再次打开程序或开机后这些数据仍然存在.如果往 userDefaults ...
- server-pc--------------->lspci,lsusb,meminfo等配置信息
安装yum install pciutils usbutils [root@server09 ~]# [root@server09 ~]# lspci00:00.0 Host bridge: Inte ...
- poj1755Triathlon(半平面交)
链接 根据题意可以设三段路程分别为A,B,C 那么总时间t = A/V+B/U+C/W. 这样根据时间大小关系可以跟其余n-1个联立形成n-1个方程. 化简后为A(1/vj-1/vi)+B(1/uj- ...
- mysql 大数据量的处理
insert 1.过滤一段时间内重复的数据2.数据缓存起来,批量写入 select1.使用分区表2.主主复制,连接不同的mysql3.建立索引4.定时求平均值,写入一个新的表中
- VIM跳到指定行
ngg nG :n n is the line number
- MyBatis学习笔记(二) 关联关系
首先给大家推荐几个网页: http://blog.csdn.net/isea533/article/category/2092001 没事看看 - MyBatis工具:www.mybatis.tk h ...
- WCF配置详解
前面一篇文章<WCF 学习总结1 -- 简单实例> 一股脑儿展示了几种WCF部署方式,其中配置文件(App.config/Web.config)都是IDE自动生成,省去了我们不少功夫.现在 ...
- 联想手机#P1来了#P1背后的故事系列
http://bbs.lenovo.com/forum.php?mod=viewthread&fid=928&tid=560992&extra=page%3D1 联想手机#P1 ...
- OneProxy读写分离配置操作手册
1.确保已配置好主备集群 A)配置 可参考MySQL官方文档(https://dev.mysql.com/doc/refman/5.6/en/replication-howto.html) 或者我的博 ...
- C/C++中的abort、atexit、exit和_Exit
这几个函数都在头文件#include <stdlib.h>中声明.exit._Exit与abort函数使程序终止,控制并不返回到这些函数的调用者. exit()函数 void exit(i ...