VBA中连接SQLSERVER数据库例子

我们在使用excel编程时,很多时候都需要使用数据库。

那么如何连接数据库然后从数据库读取数据呢?

VBA 连接 SQL SERVER 数据库 实例:

Dim strConn As String, strSQL As String
  Dim conn As ADODB.Connection
  Dim ds As ADODB.Recordset
  Dim col As Integer

  '连接数据库的字符串
  strConn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=[user];Password=[password];Initial Catalog=[database];Data Source=[数据库IP地址或数据库服务器名称];Connect Timeout=720; "

  '查询语句,如果sql语句很长可以用strSQL=strSQL+来连接分成多段的语句,如果语句很短可以只写在一行上。
   strSQL = "select * from Hy_KPI_Shop_Dept_WeekRpt "
   strSQL = strSQL+"where sdate='2014-01-01' order by sdate,shopid "

   Set conn = New ADODB.Connection
   Set ds = New ADODB.Recordset

  '打开数据库连接
   conn.Open strConn

  '该句和数据库连接字符串处的Connect Timeout=720,表示说如果语句运行时间很长,这两句可以延长vba的等待时间,没有这两句,vba往往会报查询超时。
   conn.CommandTimeout = 720

   With ds
  '根据查询语句获得数据
     .Open strSQL, conn
     '自动控制加入所有列标题
     For col = 0 To ds.Fields.Count - 1

  '请注意Offset(0, col)中的参数一定要正确,该句表示标题将会写在第一行,从A1单元格开始,如果不想写入标题行,可将下面这句注释掉。
   Worksheets("门店各课KPI周报").Range("A1").Offset(0, col).Value = ds.Fields(col).Name
     Next

  '加入所有行数据,该句表示查询结果将会写在第一行,从A1单元格开始,但是由于标题行写在第一行了,所以实际这一行从标题下的一行写入。
   Worksheets("sheet1").Range("A1").Offset(1, 0).CopyFromRecordset ds
   End With
  '关闭数据库连接和清空资源
   Set ds = Nothing
   conn.Close
   Set conn = Nothing
(0)

