vba - 为什么 VBA 的 Recordset 只返回一条记录?
问题描述
我有 3 个表,“persons”、“per_resi”和“residence” 这三个表形成了多对多关系。
表“人”字段:id、name 等....
表“住所”字段:id、Street 等......
表“per_resi”字段:person_id 和 Residence_id(以及主索引)
好吧,问题是当我在图形访问工具中设计查询时,它应该可以正常工作。
但如果我在 VBA 中这样做,它只会返回 1 条记录。
Dim svivienda As String
Dim rvivienda As Recordset
svivienda = "SELECT tbl_persona.Id, tbl_vivienda.Calle, tbl_vivienda.Numero " _
& "FROM tbl_vivienda INNER JOIN (tbl_persona INNER JOIN tbl_perso_viv ON tbl_persona.Id = tbl_perso_viv.Id_persona) " _
& "ON tbl_vivienda.Id = tbl_perso_viv.Id_vivienda WHERE tbl_persona.Id = " & 168 & ";"
Set rvivienda = CurrentDb.OpenRecordset(svivienda, dbOpenDynaset)
我尝试过左连接和右连接,但在记录集上总是只有一条记录。
有任何想法吗?
微软访问 2013
提前致谢。
解决方案
谢谢各位,
这是一个非常新颖的问题。
这是答案。
RecordCount 属性不报告您拥有的记录数量。
RecordCount 属性的值等于实际访问的记录数。例如,当您第一次创建动态集或快照时,您只访问(或访问)了一条记录。如果在创建动态集或快照后立即检查 RecordCount 属性(假设它至少有一条记录),则值为 1。要访问所有记录,请在打开 Recordset 后立即使用 MoveLast 方法,然后使用 MoveFirst 返回到第一条记录。这不是自动完成的,因为它可能很慢,尤其是对于大型结果集。
谢谢!!!
推荐阅读
- c# - 为 ASP.NET Core 中的未绑定参数添加 swagger 参数
- python - McKean-Schrader (MS) 方差估计量的计算
- javascript - 有没有办法用 D3.js 修改 Vega 图表?
- php - 如何在 php laravel 8 中跟踪登录身份验证
- php - 在 WooCommerce product_page 短代码上添加指向产品标题的链接
- scala - Scala、蛋糕模式和混合。如何避免“注入”类中的许多参数
- javascript - 使用 Javascript 滚动到特定位置失败
- flutter - 是否有可能获得 Widget 的全球规模?
- flutter - 我可以知道是否有一个颤振包可以在照片和图纸上做标记和注释?
- javascript - 我正在向服务器发送 post 方法但接收 get 方法