hAsStri
gStr_c
AsDimiAsLo
gSetc
fCreateObjectadodbco
ectio
Mypath
ThisWorkbookFullName代码所在工作簿的完整名称Str_c
ProviderMicrosoftACEOLEDB120Exte
dedPropertiesExcel120DataSourceampMypathc
Ope
Str_c
创建到代码所在工作簿的链接Sql
SELECTFROMExcel120DATABASEDEH小学学生表xlsm成绩表Sql语句,查询成绩表的所有数据CellsClearCo
te
tsCells1i1
Setrstc
ExecuteSql执行SQLFori0TorstFieldsCou
t1rstFieldsiNameNext
Ra
gea2CopyFromRecordsetrst
c
Close
Setc
Nothi
gE
dSub(代码详细注释及适用于0316版本Excel的VBA代码模版请参考第2章,回复关键词SQL可以获取过往系列文章)代码中的SQL语句是:SELECTFROMExcel120DATABASEDEH小学学生表xlsx成绩表FROM指定表的字符串有两部分组成。第一个中括号中,Excel120是目标工作簿的版本号,第2章时我们讲过,Excel120适用于除了2003以外的所有Excel版本。DATABASE指定的是数据源工作簿的路径和名称。第2个中括号内是工作表名。两个中括号之间使用英文句号相连。…………看起来似乎VBAADO方法的SQL语句比OLEDB法更复杂?确实如此,不过前者的功能也更强大。比如,
f它可以通过VBA对象的属性和方法及循环、判断语句等,有条件的筛选工作簿和工作表等……相比之下,OLEDB中的SQL语句就是纯手工原始模式了。当然,更重要的是,前者不但可以查数据,还可以增改删数据,后者却只限于查。…………
fr