用SQL语句对mdb表进行快速导出-叶海峰
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


用SQL语句对mdb表进行快速导出

发表时间:2012/7/29 9:56:02 评论(0) 浏览(12063)  评论 | 加入收藏 | 复制
   
摘 要:用SQL语句对mdb表进行快速导出
正 文:

追加查询

 
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不能.
基于以上两点理由,觉得应该用这个语句来代替以往所有的导出的方法.

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

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


Access软件网交流QQ群(群号:198465573)
 
 相关文章
从SQL SERVER中导出数据格式为TXT  【王德才  2009/7/28】
数据导出到另一带有密码的数据库  【徐军勇  2009/8/11】
【access源码示例】-word导入导出系列-替换方式导出  【金宇  2012/8/6】
常见问答
技术分类
相关资源
文章搜索
关于作者

叶海峰

文章分类

文章存档

友情链接