VBA数据库解决方案二十:Select表达式From区域Where条件Order by

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA数据库解决方案第二十讲:Select查询表达式From数据区域[Where 条件表达式]Order by 排序字段

【分享成果,随喜正能量】160 沉潜是为了蓄势待发,沉潜是为了等待因缘。鲸豚沉潜于大海,幽兰深藏于山谷,能够经得起沉潜的人,才会有更高的成就。正如一年的树木只能当柴烧,十年的树木可以制成椅凳橱柜,百年的树木才能成为栋梁。

第二十讲 SQL在VBA中几种常见的表达方式

在之前的讲解中我们从ADO的创建、连接到记录集的操作,已经讲了很多VBA对数据库的实际操作,到这里,读者应该对用VBA操作数据库有了一个清晰的印象,从各个步骤上看我们不难得出一个重要结论:要让ADO有效工作,关键是我们给它发出什么样的SQL指令。

在每一讲的讲解中,我已经简单介绍了SQL的情况。现在我们有必要总结一下VBA中SQL语句的几种常见查询的表达方式。

3 Select 查询表达式 From 数据区域 [Where 条件表达式] Order by 排序字段

1) 可以使用Top限制返回的行数。如:下面语句返回前2条记录: Sql = "Select top 2 * from 员工信息"

2) 通过使用Order by可以对查询结果按一列或多列进行排序。

'首先按语文成绩降序排列,语文成绩相同的按数学成绩升序排列

Sql = "Select * from学生信息Order by 语文 desc,数学 asc"

备注:ASC是升序排列,在不指定排序方式的情况下是默认的,因此可以省略.

如员工信息中我们要显示的是,按生日排序的前5人 SQL语句如下:

strSQL = "SELECT Top 5 * FROM 员工信息 Order by 出生日期 asc"

代码:

Sub mynz_20_3() '第20讲 结构化查询语言SQL在VBA中几种常见的查询表达方式 排序前5名显示

Dim cnADO As Object, rsADO As Object

Dim strPath As String, strSQL As String

Dim i As Integer

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.RecordSet")

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

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

strSQL = "SELECT Top 5 * FROM 员工信息 Order by 出生日期 asc"

rsADO.Open strSQL, cnADO, 1, 3

Sheets("20").Select

Cells.ClearContents

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

Sheets("20").Cells(1, i + 1) = rsADO.Fields(i).Name

Next i

For i = 1 To rsADO.RecordCount

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

Sheets("20").Cells(i + 1, j + 1) = rsADO.Fields(j)

Next j

rsADO.MoveNext

Next i

rsADO.Close

cnADO.Close

Set rsADO = Nothing

Set cnADO = Nothing

End Sub

代码截图:

显示的结果:


今日内容回向:

1 本讲讲了几种常用的SQL查询,读者是否明白?

2 上述实例希望读者能自己亲自操作一下。

本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm


我20多年的VBA实践经验,全部浓缩在下面的各个教程中:



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/83447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法-集合的使用

1、set常用操作 set<int> q; //以int型为例 默认按键值升序 set<int,greater<int>> p; //降序排列 int x; q.insert(x); //将x插入q中 q.erase(x); //删除q中的x元素,返回0或1,0表示set中不存在x q.clear(); //清空q q.empty(); //判断q是否为空&a…

C++文件和流基础

C文件和流基础 1. C文件和流基础1.1 文件和流的概念1.2 标准库支持1.3 常用文件流类ifstream 类ofstream 类fstream 类 2.1 打开文件使用构造函数打开文件使用 open() 成员函数打开文件打开文件的模式标志 2.2 关闭文件使用 close() 成员函数关闭文件关闭文件的重要性 3.1 写入…

Maven---配置本地仓库

目录 5. 5.1在Maven路径下新建文件夹用于本地仓库存储 5.2 复制本地仓库路径 5.3 找到配置文件路径&#xff0c;使用VSCode方式打开 5.4 新增一行代码 5.5 复制本地仓库路径&#xff0c;设置存储路径 5.1在Maven路径下新建文件夹用于本地仓库存储 5.2 复制本地仓库路径 5…

Vue3 + Element Plus + TypeScript 中 el-cascader 实现模拟用户点击功能

模拟点击&#xff0c;调用 el-cascader 的公开方法 togglePopperVisible 来展开下拉框 MaterialOut.vue <script setup lang"ts" name"MaterialOut"> ...... import { ElMessage, type ElCascader } from "element-plus";// 级联组件实例…

新能源汽车与油车销量

中国油车与新能源车销量对比&#xff08;2022-2025年&#xff09; ‌1. 市场份额演化&#xff08;2022-2025年&#xff09;‌ ‌年份‌ ‌新能源车销量 &#xff08;渗透率&#xff09;‌ ‌燃油车销量 &#xff08;渗透率&#xff09;‌ ‌关键事件‌ ‌2022‌ 688.7万辆…

C++ list代码练习、set基础概念、set对象创建、set大小操作

对应力扣&#xff0c;回文链表&#xff0c;代码见下 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, …

前端面试宝典---前端水印

明水印 1. 背景图 通过css的background-image加载背景图 2. canvasbackground水印 前端水印实现思路与示例代码 一、核心实现思路 Canvas动态生成水印 通过Canvas绘制文本或图案&#xff0c;将生成的图像转为Base64格式&#xff0c;作为背景图重复平铺到目标元素上。例如&…

