摘 要:用一句查询代码,写到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 这个是参考帮助文档写的,经过仔细测试验证,的确存在问题,所以建议大家不要再用了,看样子帮助中的东西也不能全信,问题不少