Excel VBA 两个表中查询相同的记录、不同的记录 例程

上传者: wcx1978 | 上传时间: 2024-08-16 14:43:42 | 文件大小: 46KB | 文件类型: DOC
Excel VBA 两个表中查询相同的记录、不同的记录 例程 本文将详细介绍如何使用 Excel VBA 在两个表中查询相同的记录、不同的记录。这个程序可以帮助用户快速地查询出两个表中的共同记录和不同记录,从而提高工作效率。 我们需要了解程序的基本结构。这个程序主要包括四个部分:Sheet1、Sheet2、Sheet3 和 VBA 代码。其中,Sheet1 和 Sheet2 是数据存放表,Sheet3 是查询结果显示表。VBA 代码是程序的核心,它负责连接数据库、执行查询语句和显示查询结果。 在 VBA 代码中,我们首先需要连接数据库。这里使用了 ADO 连接,需要对 ADO 进行引用,否则会出现错误提示。连接串的格式如下: `conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0 Macro;HDR=YES';Data Source=" & ThisWorkbook.FullName` 接着,我们需要编写查询语句。查询语句的格式如下: `sql = "select [Sheet1$].num_id from [Sheet1$],[Sheet2$] where [Sheet1$].num_id=[Sheet2$].num_id"` 这个查询语句将查询出两个表中相同的记录,並将结果显示在 Sheet3 中。 如果我们想查询出两个表中的不同记录,可以使用以下查询语句: `sql = "select * from [Sheet1$] where [Sheet1$].num_id not in (select [Sheet2$].num_id from [Sheet2$])"` 这个查询语句将查询出 Sheet1 中存在但 Sheet2 中不存在的记录。 类似地,我们可以使用以下查询语句查询出 Sheet2 中存在但 Sheet1 中不存在的记录: `sql = "select * from [Sheet2$] where [Sheet2$].num_id not in (select [Sheet1$].num_id from [Sheet1$])"` 我们可以使用以下查询语句查询出两个表中的所有不同记录: `sql = "select num_id from [Sheet1$] where [Sheet1$].num_id not in (select [Sheet2$].num_id from [Sheet2$]) union select num_id from [Sheet2$] where [Sheet2$].num_id not in (select [Sheet1$].num_id from [Sheet1$])"` 这个查询语句将查询出两个表中的所有不同记录,並将结果显示在 Sheet3 中。 本文详细介绍了如何使用 Excel VBA 在两个表中查询相同的记录、不同的记录。这个程序可以帮助用户快速地查询出两个表中的共同记录和不同记录,从而提高工作效率。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明