返回顶部
首页 > 资讯 > 精选 >解决rs.absolutepage=-1的问题
  • 227
分享到

解决rs.absolutepage=-1的问题

问题 2023-08-14 17:08:21 227人浏览 独家记忆
摘要

在解决`rs.absolutepage=-1`的问题时,可以尝试以下几种方法:1. 使用`rs.movefirst`将记录指针移动到

在解决`rs.absolutepage=-1`的问题时,可以尝试以下几种方法:
1. 使用`rs.movefirst`将记录指针移动到结果集的第一条记录,然后再使用`rs.movelast`将记录指针移动到结果集的最后一条记录。这样可以获取到结果集的总记录数,并计算出需要移动到倒数第一页时的`absolutepage`值。
```vba
rs.movefirst
rs.movelast
totalRecords = rs.recordcount
pageSize = 10 ' 每页显示的记录数
lastPage = Int(totalRecords / pageSize) + 1 ' 计算出总页数
rs.absolutepage = lastPage ' 移动到最后一页
```
2. 使用`rs.move`方法将记录指针移动到指定位置。可以先获取到结果集的总记录数,并计算出需要移动到倒数第一页时的记录位置,然后再使用`rs.move`将记录指针移动到该位置。
```vba
totalRecords = rs.recordcount
pageSize = 10 ' 每页显示的记录数
lastPagePosition = totalRecords - ((lastPage - 1) * pageSize) + 1 ' 计算出倒数第一页的记录位置
rs.move lastPagePosition ' 移动到倒数第一页
```
3. 在打开记录集时,使用`adOpenStatic`和`adLockReadOnly`作为参数,这样可以将结果集的游标类型设置为静态,以便后续可以使用`absolutepage`属性。
```vba
Set rs = New ADODB.Recordset
rs.Open strsql, conn, adOpenStatic, adLockReadOnly
```
4. 在打开记录集时,使用`adCmdTableDirect`作为参数,这样可以避免使用`absolutepage`属性,而是使用`rs.move`方法来移动记录指针。
```vba
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM YourTable", conn, adOpenStatic, adLockReadOnly, adCmdTableDirect
```
以上是一些常见的解决方法,根据具体的情况选择适合的方法来解决`rs.absolutepage=-1`的问题。

--结束END--

本文标题: 解决rs.absolutepage=-1的问题

本文链接: https://lsjlt.com/news/370025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作