Access中一句查询代码实现Excel数据导入导出

摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行
正 文:

导入数据(导入数据时第一行必须是字段名):

DoCmd.RunSQL "Insert INTO 表名 Select * FROM [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].[Sheet1$]"
DoCmd.RunSQL "Insert INTO 表名 Select * FROM [Sheet1$] IN 'E:\桌面\测试数据.xls'[EXCEL 8.0;]" 
DoCmd.RunSQL "Insert INTO 表名 Select * FROM [Sheet1$] IN 'E:\桌面\测试数据.xls' 'EXCEL 8.0;'"


导出数据:

DoCmd.RunSQL "Select * INTO [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].[Sheet1] FROM 表名"
DoCmd.RunSQL "Select * INTO [Sheet1] IN 'E:\桌面\测试数据.xls'[EXCEL 8.0;] FROM 表名" 
DoCmd.RunSQL "Select * INTO [Sheet1] IN 'E:\桌面\测试数据.xls' 'EXCEL 8.0;' FROM 表名"


要点:DoCmd.RunSQL为VBA中的代码,导入时工作表名称后面要加$(如Sheet1$),而导出时却不能加(如Sheet1),另外示例代码中的Sheet1可以是其它名称(如“测试数据”)。
最初的写法: [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].Sheet1   这个是参考帮助文档写的,经过仔细测试验证,的确存在问题,所以建议大家不要再用了,看样子帮助中的东西也不能全信,问题不少

 

出处:http://www.accessoft.com/article-show.asp?id=4902

posted on 2015-11-29 20:20  jack_Meng  阅读(14037)  评论(0编辑  收藏  举报

导航