[access查询]用SQL语句对mdb表进行导出到Excel-叶海峰
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-查询/SQL语句


[access查询]用SQL语句对mdb表进行导出到Excel

发表时间:2009/7/7 16:38:49 评论(1) 浏览(15168)  评论 | 加入收藏 | 复制
   
摘 要:用SQL语句对mdb表进行导出到Excel
正 文:

追加查询
Insert INTO [excel 8.0;database=c:\a.xls].[sheet1$] Select * FROM Sm;
这个追加是在指定表的最后一条记录进行追加的,缺陷是一定要有列标题,而且列标题要与mdb表的字段名一致.假如有N个mdb数据要导出到一个excel,通常是先打开一个excel,然后分别进行导出,过程中要加入usedrange或其他方法来判断最后的行位置,而用这个语句就省去这个麻烦了.

生成表查询
Select Sm.ID, Sm.字段1 INTO [excel 8.0;database=c:\a.xls].[sheet2] FROM Sm;
这里的表名不需要加"$"附号,而且表名已有的话,会有提示.另外感觉这个sql语句的速度比tranferspreadsheet,OutPutTo的速度要快,而且可以指定生成工作表的名称.与CopyFromRecordSet速度相当,但优点在于自动生成列标题,而CopyFromRecordSet不能.
基于以上两点理由,觉得应该用这个语句来代替以往所有的导出的方法.

经准确测试,3.3万条记录,用sql语句与copyfromrecordset执行时间都是2秒,而tranferspreadsheet要4秒,outputto超出行数,报错.
copyfromrecordset需要起码7行代码,而且没有列标题,如果是用copyfromrecordset追加到指定的单元格,可以用追加查询代替,如果是新表,就用生成表查询代替.

至于删除查询,提示ISAM不支持.


Access软件网交流QQ群(群号:198465573)
 
 相关文章
Access查询 交流QQ群群号:54525238 欢迎学习acc...  【宏鹏  2012/10/26】
常见问答
技术分类
相关资源
文章搜索
关于作者

叶海峰

文章分类

文章存档

友情链接