Excel-连接Access数据的最佳方式

Excel-连接Access数据的最佳方式,excel,ms-access,pivot-table,Excel,Ms Access,Pivot Table,以下是我们的情况: a) 我有一个记录大量数据的Access数据库/应用程序。重要字段包括小时数、销售额、未回复电话等 b) 我有一个Excel文档,它连接到Access数据库,并将数据拉入其中以使其可视化 现在,Excel文件有一个刷新按钮,用于加载新数据。数据被加载到一个大的数据透视表中。然后,主“视觉表单”使用VLOOKUP根据相关时间从表单中获取结果 此操作速度慢(约10秒),并且似乎是冗余的和低效的。 有更好的方法吗 我愿意走任何路线——只要知道方向 提前谢谢 更新:我已经确认(由于有

以下是我们的情况:

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

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

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

此操作速度慢(约10秒),并且似乎是冗余的和低效的。 有更好的方法吗

我愿意走任何路线——只要知道方向

提前谢谢


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

您需要找出是数据透视表刷新还是VLOOKUP占用了时间。 (尝试移除VLOOKUP,看看刷新需要多长时间)

如果是VLOOKUP,你通常可以加快速度。 (有关提示,请参阅)

如果是数据透视表刷新,则取决于您用于获取数据的方法(Microsoft Query、ADO/DAO等)以及传输的数据量。
加快这一速度的一种方法是通过减少列数和/或预定义查询以对行进行子集来最大限度地减少读入pivot缓存的数据量。

您需要找出是pivot表刷新还是VLOOKUP占用了时间。 (尝试移除VLOOKUP,看看刷新需要多长时间)

如果是VLOOKUP,你通常可以加快速度。 (有关提示,请参阅)

如果是数据透视表刷新,则取决于您用于获取数据的方法(Microsoft Query、ADO/DAO等)以及传输的数据量。

加快此速度的一种方法是,通过减少列数和/或预定义查询以对行进行子集,将读取到pivot缓存中的数据量降至最低。

为什么要从Excel端而不是Access端进行工作?报告是在Excel中完成的,因此可以发送给各个团队成员并让他们运行我的意思是,为什么不使用Access端将数据放入Excel?应该快得多。是否可以/更好地处理各种文件?我认为这将是理想的,我们能够发送一个文件给每个人,而不是让他们远程打开文件。它还需要按需刷新或实时更新(如果可能的话,后者令人惊讶)。您为什么要从Excel端而不是Access端工作?报告是在Excel中完成的,这样可以将报告发送给各个团队成员,他们可以运行文件并查看远程数据库的结果。我的意思是,为什么不使用Access端将数据放入Excel?应该快得多。是否可以/更好地处理各种文件?我认为这将是理想的,我们能够发送一个文件给每个人,而不是让他们远程打开文件。它还需要按需刷新或实时更新(如果可能的话,后者令人惊讶)。它被设置为只使用Access查询作为外部数据源-我还没有确定这是什么连接方法。我删除了所有的VLookup。时间大致相同——可能相差一秒或两秒。我假设这是我的数据连接,它正在访问一个外部(和远程)数据源——可能是问题所在。同样,我假设有一种更好的连接方法。好的,那么检查一下从您的系统运行access查询需要多长时间。这需要几秒钟。在Access中加载查询大约需要6秒钟。这是否意味着Excel正在运行查询,然后获取数据并将其导入?(这意味着最好加载原始数据,而不是查询)或者我是不是出去吃午饭了?除非你有计算项目或很多公式(你检查过将计算转换为手动的效果了吗)直接将查询读取到pivot缓存中的时间应与从PC运行查询的时间相同。但6秒不等于30秒,因此我在使用默认Excel数据实现时必须有其他事情发生。它被设置为只使用Access查询作为外部数据源-我还没有确定这是什么连接方法。我删除了所有的VLookup。时间大致相同——可能相差一秒或两秒。我假设这是我的数据连接,它正在访问一个外部(和远程)数据源——可能是问题所在。同样,我假设有一种更好的连接方法。好的,那么检查一下从您的系统运行access查询需要多长时间。这需要几秒钟。在Access中加载查询大约需要6秒钟。这是否意味着Excel正在运行查询,然后获取数据并将其导入?(这意味着最好加载原始数据,而不是查询)或者我是不是出去吃午饭了?除非你有计算项目或很多公式(你检查过将计算转换为手动的效果了吗)直接将查询读取到pivot缓存中的时间应与从PC运行查询的时间相同。但6秒不等于30秒,因此必须有其他情况发生