Option Compare Database PrivateSub Command0_Click() MsgBox"hello" End Sub PrivateSub Command1_Click() DoCmd.Beep DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "table1", "c:myexcel", True, "ruix" End Sub PrivateSub Command2_Click() '导入一个excel文件到指定表格 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _ "Employees", CurrentProject.Path &" est.xls", True End Sub PrivateSub Command3_Click() '导出所有表到一个excel文件 ExportTableToOneXls CurrentProject.Path &" empExEg.xls" End Sub PublicFunction ExportTableToOneXls(ByVal XlsPath AsString) '这里用 ADO 来获取所有的表名,当然,你完全可以用查询系统表的方法来实现 Dim rstSchema As ADODB.Recordset Dim cnn2 As ADODB.Connection Set cnn2 = CurrentProject.Connection Set rstSchema = cnn2.OpenSchema(adSchemaTables) Dim i AsLong Do Until rstSchema.EOF If rstSchema("TABLE_TYPE") ="TABLE"Then '对应 TABLE_TYPE 可以取值 "TABLE" "SYSTEM TABLE" "ACCESS TABLE" '在这里我们列出所有用户表的信息,系统表不列出 For i =0To rstSchema.Fields.Count -1 Debug.Print rstSchema(i).Name &"-> "& rstSchema.Fields(i).Value If rstSchema(i).Name ="TABLE_NAME"Then '用 TransferSpreadsheet 实现导出,当然,你完全可以用 in 子句来实现 ' 《查询》如何查询其他数据库内的表(IN子句实例)? ' http://access911.net/index.asp?u1=a&u2=71FAB21E17DC DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, rstSchema.Fields(i).Value, XlsPath, True EndIf Next EndIf rstSchema.MoveNext Loop rstSchema.Close cnn2.Close End Function