0

我正在使用 Access 2003 开发一个应用程序,用户可以在其中动态生成查询,然后浏览列表框及其 GUI 定义的查询结果。我允许列标题显示结果中哪些算作额外行。

返回的行数受列表框的物理限制 65535 的限制。我还有一个列表框,显示文本框中选择的第 X 行

每次用户点击列表框时都会生成消息,事件处理程序中的代码为:

Me!txtRowCount.Value = "Row " & (Me!listDynamicSearchResult.ListIndex + 1) & _ " Of " & (Me!listDynamicSearchResult.ListCount - 1) & " Selected"

通常代码显示Row X of 65534 Selected,因为我选择不计算列表框中的标题。随着用户接近最大值,Y 值 65534 变为 65535 并保持在该最大值,直到我重新查询或清除表单。

那么,为什么 listcount 属性在我接近最大值之前不显示适当的值?

4

1 回答 1

1

该行为可能类似于在记录集和记录集中计数发生的情况

Before we get into the examples, you need to understand how RecordCount works. 
It does not tell you the number of records in a recordset. Rather, it tells you
the count of records accessed in the Recordset. They may or may not be the same
thing. 

资料来源:http ://www.baldyweb.com/RecordCounts.htm

一种解决方法可能是使用DCount,但我猜在 64k 线路上调用可能很昂贵

于 2013-07-09T16:14:29.907 回答