[access查询]用SQL语句对mdb表进行导出到Excel
时 间:2009-07-07 16:38:49
作 者:yehf ID:31 城市:广州
摘 要:用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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)