相关推荐

  • SqlServer2008 数据库同步的两种方式(发布、订阅使用方法)

    上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作.发布订阅份为两个步骤:1.发布.2订阅.首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅.发布可以发布一张表的部分数据,也可以对整张表进行发布.下面分别介绍发布.订阅的过程. 1.发布.发布需要用实际的服务器名称,不能使用服务器的IP地址进行.能发布的信息包括[表].[存储过程].[用户函数]如果使用IP会有错误,如下图: 具体发布

  • 用Java连接sqlserver数据库时候几个jar包的区别分析

    今天在群里看见有人问了这个问题,那就把我自己总结的知识拿出来与大家分享一下吧..当然可能还有什么不对的地方,希望指出: ***msbase.jar.mssqlserver.jar.msutil.jar(支持sql2000): 早期的连接数据库Jar包:在连接数据时候需要手动导入驱动包.即手动导入class.forName(驱动名称); ***SQL Server JDBC Driver 2.0----sqljdbc.jar和sqljdbc4.jar 新版JDBC连接数据库Jar包,支持sql20

  • 删除sqlserver数据库日志和没有日志的数据库恢复办法

    一.删除数据库日志文件的方法 你曾经有在执行SQL的时候,数据库报事务日志已满,然后执行报错.然后纠结于怎么删除数据库日志,捣鼓半天吗,现在就提供两种删除日志文件的方法,希望能够帮到你! 方法一:手工操作1.数据库->右键->属性->选项-恢复模式->由完成切换成简单2.数据库->右键->任务->收缩-文件->由完成切换成简单->文件类型->日志->将文件收缩到 方法二:存储过程代替手工操作 复制代码 代码如下: --日志文件收缩至多少M 

  • SQL SERVER数据库表记录只保留N天图文教程

    本文通过图文并茂的方式给大家展示SQL SERVER数据库表记录只保留N天图文教程,具体方法步骤请看下文: 第一步:首先设置SQL Server 代理服务为自动启动: "开始"-->"控制面板"-->"管理工具"-->"服务"-->右键" SQL SERVER 代理"-->"属性"-->"启动类型",选择 "自动启动 &q

  • SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法

    无法打开用户默认数据库,登录失败,其原因是登录帐户的默认数据库被删除. 解决办法是使用管理员帐户修改此登录帐户的默认数据库. 1.使用管理员帐号登入企业管理器,在"对象资源管理器"中,展开"安全性"--"登录名",右键该帐户点击"属性" 2.在"登录属性"的对话框中,第一个"常规"选项卡界面的右边更改默认的数据库. 如果出问题的就是你的管理员帐户,你无法登入企业管理器里修改,可以使用以下

  • SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案

    执行sql 语句,中间没有用到临时表 提示服务器: 消息 9002,级别 17,状态 2,行 1 数据库 'tempdb' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限. 在网上Google了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了. 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题解决. 记录一下清空日志的命令

  • VB语言使用ADO连接、操作SQLServer数据库教程

    几年前学过的VB几乎忘光了,这几天复习了下.VB连接ADO数据库并不是非常难. 连接第一步(要仔细看) 对于小白来讲,这里的教程最详细,连接ADO数据库第一步,要添加什么部件呢?全称是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件. 在Microsoft ADO Data Control 6.0 (SP6) (OLEDB)部件里有一个名叫:Adodc数据控件,要将它添加.在Adodc数据控件数据位置中找到ACCES. 控件引用的方法(值指的是姓名)

  • SqlServer修改数据库文件及日志文件存放位置

    --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files where database_id=db_id(N'数据库名'); --修改文件的存放位置下次启动生效 --testDb为数据库名, alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径'); a

  • VBA中连接SQLSERVER数据库例子

    我们在使用excel编程时,很多时候都需要使用数据库. 那么如何连接数据库然后从数据库读取数据呢? VBA 连接 SQL SERVER 数据库 实例: Dim strConn As String, strSQL As String Dim conn As ADODB.Connection Dim ds As ADODB.Recordset Dim col As Integer '连接数据库的字符串 strConn = "Provider=SQLOLEDB.1;Persist Security I

  • Java中String的JdbcTemplate连接SQLServer数据库的方法

    很久没写文章了,一方面是最近几个月比较忙,没太多时间,另一方面是最近拖延症严重,写文章的想法总是一拖再拖.今天找一个小案例写一下,与懒惰对抗一下. 首先说一下背景,我们在项目中做数据持久化一般都是用mybatis或者hibernate开发框架,进行数据库连接和操作,最近做GIS仿真产品研发,根据需求需要保存三部分数据:1.业务数据,数据量比较小:2.GIS数据,需要用到空间关系:3.物联数据,数据量大,在我们开发自测阶段数据量就可以达到每天百万以上.根据以上数据特点,我们使用了传统的MySQL数

  • bat/cmd批处理连接SqlServer数据库查询脚本

    难得今天晚上9点前赶回家,而且最近草稿箱也压了不少"湿货",就挑一篇发出来好了!不过在发文章之前先吐槽一下那个从昨天攻击张戈博客到现在还在继续的无聊蛋疼之人! 本来就算开启了云加速全缓存也是扛不住的,因为静态中混着动态请求,比如浏览计数.还好灵机一动,对这些动态做了点小手脚,现在基本毫无压力了!粗略分析一下这个攻击博客的小人,无外乎是2种人: ①.最近张戈博客流量大涨,估计遭人妒忌或者是挡人财路: ②.来张戈博客换友链被拒或被忽略的人,怀恨在心. 对于①:俗话说无人妒忌是庸才,那么无人

  • nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例

    本文实例讲述了nodejs基于mssql模块连接sqlserver数据库的简单封装操作.分享给大家供大家参考,具体如下: 注意:开启sqlserver服务器允许远程连接的步骤,自行百度,很多经验,nodejs连接sqlserver,最好把防火墙的入站规则关闭,或者允许入站.这个封装只是sql语句查询,看懂这个,其他的可以自行扩展,支持连接池. 一 安装mssql模块 npm install mssql 二 封装连接数据库代码 db.js: /*2016年7月14日17:02:15 QQ: 452

  • C语言中操作sqlserver数据库案例教程

    本文使用c语言来对sql server数据库进行操作,实现通过程序来对数据库进行增删改查操作. 操作系统:windows 10         实验平台:vs2012  +  sql server 2008 ODBC简介:开放数据库连接(Open Database Connectivity,ODBC),主要的功能是提供了一组用于数据库访问的编程接口,其主要的特点是,如果应用程序使用ODBC做数据源,那么这个应用程序与所使用的数据库或数据库引擎是无关的,为应用程序的跨平台和可移植奠定了基础. 创建

  • Navicat 连接SQLServer数据库(图文步骤)

    连接配置方式如图: 有时候Navicat并没有初始化安装sqlncli, 所以连接的时候会报 没有默认驱动,如图: 解决方法:在navicat目录下找到对应驱动,点击安装即可, 安装过程中设置为全部允许安装 到此这篇关于Navicat 连接SQLServer数据库(图文步骤)的文章就介绍到这了,更多相关Navicat 连接SQLServer内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • Linux安装ODBC连接SQLServer数据库的步骤

    目录 1.下载ODBC安装包 2.安装步骤 第一步:上传两个安装包到服务器上 第二步:安装unixODBC,先安装这个,后安装freetds 2.1.操作系统先安装gcc: 2.2.安装odbc 2.3.安装freetds 2.4.配置freetds驱动 2.5.测试配置是否正确 2.6.配置unixODBC 2.7.测试是否能连接数据库 2.8.shell脚本连接数据库 2.9.安装了SQLServer的机器上调用命令执行存储过程 操作系统:Centos7.2 1.下载ODBC安装包 unix

  • Java Web项目中连接Access数据库的配置方法

    老师决定期末考试采用access数据库实现增删改查,我认为现在的我已经没有问题了,但是以前都是在JSP页面中连接access数据库,无论是以下的那种方式都进行了连接的练习,但是现在我想让我的项目中的访问access数据库的java代码,封装到DAO中,在DAO中连接数据库,没有和Servlet API有任何的关系.对于大多数人都会优先选择使用ODBC数据源的方式或者是使用绝对路径的方式连接access数据库,但是我个人认为,这样做不太好,如果采用这样的方式,项目做好后,放到他人的服务器上是无法运

  • golang中连接mysql数据库

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连接mysql首先需要调用sql.Open函数,但是此时并没有真正的去连接mysql,而是只创建了一个Db的对象而已.当执行Query或者是Exec方法时,才会去真正的连接数据库. 默认情况下.每次执行sql语句,都会创建一条tcp连接,执行结束就会断掉连接,但是会保留两条连接闲置.当下次再执行 sq

  • VS2022连接sqlserver数据库教程

    目录 连接前准备 windows身份认证 sqlserver身份认证 连接前准备 我们使用Visual Studio2022 连接Sqlserver数据库,我们先为我们的项目添加微软自带的连接数据库的程序集,System.Data.SqlClient. using System.Data.SqlClient; 虽然调用了,但不代表我们引用成功了,我们去检查一下Nuget程序包里,看看有没有这个程序集. 正确的安装应该如下所示 ,如果没有,这里搜出来之后选中安装即可. 打开视图下的服务器资源管理器

随机推荐