恶意软件清理工具,让Mac电脑安全更简单

​你的Mac最近是不是开始表演"电子迷惑行为"&#xff1f;浏览器主页突然变成澳门赌场&#xff0c;风扇转得比直升机螺旋桨还猛......恭喜你&#xff01;可能中奖获得"恶意软件大礼包"&#xff01;别慌&#xff0c;今天就教你用恶意软件清理工具化身数字特工…

Spring Boot 3.X 下Redis缓存的尝试(二):自动注解实现自动化缓存操作

前言 上文我们做了在Spring Boot下对Redis的基本操作&#xff0c;如果频繁对Redis进行操作而写对应的方法显示使用注释更会更高效&#xff1b; 比如&#xff1a; 依之前操作对一个业务进行定入缓存需要把数据拉取到后再定入&#xff1b; 而今天我们可以通过注释的方式不需要额外…

Deepseek应用技巧-Dify安装和踩坑指南

前言&#xff1a;Dify的名号是非常大的&#xff0c;作为私有化AI部署中必不可少的一个组件&#xff0c;他的功能和COZE十分相似&#xff0c;可以进行工作流和智能体的搭建&#xff0c;有非常强大的功能&#xff0c;那本节就将来揭开Dify的神秘的面纱&#xff0c;首先看一下Dify…

ubuntu24.04安装教程(图文详解)

Ubuntu 24.04 LTS&#xff0c;代号 Noble Numbat&#xff0c;于 2024 年 4 月 25 日发布&#xff0c;现在可以从 Ubuntu 官方网站及其镜像下载。此版本将在 2029 年 4 月之前接收为期五年的官方安全和维护更新。 关于 Ubuntu 24.04 LTS 的一些关键点&#xff1a; 发布日期&am…

数据绑定页面的完整的原理、逻辑关系、实现路径是什么?页面、表格、字段、属性、值、按钮、事件、模型、脚本、服务编排、连接器等之间的关系又是什么?

目录 一、核心概念:什么是数据绑定页面? 二、涉及的组件及其逻辑关系 页面(Page): 表格(Table): 字段(Field): 属性(Property): 值(Value): 按钮(Button): 事件(Event): 模型(Model): 脚本(Script): 服务(Service): 服务编排(Se…

【 SpringCloud | 微服务 网关技术 】

单体架构时我们只需要完成一次用户登录、身份校验&#xff0c;就可以在所有业务中获取到用户信息。而微服务拆分后&#xff0c;每个微服务都独立部署&#xff0c;这就存在一些问题&#xff1a; 每个微服务都需要编写登录校验、用户信息获取的功能吗&#xff1f; 当微服务之间调…

python,Dataframe基于所有包含某个关键字的列等于某个值过滤

在 Python 中&#xff0c;使用 Pandas 的 DataFrame 丢弃符合特定条件的行&#xff0c;条件为所有包含某个关键字的列中&#xff0c;等于某个值&#xff08;即所有包含某个关键字的列中等于某个值的行&#xff09;&#xff0c;可用以下方法实现&#xff1a; import pandas as …

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Sound Board(音响控制面板)

&#x1f4c5; 我们继续 50 个小项目挑战&#xff01;—— SoundBoard 组件 仓库地址&#xff1a;https://github.com/SunACong/50-vue-projects 项目预览地址&#xff1a;https://50-vue-projects.vercel.app/ &#x1f3af; 组件目标 实现一个响应式按钮面板&#xff0c;点…

在Ubuntu20.04上安装ROS Noetic

本章教程,主要记录在Ubuntu20.04上安装ROS Noetic。 一、添加软件源 sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list二、设置秘钥 …

神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期)

&#x1f9e0; 神经网络基础&#xff1a;从单个神经元到多层网络&#xff08;superior哥AI系列第3期&#xff09; 哈喽&#xff01;各位AI探索者们&#xff01;&#x1f44b; 上期我们把数学"怪兽"给驯服了&#xff0c;是不是感觉还挺轻松的&#xff1f;今天我们要进…

03 APP 自动化-定位元素工具元素定位

文章目录 一、Appium常用元素定位工具1、U IAutomator View Android SDK 自带的定位工具2、Appium Desktop Inspector3、Weditor安装&#xff1a;Weditor工具的使用 4、uiautodev通过定位工具获取app页面元素有哪些属性 二、app 元素定位方法 一、Appium常用元素定位工具 1、U…

Java消息队列与安全实战:谢飞机的烧饼摊故事

Java消息队列与安全实战&#xff1a;谢飞机的烧饼摊故事 第一轮&#xff1a;消息队列与缓存 面试官&#xff1a;谢飞机&#xff0c;Kafka和RabbitMQ在电商场景如何选型&#xff1f; 谢飞机&#xff1a;&#xff08;摸出烧饼&#xff09;Kafka适合订单日志处理&#xff0c;像…

Unity中的MonoSingleton<T>与Singleton<T>

1.MonoSingleton 代码部分 using UnityEngine;/// <summary> /// MonoBehaviour单例基类 /// 需要挂载到GameObject上使用 /// </summary> public class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T> {private static T _instance;…