後台資料庫用是Access,客戶用了一年後說打開介面非常慢,查看了資料庫後發現資料表中的記錄已有五萬多條,自己試過將記錄複製到10萬條,打開介面非常慢,翻頁也是同樣的問題我採用的方式是每頁裝入20條記錄,循環寫在表格中顯示出來,再定四個翻頁鍵用來查看數據,但問題是雖然是每次裝入頁面的記錄只有二十條,但每次要打開記錄集時還是必須一次性裝入所有的記錄,所以才慢。
解決方法一:
1.設定一個自增長字段.並且該字段為INDEX.
2.由於是ACCESS ,所以,只能是前台分頁.自增長字段目的,就是為了實現分頁功能.
1> 記錄使用者前頁的最後一個自增值,例如M .
2> 下一頁,取下一頁的開始值.M+1 ,結束值: M+1+1.5*PAGESIZE (註:由於資料庫會有增刪操作,故應該取頁大小應該有一個係數,你可以根據情況自定一個1大的係數.
3> 前台循環取RS 的前PAGESIZE 條, 寫到一個新的RS中,並返回.
註:新的RS是一個無連線的RS .
解決方法二:
十萬筆記錄不是Access 資料庫的極限。何況你的方法不是真正意義上的分頁(要利用PageSize 和AbsolutePage 屬性)。
VBScript code
複製代碼代碼如下:
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.PageSize = 20
rs.Open Select * From 客, iConc, adOpenKeyset, adLockOptimisticlng
Pages = rs.PageCount
lngCurrentPage = 1
此時開啟的記錄集只有20 筆記錄。
翻頁時:
複製代碼代碼如下:
If lngCurrentPage < lngPages Then
lngCurrentPage = lngCurrentPage + 1
rs.AbsolutePage = lngCurrentPage
End If