Excel - 连接访问数据的最佳方式

Posted

技术标签:

【中文标题】Excel - 连接访问数据的最佳方式【英文标题】:Excel - Best Way to Connect With Access Data 【发布时间】:2011-01-13 14:26:02 【问题描述】:

这是我们的情况:

a) 我有一个记录大量数据的 Access 数据库/应用程序。重要的字段包括小时数、销售次数、未回电次数等

b) 我有一个 Excel 文档,它连接到 Access 数据库并提取数据以将其可视化

就目前而言,Excel 文件有一个用于加载新数据的刷新按钮。数据被加载到一个大数据透视表中。然后,主“可视表单”使用 VLOOKUP 根据相关时间从表单中获取结果。

这个操作很慢(~10 秒),而且似乎是多余的和低效的。 有没有更好的方法来做到这一点?

我愿意去几乎任何路线 - 只需要方向。

提前致谢!

更新:我已经确认(由于有用的 cmets/responses)问题出在数据加载本身。删除所有 VLOOKUP 只需要一两秒的加载时间。因此,问题在于我如何能够快速可靠地获取数据,而无需花费太多时间(它将大约 3000 条记录加载到数据透视表中)。

【问题讨论】:

您从 Excel 端而不是 Access 端工作的任何原因? 报告在 Excel 中完成,因此可以发送给各个团队成员,他们可以运行文件并查看远程数据库中的结果。 我的意思是为什么不使用Access端将数据放入Excel?它应该更快。 是否可以/更好地使用各种文件?我认为能够向每个人发送文件而不是让他们远程打开文件对我们来说是理想的。它还需要按需刷新或实时更新(如果可能的话,后者非常棒)。 【参考方案1】:

您需要确定是数据透视表刷新还是 VLOOKUP 占用了时间。 (尝试删除 VLOOKUP 以查看刷新需要多长时间)。

如果是 VLOOKUP,您通常可以加快速度。 (请参阅http://www.decisionmodels.com/optspeede.htm 以获得一些提示)

如果它是数据透视表刷新,那么它取决于您使用哪种方法来获取数据(Microsoft Query、ADO/DAO,...)以及您传输的数据量。 加快此速度的一种方法是通过减少列数和/或预定义查询来对行进行子集化,从而最大限度地减少读取到数据透视缓存中的数据量。

【讨论】:

我正在使用默认的 Excel 数据实现。它被设置为仅使用 Access Query 作为外部数据源 - 我还没有确定是什么连接方法。 我删除了所有的 VLOOKUP。时间大致相同——可能相差一两秒。我认为这是我的数据连接,它正在访问外部(和远程)数据源 - 可能是问题所在。尽管如此,我认为有更好的连接方法。 好的,请检查从您的系统运行访问查询需要多长时间。 这需要几秒钟。在 Access 中加载查询大约需要 6 秒。这是否意味着 Excel 正在运行查询,然后抓取数据并将其引入? (意味着加载原始数据而不是查询可能会更好)还是我出去吃午饭了? 除非你有计算项目或很多公式(你检查过切换计算到手动的效果吗)直接读取查询到数据透视缓存的时间应该与运行时间相同来自您的 PC 的查询。但是 6 秒不等于 30 秒,所以肯定有其他事情发生

以上是关于Excel - 连接访问数据的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

在网站上显示大型 Excel 文件中的数据的最佳方式

连接两台服务器(均使用 JSP 技术)以访问存储在其中一台服务器中的信息的最佳方式是啥?

Excel 作为 Access 的前端 - 运行查询的最佳方式

保证这种 SSH 连接的最佳方式是啥?

以编程方式访问 Graphite 数据的最佳方式是啥? [关闭]

存储数据库配置参数的最佳方式?