揭秘十萬條Access數據表分頁的解決方法_Access數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:解析在Access中模擬sql server存儲過程翻頁
      sql server中翻頁存儲過程: Create PROC blog_GetPagedPosts ( @PageIndex int, @PageSize int, @BlogID int=0, @PostType int=-1, @CategoryID int=-1, @Hiding

      后臺數據庫用是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.Recordsetrs.CursorLocation = adUseClientrs.PageSize = 20rs.Open "Select * From 客戶", iConc, adOpenKeyset, adLockOptimisticlngPages = rs.PageCountlngCurrentPage = 1

      此時打開的記錄集只有 20 條記錄。

      翻頁時:

      以下為引用的內容:

      VBScript code

      If lngCurrentPage < lngPages Then
      lngCurrentPage = lngCurrentPage 1
      rs.AbsolutePage = lngCurrentPage
      End If

      分享:淺析Access數據有效性檢查
      一、 利用字段屬性 1. 數據類型屬性 :數據類型決定了用戶能保存在此字段中值的種類,如果用戶鍵入的數據與字段規定的類型不一致,Access就不會存儲該數據。如“日期/時間&rdq

      來源:模板無憂//所屬分類:Access數據庫教程/更新時間:2009-08-17
      相關Access數據庫教程