大數(shù)據(jù)Access數(shù)據(jù)表分頁(yè)解決方法

字號(hào):

解決方法一:
    1.設(shè)置一個(gè)自增長(zhǎng)字段.并且該字段為INDEX.
    2.由于是 ACCESS ,所以,只能是前臺(tái)分頁(yè).自增長(zhǎng)字段目的,就是為了實(shí)現(xiàn)分頁(yè)功能.
    1> 記錄用戶前頁(yè)的最后一個(gè) 自增值 ,例如 M .
    2> 下一頁(yè),取下一頁(yè)的開始值.M+1 ,結(jié)束值: M+1+1.5*PAGESIZE (注:由于數(shù)據(jù)庫(kù)會(huì)有增刪操作,故應(yīng)該取頁(yè)大小應(yīng)該有一個(gè)系數(shù),你可以根據(jù)情況自定一個(gè)1大的系數(shù).
    3> 前臺(tái)循環(huán)取 RS 的前 PAGESIZE 條, 寫到一個(gè) 新的RS中,并返回.
    注:新的RS是一個(gè)無連接的RS .
    解決方法二:
    十萬條記錄不是 Access 數(shù)據(jù)庫(kù)的極限。何況你的方法不是真正意義上的分頁(yè)(應(yīng)當(dāng)利用 PageSize 和 AbsolutePage 屬性)。
    VBScript code
    Set rs = New ADODB.Recordsetrs.CursorLocation = adUseClientrs.PageSize = 20rs.Open "Select * From 客戶", iConc, adOpenKeyset, adLockOptimisticlngPages = rs.PageCountlngCurrentPage = 1
    Examda提示: 此時(shí)打開的記錄集只有 20 條記錄。
    翻頁(yè)時(shí):
    VBScript code
    If lngCurrentPage < lngPages Then lngCurrentPage = lngCurrentPage + 1 rs.AbsolutePage = lngCurrentPageEnd If