0

我有一种情况需要处理 Ms Access 中的数百万行。
数据来自 SQL 服务器,在正常情况下,连续形式是正确的,但行是唯一的问题,因为我有很多列的表。
所以我开始研究像 ListView 或 MsFlexGrid 这样的替代方案......让我烦恼的是我想要一些延迟加载......前 1000 行加载,然后用户向下/向上滚动时加载下一组数据.
几年来,我已经在一个小型 .NET 应用程序上使用 DGV 测试了此功能,但我在 Access + ActiveX 控件中没有看到任何类似的东西,要添加的是控件必须显示符合检索条件的总行数。 。例如。100,000 行,但只加载 1000 行...我还需要这是一个免费的解决方案..任何想法....
我担心这种扩展控件的文档已经很老了,我偶然发现了死网站.. .所以一个好的方向会很棒。
最后但并非最不重要...无需编辑...仅用于查看。

4

1 回答 1

0

拉动或让表单滚动超过 1000 条记录真的是零理由。这样的过程对用户来说简直是折磨。

您希望用户滚动表单中超过 100 万行的可能原因是什么?我认为这里不需要软件开发人员技能,因此确实需要避免这种方法。

解决方案是在填写结果表格之前简单地询问或获取一些搜索条件。

这种形式适用于 100 万行的表。您输入名字,然后可能输入一些姓氏。然后,您只需使用结果填写表格。

即使在具有大量行的表上,它也能立即执行。

该表单可能类似于以下访问示例:

在此处输入图像描述

搜索按钮后面的代码如下所示:

Dim strSQL       As String

strSQL = "select * from tblcustomers where LastName like " & Me.LASTNAME & "*'" And _
 "FirstName like " & Me.FIRSTNAME & "*'"

Me.RecordSource = strSQL

上面的表现几乎是即时的——即使表单是基于到 sql server 的链接表。

在 Access、.net 或任何基于 Web 的应用程序中,尝试拉动和分页 100 万行的想法是零意义的。为了避免对用户造成纯粹的折磨,只需添加某种过滤器或搜索条件。

作为客户端访问 SQL Server 只会根据条件从网络管道中拉取记录——不拉取整个表,不应该拉取也不应该在这里尝试一些混乱的分页方法。

我还应该指出,上面的示例是一个简单的 Access continue 表单 - 不需要 activeX 或网格控件 - 您需要的功能集已内置在 Access 中。

于 2017-11-01T02:21:09.410 回答