当前位置: 首页 > news >正文

VBA数据库解决方案第二十讲:Select From Where条件表达式

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

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

【分享成果,随喜正能量】130 不要把自己的伤口揭开给别人看,世上多的不是医师,多的是撒盐的人。人只有实实在在的有所成长,并且真正感受到了这些成长带给自己的益处,才会真正去感恩带给自己成长的各种机缘,才会发自内心地说:一切都是最好的安排,才能把负面的事物,做出正向的解读。。

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

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

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

2 Select 查询表达式 From 数据区域 Where 条件表达式

这种方式可以通过使用Where可以设置查询条件,查询的条件表达式可以是:

(1)任何逻辑表达式

如:strSQL = "SELECT * FROM 员工信息 WHERE 部门='一厂'"

这种查询在之前的讲解中讲过,这里不再举例。

(2)IN/NOT IN ( 表达式1,表达式2,…. ) 注意上面的括号不可少,各表达式用逗号搁开。

'查询姓名在括号中列出名单范围内的人,如总数据如下:

我们要显示的是姓名为马17和张11的信息,SQL语句如下:

strSQL = "SELECT * FROM 员工信息 where 姓名 in ('马17','张11')"

代码如下:

Sub mynz_20_2() '总数据内的数据指定显示 第20讲 结构化查询语言SQL在VBA中几种常见的查询表达方式

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 * FROM 员工信息"

strSQL = "SELECT * FROM 员工信息 where 姓名 in ('马17','张11')"

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

代码截图和运行结果如下图:

(待续)

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

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



相关文章:

  • CMake中的“包管理“模块FetchContent
  • 2025五一数学建模竞赛B题完整分析论文(共42页)(含模型、可运行代码、数据)
  • 【CV数据集】DIOR遥感目标检测数据集(含处理好的YOLO、COCO、VOC格式和相关配置文件下载链接)
  • 数字智慧方案5971丨智慧农业大数据平台解决方案(59页PPT)(文末有下载方式)
  • AM剪辑软件汉化版:简单易用,开启视频创作之旅
  • 实现Sentinel与Nacos的规则双向同步
  • 案例:自动化获取Web页面小说(没钱修什么仙)——selenium
  • C++之特殊类设计及类型转换
  • linux下安装ollama网不好怎么办?
  • 【分享】数据恢复大师6.10[特殊字符]恢复手机误删的数据[特殊字符]
  • 位运算题目:寻找重复数
  • Flutter PIP 插件 ---- 新增PipActivity,Android 11以下支持自动进入PIP Mode
  • Fellou:重新定义浏览器边界的智能行动平台
  • 【漫话机器学习系列】235.切分文本(Tokenize Text)
  • OSPF的路由
  • Python 数据智能实战 (6):用户评论深度挖掘
  • SpringTas定时任务使用详解
  • 动态规划简单题2
  • 博客打卡-人类基因序列功能问题动态规划
  • GESP2024年6月认证C++八级( 第二部分判断题(1-5))
  • 科普|“小石头,大麻烦”,出现输尿管结石如何应对?
  • 太空飞梭项目起火,南宁方特东盟神画:明火已扑灭,无人受伤
  • 亚马逊一季度利润增超六成:云业务增速放缓,警告关税政策或影响业绩指引
  • “三桶油”一季度净赚966亿元:业绩分化加剧,有人欢喜有人愁
  • 网商银行2024年年报发布,客户资产管理规模超过1万亿
  • 聚焦各领域顶尖工匠,《上海工匠》第十季于五一播出