VBA记录读取限制?

我正在使用Excel 2016 VBA使用DAO引用读取access 2016数据库。我这样做是因为在Excel中创建动态表单控件要容易得多。看来工作正常,但我发现即使我使用SQL查询限制了三个记录集,它也只能读取任何表的前335条记录。

我从以下内容开始阅读房间中的机架表:

timeout

它没有读到我添加到桌子上的三个架子,所以我将代码更改为

DIM db as DAO.Database

DIM rsRacks as DAO.Recordset

DIM strSQL as String

‘Initialization code deleted

StrSQL = “SELECT * FROM tblRacks WHERE RoomID = “ & str(RoomID) & _
  “ ORDER BY RackName”

Set rsRacks = db.openrecordset(strSQL) 

已报告立即窗口

  

335

该表具有一千多个机架记录。有什么想法吗?

poee223 回答:VBA记录读取限制?

尽管您对访问错误的数据库有评论,但实际上新打开的记录集的RecordCount可能是错误的。

它在DAO docs中明确指出RecordCount是“已访问”(实际上是已读取/缓冲的)行的数量。仅当您通过MoveNextMoveLast方法读取了整个记录集时,才可以依靠RecordCount

通常,当从具有大约100条测试记录的开发数据库切换到更大的生产数据库时,此问题会咬你。

本文链接:https://www.f2er.com/3162290.html

大家都在问