点击下载此附件 做了一个示例给你。
代码如下
Private Sub 旧表换新表_Click()
DoCmd.SetWarnings False
DoCmd.TransferSpreadsheet acExport, 8, "旧表", "D:\临时excel", False, ""
DoCmd.RunSQL "SELECT 临时excel.F1 AS 新字段1, 临时excel.F2 AS 新字段2, 临时excel.F3 AS 新字段3, 临时excel.F4 AS 新字段4, 临时excel.F5 AS 新字段5, 临时excel.F6 AS 新字段6, 临时excel.F7 AS 新字段7 INTO 新表 FROM 临时excel"
Me.RecordSource = "新表"
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
Me.RecordSource = ""
Kill "D:\临时excel.xls"
MsgBox "转换完成"
End Sub
第一行是使不弹出对话框
第二行是把旧表的数据导出到excel
第三行是根据链接表的excel数据把数据导入到新表,在这里定义你新字段的名字
第四行是把窗体的数据源改为新表
第五六行是删除按钮,也就是删除第一行数据的行标题,因为那个新表的第一行就是旧表的行标题
第七行把数据源改为空
第八行删除临时excel文件