我在这里的第一篇文章,所以我希望这是正确的领域。我当前正在尝试比较2个记录集,其中一个来自命名范围的Excel,另一个来自Access数据库中的表。每个的代码是:
Set existingUserIDs = db.OpenRecordset("SELECT Username FROM UserData") Set IDsToImport = exceldb.OpenRecordset("SELECT Username FROM Named_Range")
问题是我想以某种方式比较这两个记录集,而不会循环(有大量记录)。有什么办法可以对这些记录集进行联接或类似操作吗?
由于一个来自Excel,另一个来自Access,因此我无法在创建记录集之前进行联接,因此它们是两个不同的DAO数据库。
最终目标是,我将只选择要导入的访问表中不存在的用户名(因此在SQL查询中,它将是NOT IN(表))。
感谢您提供的任何协助!
问候,Bricky。
您可以在一个查询中比较来自两个不同来源的数据。您可以在SQL中使用IN关键字,或者更简单地,在Access中链接到Excel表(工作表)并围绕该关键字构建查询。
使用IN编辑示例
SELECT * FROM CompareTable LEFT JOIN (SELECT * FROM [Sheet1$] IN ''[Excel 8.0;HDR=YES;IMEX=2;DATABASE=C:\Full\Path\AndName.xls]) C ON CompareTable.CourseKey=c.CourseKey WHERE c.CourseKey Is Null
Sheet1 $也可以是Named_Range。