Ms access Listbox.Listcount不准确

Ms access Listbox.Listcount不准确,ms-access,listbox,vba,ms-access-2010,Ms Access,Listbox,Vba,Ms Access 2010,搜索了此网站和其他网站,但找不到关于为什么我在从记录集中添加项目时没有看到列表框的正确列表计数的答案。 由于列表框上的列标题或65534物理限制,大多数其他线程关注的是计数被关闭1。 我看到了一些不同的东西 使用链接的SQL Server 2008表运行Access 2010 代码: 在循环之后放置断点,我检查了以下值: lstSearchResults.ListCount - 1012 rsParts.RecordCount - 5255 lngCount - 5255 由于使用的是AddI

搜索了此网站和其他网站,但找不到关于为什么我在从记录集中添加项目时没有看到列表框的正确列表计数的答案。 由于列表框上的列标题或65534物理限制,大多数其他线程关注的是计数被关闭1。 我看到了一些不同的东西

使用链接的SQL Server 2008表运行Access 2010

代码:

在循环之后放置断点,我检查了以下值:

lstSearchResults.ListCount - 1012
rsParts.RecordCount - 5255
lngCount - 5255

由于使用的是
AddItem
方法,这意味着列表框的行源类型属性必须是“值列表”。这意味着记录源属性是一个包含该值列表的字符串。值列表中可以包含的字符数也有限制。虽然我不记得该限制的数字,但我怀疑这就是为什么您的值列表没有包含您期望的所有值

但是有一种更简单的方法来加载列表框值。您有一个查询strSQL,为其打开一个记录集,然后遍历该记录集,将每行中的2个字段值添加到值列表中

直接使用SQL语句。。。没有记录集作为中介

  • 将列表框的行源类型更改为“表/查询”
  • 使用SQL语句作为列表框的行源属性
  • 这种方法不太麻烦,并且避免了值列表字符限制。然后,您只需要确定1K或更多行是否真正适合列表框。:-)

    lstSearchResults.ListCount - 1012
    rsParts.RecordCount - 5255
    lngCount - 5255