摘 要:用一句查詢代碼,寫到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 這個是參考幫助文檔寫的,經過仔細測試驗證,的確存在問題,所以建議大家不要再用了,看樣子幫助中的東西也不能全信,問題不少
