【发布时间】:2017-11-15 06:39:45
【问题描述】:
我知道如何使用 access VBA 来获取记录集中的记录总数。这就是我在下面所做的,但我需要获取我的主要 rs 并将 rs 分成每 50 条记录的子记录集。意思是如果 rs.RecordCount = 200 - 那么我想创建 rs1、rs2、rs3、rs4 并且每个的 recordCount 应该是 50。
如何将记录集动态拆分为如上所述的子记录集?这就是我在主记录集中获得计数的方式
Set rs = CurrentDb.OpenRecordset("Select firen, daja, globaltwo", dbOpenDynaset)
With rs
If Not .EOF And Not .BOF Then
.MoveLast
.MoveFirst
Do While Not .EOF
qty = rst.RecordCount
Debug.Print qty
Loop
End If
End With
rs.Close
Set rs = Nothing
【问题讨论】:
-
MS Access LIMIT X, Y 的可能重复项(您应该限制之前打开记录集,而不是之后)
-
如果你的表没有主键,就加一个。
-
FWIW 除非您需要在开始迭代记录集之前读取
.Count属性,否则.MoveLast/.MoveFirst组合会令人困惑且无用。去掉它。至于 PK 语法,这看起来像是 SQL Server 可以理解的。我怀疑 Access 使用相同的alter table / add constraint语法。 -
您想对每个 50 个记录集做什么?我无法想象使用完整记录集或完全不同的解决方案无法完成的任务。
-
@Mat'sMug
Alter Table/Add constraint(记录在here)非常相似,并且看起来有效,但错误可能是您无法在不先创建字段的情况下添加约束(并且还不如在创建的时候加上)
标签: ms-access vba ms-access-2013 recordset