在解決rs.absolutepage=-1
的問題時,可以嘗試以下幾種方法:
rs.movefirst
將記錄指針移動到結果集的第一條記錄,然后再使用rs.movelast
將記錄指針移動到結果集的最后一條記錄。這樣可以獲取到結果集的總記錄數,并計算出需要移動到倒數第一頁時的absolutepage
值。rs.movefirst
rs.movelast
totalRecords = rs.recordcount
pageSize = 10 ' 每頁顯示的記錄數
lastPage = Int(totalRecords / pageSize) + 1 ' 計算出總頁數
rs.absolutepage = lastPage ' 移動到最后一頁
rs.move
方法將記錄指針移動到指定位置。可以先獲取到結果集的總記錄數,并計算出需要移動到倒數第一頁時的記錄位置,然后再使用rs.move
將記錄指針移動到該位置。totalRecords = rs.recordcount
pageSize = 10 ' 每頁顯示的記錄數
lastPagePosition = totalRecords - ((lastPage - 1) * pageSize) + 1 ' 計算出倒數第一頁的記錄位置
rs.move lastPagePosition ' 移動到倒數第一頁
adOpenStatic
和adLockReadOnly
作為參數,這樣可以將結果集的游標類型設置為靜態,以便后續可以使用absolutepage
屬性。Set rs = New ADODB.Recordset
rs.Open strSQL, conn, adOpenStatic, adLockReadOnly
adCmdTableDirect
作為參數,這樣可以避免使用absolutepage
屬性,而是使用rs.move
方法來移動記錄指針。Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM YourTable", conn, adOpenStatic, adLockReadOnly, adCmdTableDirect
以上是一些常見的解決方法,根據具體的情況選擇適合的方法來解決rs.absolutepage=-1
的問題。