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

【EXCEL_VBA_基础知识】15 使用ADO操作外部数据

课程来源:王佩丰老师的《王佩丰学VBA视频教程》,如有侵权,请联系删除!

目录

1. 使用ADO链接外部数据源

2. 常用SQL语句(Execute(SQL语句))

2.1 查询数据、查询某几个字段、带条件查询、合并两表数据、插入新纪录

2.2  修改、删除一条数据、Vlookup、查询结果赋值到数组

2.3 注意事项(select语句 执行顺序)

3.  抓取数据实例


1. 使用ADO链接外部数据源

' Excel文件
' 中间的两双引号其中一个为转义字符Dim conn As New ADODB.Connection
conn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=D:\data\Edata.xlsx; _
extended properties=""excel 12.0;HDR=YES"""
conn.Close' ACCESS文件
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\data\Adata.accdb"' Mysql数据库
conn.Open  "Provider=SQLOLEDB;DataSource=" & Path & "; _
Initial Catolog=" & strDataName' MSSQL数据库
conn.Open  "Provider=MSDASQL;Driver={SQL Server}; _
Server=" & Path & ";Database=" & strDataName' Oracle数据库
conn.Open  "Provider=madaora;Data Source=MyOracleDB; _User Id=UserID; Password=Password"

2. 常用SQL语句(Execute(SQL语句))

2.1 查询数据、查询某几个字段、带条件查询、合并两表数据、插入新纪录

2.2  修改、删除一条数据、Vlookup、查询结果赋值到数组

2.3 注意事项

2.3.1 SQL LEFT JOIN 与 Right JOIN(参考:SQL LEFT JOIN 关键字)

LEFT JOIN :左表 (table_name1) 返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

2.3.2 SQL Select语句执行顺序(自右向左)

1. 先执行红框语句,生成数据源表

2. 其次执行select语句,选择包含所选字段的数据(选择列)

3.  抓取数据实例

'使用前请确认是否勾选了Microsoft ActiveX Data Object  x.x  Library!!!
' VBA → 工具 → 引用
Sub Scrape_data()Dim conn As New ADODB.Connection
Dim sql As String' 清空当前sheet数据
ActiveSheet.Range("a2:z1000").ClearContents '注意这个链接文件的路径!!!需要把edata文件放入d:\data文件夹!!
conn.Open ("Provider = Microsoft.ACE.OLEDB.12.0;_
Data Source=D:\data\Edata.xlsx;extended properties=""excel 12.0;HDR=YES""")sql = "select a.姓名,年龄,性别,月薪 from (select * from [data$] union all select * from [data2$])a left join [data3$] on a.姓名=[data3$].姓名"'仅返回数据(不会返回表头,因已select)
ActiveSheet.Range("a2").CopyFromRecordset conn.Execute(sql) conn.Close
End Sub

http://www.lryc.cn/news/352417.html

相关文章:

  • 如何在Spring中配置Bean?
  • 深入学习 torch.distributions
  • Java中的判断校验非空问题
  • webman使用summernote富文本编辑器
  • jQuery里添加事件 (代码)
  • Java数组的使用
  • 如何参与github开源项目并提交PR
  • 拼多多携手中国农业大学,投建陕西佛坪山茱萸科技小院
  • 技术前沿 |【自回归视觉模型ImageGPT】
  • Manjaro linux install RedisGUI (RedisInsight)亲测2024-5-25
  • debian/control文件中常见字段的介绍
  • c++题目_农场和奶牛
  • DDD领域设计在“图生代码”中的应用实践
  • LabVIEW舱段测控系统开发
  • [leetcode]第 n个丑数
  • STM32-电灯,仿真
  • 《SpringBoot》系列文章目录
  • 牛客小白月赛94VP
  • php 亚马逊AWS-S3对象存储上传文件
  • electron-01 基础及NPM相关配置
  • Foxit PDF Editor Pro福昕PDF编辑器Pro:重塑您的文档编辑体验
  • VUE 页面生命周期基本知识点
  • windows查看mysql的版本(三种方法)
  • Redis批量删除指定前缀的key
  • 机器学习实验------Adaboost算法
  • 点云处理中阶 Octree模块
  • Nginx实现负载均衡与故障检查自动切换
  • 2024年学浪视频怎么下载到手机相册
  • 【北京市政府网_注册安全分析报告】
  • 工作中的冲突,职场人士应如何化解