我的一位同事使用 MSAccess 组织她的数据。她输出表格并将其粘贴到 excel 文件中(相同的标题/列,,,,)。然后 excel 表进行一些计算并输出汇总表。
有没有办法使这个过程自动化?
答案1
有两种方法可以解决这个问题:1) 在 Access 中创建一个可以完成 Excel 所做所有事情的报告。这有点不费脑筋,所以我假设没有这样做是有原因的。
另一种方法是建立从 Excel 到 mdb 文件的 ODBC 连接。这将允许 Excel 直接使用 Access 表(如果需要,可以实时使用)。我这样做是因为在 Excel 中格式化报告比在 Access 中更容易。
此 Microsoft 链接具有概述http://office.microsoft.com/en-us/excel/HP052747511033.aspx
使用此方法需要您将数据库设置为数据源。这个过程并不困难。
找到“数据/导入外部数据/新数据库查询”菜单项,然后选择“新数据源”。将“数据源”命名为“选择 Microsoft Access (*.mdb)”驱动程序,然后单击“连接”。单击“选择”按钮以选择数据库,然后单击“确定”。然后在数据库中选择表。然后系统会询问您要包括哪些列。您可以选择所有列。单击“下一步”、“下一步”和“完成”。选择数据的左上角位置,您就大功告成了。
答案2
您可以在 VBA 中轻松创建一个可以插入到工作表中的查询:
如果您想使用模板:
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlWorkbook = xlApp.Workbooks.Open(sTemplate_Full_Folder_Path_and_Template_File_Name, False, xlReadWrite)
打开记录集:
rs.Open Some_Query_Name , CurrentProject.Connection, adOpenKeyset, adLockReadOnly
将记录集的结果放在 Excel 中。我喜欢为单元格使用名称。
xlSheet.Range("SomeCellNameInExcel).CopyFromRecordset rs
您可以将标题添加到模板中的列