精华内容
下载资源
问答
  • VBA创建数据库数据

    2018-08-04 10:28:12
    用代码实现access数据库的创建,以及在数据库中添加数据表和字段
  • 大家好,今日我们讲VBA数据库解决方案的第49讲内容:从数据库中,多条件提取出数据的方法。我们利用数据库,主要的目的是存储数据,在需要的时候可以提取出来,提取的同时可以对数据进行必要的处理,本讲就是讲解...

    大家好,今日我们讲VBA解数据库解决方案的第49讲内容:从数据库中,多条件提取出数据的方法。我们利用数据库,主要的目的是存储数据,在需要的时候可以提取出来,提取的同时可以对数据进行必要的处理,本讲就是讲解从数据库中多条件提取数据的方法。

    实例:我们有如下的数据库数据资料,要在其中提取出我们的数据:

    2d628a0f83cfaf958c35cac4990ac1d5.png

    我们的目的是在其中提取出“部门”为“一厂” 并且“职务”为“班长”,同时“出生日期”在1999/6/9或之后的员工记录,该怎么解决呢?

    我们分析一下:上述的要求是三个查询条件,我们可以整合在SQL语句中实现。

    下面看我给出的代码:

    Sub mynzRecords_49() '第49讲 从数据库中,多条件提取数据的方法

    Dim cnADO, rsADO As Object

    Dim strPath, strSQL, strTable As String

    Set cnADO = CreateObject("ADODB.Connection")

    Set rsADO = CreateObject("ADODB.Recordset")

    strPath = ThisWorkbook.Path & "\mydata2.accdb"

    strTable = "员工信息"

    cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

    '多条件提取数据的SQL语句结构

    strSQL = "select * from " & strTable _

    & " where 部门='一厂' and 职务='班长' and 出生日期>=#1999/6/9#" & " ORDER BY 员工编号 DESC"

    rsADO.Open strSQL, cnADO, 1, 3

    Worksheets("49").Select

    Cells.ClearContents

    For i = 0 To rsADO.Fields.Count - 1

    ActiveSheet.Cells(1, i + 1) = rsADO.Fields(i).Name

    Next i

    For i = 1 To rsADO.RecordCount

    For j = 0 To rsADO.Fields.Count - 1

    ActiveSheet.Cells(i + 1, j + 1) = rsADO.Fields(j)

    Next j

    rsADO.MoveNext

    Next i

    With Range(Cells(1, 1), Cells(1, rsADO.Fields.Count))

    .Font.Bold = True

    .HorizontalAlignment = xlCenter

    End With

    Range("A2").CopyFromRecordset rsADO

    Columns(rsADO.Fields.Count).NumberFormat = "yyyy-mm-dd"

    Columns.AutoFit

    rsADO.Close

    cnADO.Close

    Set cnADO = Nothing

    Set rsADO = Nothing

    End Sub

    代码截图:

    4af10eb564f5539be47e8c0d01e8c544.png

    d02dfc81359898896f65e4edb3b453b2.png

    代码解析:

    1 '多条件提取数据的SQL语句结构

    strSQL = "select * from " & strTable _

    & " where 部门='一厂' and 职务='班长' and 出生日期>=#1999/6/9#" & " ORDER BY 员工编号 DESC"

    在上面的代码中我们实现了提取出“部门”为“一厂” 并且“职务”为“班长”,同时“出生日期”在1999/6/9或之后的员工记录,其中

    ① "select * from " & strTable 是取数据库的所有字段

    ② " where 部门='一厂' 是部门的条件

    ③ and 职务='班长' 是条件职务的要求

    ④ and 出生日期>=#1999/6/9#" 是对出生日期的要求

    ⑤ ORDER BY 员工编号 DESC" 是对员工编号 的降序排列

    注意点:中间的and 是连接各个条件的逻辑语言,## 是日期符号的表述

    2 Range("A2").CopyFromRecordset rsADO

    Columns(rsADO.Fields.Count).NumberFormat = "yyyy-mm-dd"

    仍是借助于工作表条件格式的设定完成对出生日期的显示

    下面看代码的运行结果:

    878ab81b48beaf22c2b87ca9474801a2.png

    今日内容回向:

    1 如何实现多条件数据的提取?

    2 数据的日期格式是如何表现的?

    展开全文
  • Excel VBA数据库(Access)整合笔记,通过实例的代码解析式的教学,读者不仅能够学会VBA,更能快速应用实例内容,在最短的时间内解决棘手的办公问题。
  • VBA数据库

    2015-11-19 18:07:38
    1-1 利用DAO创建数据库和数据表 7 ...•实例10-9 将数据库数据导出为文本文件 209 •实例10-10 将文本文件保存为Access数据库(Access) 210 •实例10-11 将文本文件保存为Access数据库(ADO+ADOX) 211
  • Public Sub Read_SQL()Dim cnn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim i As IntegerDim cnnstr As StringMyData = "研究生管理" '指定数据库名称'设置建立与SQL Server数据库服务器中指定数据库...

    Public Sub Read_SQL()

    Dim cnn As New ADODB.Connection

    Dim rs As New ADODB.Recordset

    Dim i As Integer

    Dim cnnstr As String

    MyData = "研究生管理"                     '指定数据库名称

    '设置建立与SQL Server数据库服务器中指定数据库连接的字符串

    cnnstr = "Provider=SQLOLEDB;" _

    & "User ID=sa;" _

    & "Password=$q1dbDB;" _

    & "Data Source=192.168.20.11;" _

    & "Initial Catalog=" & dbsms5

    cnn.ConnectionString = cnnstr

    '试图打开指定的数据库

    On Error Resume Next

    cnn.Open

    '判断数据库连接是否成功

    If cnn.State = adStateOpen Then

    MsgBox "数据库连接成功!", vbInformation, "连接数据库"

    Else

    MsgBox "数据库连接失败!", vbInformation, "连接数据库"

    End If

    '查询数据库中表-导师的内容

    rs.Open "select * from NetData_6012 where dtime between '11/09/05' and '11/09/06'and channelno=295  ", cnn, adOpenKeyset, adLockOptimistic

    If rs.EOF And rs.BOF Then

    MsgBox "没有找到相关表的内容!"

    Else

    Worksheets("Sheet1").Cells.ClearContents

    '初始化Excel数据表格,并且赋予相关的值

    Worksheets("Sheet1").Range("A1:H4").Value = rs.GetRows()

    MsgBox "读取完毕"

    rs.Close

    Set cnn = Nothing

    Set rs = Nothing

    End If

    End Sub

    这是我从网上找的示例,但是运行之后发现运行到rs.Open "select * from NetData_6012 where dtime between '11/09/05' and '11/09/06'and channelno=295  ", cnn, adOpenKeyset, adLockOptimistic这一句就出错了,提示没有找到相关表的内容,但是select * from NetData_6012 where dtime between '11/09/05' and '11/09/06'and channelno=295  这一句我在SQL里运行过没有问题的。请帮忙指点一下。或者另外贴一段可行的代码。

    展开全文
  • VBA中比较高阶的课程,主要讲解关于各种事件的应用,各种控件的应用,如果使用类模块,如果在VBA用调用SQL语句去处理数据库中数据等操作。学习完成本课后,你可以在Excel开发各种小型应用系统。以下是课程主要...
  • 很多时候我们需要从数据库中取出数据然后放置到Excel,来进行数据处理和分析。下面给大家讲两种常用的办法来获取数据。方法一Step01数据->自其它来源->来自SQL ServerStep02输入服务器名称->选择登录凭据...

    很多时候我们需要从数据库中取出数据然后放置到Excel中,来进行数据处理和分析。下面给大家讲两种常用的办法来获取数据。

    方法一

    Step01

    数据->自其它来源->来自SQL Server

    Step02

    输入服务器名称->选择登录凭据

    Step03

    选择数据库->选择你需要导入的表

    Step04

    选择数据摆放位置的起点

    Step05

    最终导入score表数据结果如下

    方法二

    可以利用VBA脚本的方法来实现数据获取

    Step01

    开发工具->Visual Basic(或者Alt+F11)->插入模块->插入如下脚本

    Sub getDataFromSqlServer() 'vba连接SqlServer

    Dim i%, j%, sht As Worksheet 'i,j定义为整数;sht定义为页签对象

    'Dim conn As New ADODB.Connection '定义数据连接对象 ,保存数据库信息;需要添加ADO引用

    'Dim dataset As New ADODB.Recordset '定义记录集对象,保存数据表

    '下面语法不需要增加引用ADO

    Set conn = CreateObject("Adodb.Connection")

    Set dataset = CreateObject("Adodb.Recordset")

    Set sht = ThisWorkbook.Sheets("data")

    sht.Cells.Clear '清空内容

    Dim strCn$, strSQL$

    strCn = "Provider=sqloledb;Server=xxxxxx;Database=xxxx;Uid=xxx;Pwd=xxxxxx" '定义数据库连接字符串

    '请自行修改上面的Server、Database、Uid、Pwd

    strSQL = "select * from course " '定义SQL查询命令字符串

    conn.Open strCn '与数据库建立连接,成功返回连接对象conn

    With dataset

    .Open strSQL, conn '执行SQL语法,结果保存在dataset数据集中

    '获取标题

    For i = 0 To dataset.Fields.Count - 1

    sht.Range("a1").Offset(0, i).Value = dataset.Fields(i).Name

    Next

    '获取数据

    sht.Range("a1").Offset(1, 0).CopyFromRecordset dataset

    End With

    dataset.Close: Set dataset = Nothing '关闭数据集,

    conn.Close: Set conn = Nothing '关闭数据库连接

    End Sub

    Step02

    开发工具->插入->按钮

    Step03

    右键选中想要执行的宏getDataFromSqlServe

    Step04

    点击执行按钮,显示结果如下,我们获取到了course表的数据

    这样大家就可以很方便地从数据库中获取自己想要的表格数据了,如果各位喜欢的话,请关注微信公众号:sanshudata_excel,谢谢阅读!

    展开全文
  • 主要介绍了VBA中连接SQLSERVER数据库例子,VBA是指Visual Basic for Applications,是Visual Basic的一种宏语言,需要的朋友可以参考下
  • vba导入数据库数据

    2021-01-19 18:13:41
    年轻人耗子尾汁我们大家都知道,EXCEL是工作最常用的一款数据工具,除了做数据录入,还可以用来写函数公式、做透视表等等,但是这些都是最基本的功能,如果只是会这些,还称不上是一个高手。按照以下对EXCEL熟练...

    EXCEL骨灰级玩家必备技能,学会后年薪翻倍!年轻人耗子尾汁

    我们大家都知道,EXCEL是工作中最常用的一款数据工具,除了做数据录入,还可以用来写函数公式、做透视表等等,但是这些都是最基本的功能,如果只是会这些,还称不上是一个高手。按照以下对EXCEL熟练程度的定义,EXCEL玩家从新手到专家需要经历五个级别,每个级别的难度都是逐步递升的。所以,要熟练掌握E...

    文章

    游客26bi6rxq5pass

    2020-11-26

    89浏览量

    VBA and Access

    >>.用vba连接ACESS:

    Set Conn= Server.CreateObject("ADODB.Connection")

    Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & S...

    文章

    技术小大人

    2017-11-22

    770浏览量

    VBA将Excel数据导入到数据库

    1、如果Excel中的数据是标志格式的,即标题栏+数据这种类型,那么导入数据库将非常方便,示例代码如下:

    '函数:导入

    Private Function F_K_Import() As Boolean

    Dim cnCurrent As ADODB.Connection

    Dim r...

    文章

    eclipse_xu

    2012-11-22

    749浏览量

    ff0c35e3aa0877a25f7873cca08f3438.png

    Quick BI 数据可视化分析平台

    2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

    广告

    带你读《数据库与数据处理:Access 2010 实现 第2版》之一:数据处理与数据库

    计算机基础课程系列教材点击查看第二章点击查看第三章数据库与数据处理:Access 2010 实现 第2版

    张玉洁 孟祥武 编著

    第1章

    数据处理与数据库早期计算机主要用于科学计算,数据类型单一。随着计算机技术的发展以及计算机的益普及,计算机应用已经远远超出了这个范畴。如今面对各种类型...

    文章

    温柔的养猫人

    2019-11-11

    512浏览量

    带你读《数据库与数据处理:Access 2010 实现 第2版》之三:关系数据库设计

    点击查看第一章点击查看第二章

    第3章

    关系数据库设计

    3.1 关系数据库设计过程

    数据库设计是开发一个好的数据库应用系统的基础,它的基本任务是根据用户的需求,以及数据库的支撑环境(包括DBMS、操作系统和硬件),设计出数据模式(包括外模式、模式和内模式)以及典型的应用程序。在数据库的设计过程中,不...

    文章

    温柔的养猫人

    2019-11-11

    233浏览量

    动态链接导入库与静态链接库

    目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Arch...

    文章

    double2li

    2012-10-29

    764浏览量

    动态链接库dll,静态链接库lib, 导入库lib

    转载地址:http://www.cnblogs.com/chio/archive/2008/08/05/1261296.html

    目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称"静态库"),另一种为动态连接库(DLL,以下简称"动态库")的导入库(Impor...

    文章

    double2li

    2013-11-21

    821浏览量

    VC操作Excel文件编程相关内容总结

    最近在做个数据库程序,因为有些数据用户要求导出到Excel文件显示(需要报给其他单位)。所以查阅了一下相关的VC的Excel编程操作,总结一下吧:(所有资料来源于网络)

    利用VC操作Excel的方法至少有两种

    1 .利用ODBC把Excel文件当成数据库文件,来进行读、写、修改等操作,网上有人编写...

    文章

    范大脚脚

    2017-11-22

    982浏览量

    .NET读写Excel工具Spire.Xls使用(1)入门介绍

    原文:【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍

    在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种:

    1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装Excel,对于服...

    文章

    杰克.陈

    2015-03-31

    1116浏览量

    【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍

    在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种:

    1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装Excel,对于服务器,有时候还需要为配置IIS权限。折腾人,看到很多人在群里面使用这个东西,出现各...

    文章

    数据之巅

    2016-02-20

    3462浏览量

    这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)

    在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨。再次拿出自己的私货,在.NET平台处理文档相关的开源组件。文档处理在开发中是一个非常常见的任务了,例如导出Excel,导出Wor...

    文章

    老朱第八

    2017-11-11

    1326浏览量

    [置顶]这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)

    在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨。再次拿出自己的私货,在.NET平台处理文档相关的开源组件。文档处理在开发中是一个非常常见的任务了,例如导出Excel,导出W...

    文章

    数据之巅

    2016-02-20

    2568浏览量

    .NET平台开源文档与报表处理组件包括Execel PDF Word等

    在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨。再次拿出自己的私货,在.NET平台处理文档相关的开源组件。文档处理在开发中是一个非常常见的任务了,例如导出Excel,导出Wor...

    文章

    幕三少

    2015-07-06

    1292浏览量

    带你读《网络防御与安全对策:原理与实践(原书第3版)》之二:攻击类型

    点击查看第一章点击查看第三章

    第2章

    攻击类型本章目标在阅读完本章并完成练习之后,你将能够完成如下任务:

    描述最常见的网络攻击,包括会话劫持、病毒攻击、特洛伊木马、拒绝服务和缓冲区溢出。

    解释这些攻击是如何执行的。

    制定针对这些攻击的基本防御措施。

    配置系统以防范拒绝服务攻击。

    配置系统以防范...

    文章

    温柔的养猫人

    2019-11-06

    245浏览量

    展开全文
  • 编写Excel VBA工具,连接并操作Mysql 数据库。系统环境:OS:Win7 64位 英文版Office 2010 32位 英文版1、VBA连接MySql前的准备Tools--->References..---->引用勾选Microsoft ActiveX Data Objects 2.8 ...
  • 大家好,今天给继续讲解VBA数据库解决方案,今天讲第12讲:如何判断数据库中的表是否存在。为什么要讲这讲的内容呢?如我在上一讲讲的内容有这段代码:Set catADO = CreateObject("ADOX.Catalog")strPath = ...
  • 4) = rs("cardtype") sht.Cells(i, 5) = rs("sktime") sht.Cells(i, 6) = rs("gatime") rs.MoveNext '把指针移向下一条记录 i = i + 1 Loop rs.Close cn.Close End Sub 上面这两排是从数据库中取出来的数据,左边...
  • 满意答案1、打开相应的access数据库。2、在左边的对象栏里单击模块,观察右边的窗口,如果里面有模块,可以双击打开。如果没有新建一个模块,然后双击打开。3、粘贴以下代码并运行、观察立即窗口。PrivateSubaaaa()...
  • 实例10-9 将数据库数据导出为文本文件 实例10-10 将文本文件保存为Access数据库(Access) 实例10-11 将文本文件保存为Access数据库(ADO+ADOX) 第11章 Excel VBA开发数据库管理系统 11.1 固定资产管理系统的...
  • 那么如何快速的,自动的从数据库中取数呢?那当然是使用脚本自动取数,以下将使用VBA加sql的方法取数。 脚本的思路很简单,先连接上数据库,再使用sql查询,然后粘贴数据到excel表。 Sub 取数脚本() Dim Conn As ...
  • Excel通过VBA连接Oracle数据库

    热门讨论 2013-07-06 21:30:31
    使用Excel通过VBA连接Oracle数据库查询数据,可以实现一键自动快速生成所需的多个标准报表,大大地提高工作效率,节省很多时间。
  • VBA-数据库创建,数据表创建

    千次阅读 2018-07-28 10:30:38
    1.首先我们要判断数据库是否存在,需要引用一个类“Microsoft ADO Ext.6.0 for DDL and Security”,用其catalog 对象来判断数据库是否存在,如果不存在,直接创建数据库数据表,如果存在则删除 Option Explicit ...
  • 数据库中已有一些数据,现在要对其中一些数据进行更新,在示例文件有一条数据,现在要将该数据的一些字段进行更新。更新用到的命令是update,下面看示例代码Sub 数据更新update()'后期引用Dim cnn As Object, ...
  • 之前讲过利用SQL语句向Access数据库中插入一条数据,这节来讲下怎样向数据库中批量插入数据。现在我的Excel表的有一个学生信息表,有99条数据,现在我要将这99条数据一次性插入Access数据库中的学生信息表,先看...
  • vba数据导入数据库

    2021-01-19 01:38:42
    VBA and Access>>.用vba连接ACESS:SetConn=Server.CreateObject("ADODB.Connection")Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;...文章技术小大人2017-11-22770浏览量VBA将Excel数据导入...
  • 利用DAO创建数据库数据表、利用ADOX创建数据库数据表、利用SQL语句创建数据库数据表、在已有的数据库中创建数据
  • 实例介绍了利用如何excel vba来操作数据库(包括access sql server和foxpro)的实用方法和技巧。  以“固定资产管理系统”为案例实例详细介绍excel vba开发管理系统的过程。  个人认为是值得一读的好书
  • 主要功能包含:一是VBA连接SQL Server数据库查询的功能,二是根据自动获取的日期动态将结果数据导出为多个Excel文档的功能。导出的文件命名为按机构编码和日期动态命名方法,格式:机构编码+主文件名+日期,生成的...
  • 在企业信息化初期,大部分数据都会通过excel进行管理; 作为IT人员,其实对excel又爱又恨,爱其灵活...现在就分享一个资源,Excel VBA 上传当前sheet的所有内容到数据库, 然后通过excle调取数据库数据进行呈现;
  • 很多时候我们执行的SQL语句或者其他对数据库的操作都会因为各种问题报错,有时候...在数据库中,有数据回滚的概念,可以参考下面代码: '事务回滚 Sub AdoRollback() Dim cn As Object Dim rs As Object Set cn =
  • 近期在使用Excel做数据查询时,需要提取数据库中数据,用Excel VBA很方便的就查询出来数据了,特分享给大家,使用VBA的时候,需要注意给予宏安全性,不然程序不能正常运行。SubOpen_Click()...
  • access vba数据库开发

    2018-09-29 20:40:04
    介绍详细,可以直接用于开发vba 及access应用。
  • 之前学过了怎样更新数据库中的一条数据,这节来看下怎样批量更新数据库中数据。仍然是之前的那个Excel源数据,但是其中有些内容我改过了,现在我要把改过的数据一次性的都更新到数据库。之前在讲更新单条数据...
  • 博主使用的ODBC连接查询mysql数据库,并返回数据显示到excel 先画一个随便的按键↓ 点击后,选第一个按键,在想要添加按键的位置画一个区域↓ 右键按键选新增,跳转到代码编辑页面 代码↓ Sub 嘤嘤嘤() Dim ...
  • VBA中连接数据库

    2021-10-04 17:06:42
    VBA中连接数据库前言ADODBADODB使用前的准备ADODB的2个核心概念ADODB 读取数据三步曲连接字符串连接Excel,将worksheet做数据源的特别事项 前言 数据库的重要性无需多说,稍微正式或复杂一点的应用都需要操纵数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,875
精华内容 3,550
关键字:

vba从数据库中选择数据