导入数据(导入数据时第一行必须是字段名):
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 表名"
要点:导入时工作表名称后面要加$(如Sheet1$),而导出时却不能加(如Sheet1),另外示例代码中的Sheet1可以是其它名称(如“测试数据”)。
最初的写法: [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].Sheet1 这个是参考帮助文档写的,经过仔细测试验证,的确存在问题,所以建议大家不要再用了,看样子帮助中的东西也不能全信,问题不少。
在此感谢网友“疯狂的石头”的提醒!
[access查询]一句查询代码实现Excel数据导入导出【Access软件网】