十萬條Access數(shù)據(jù)表分頁的兩個解決方法_Access數(shù)據(jù)庫教程
推薦:將Access數(shù)據(jù)庫移植到SQL Server 7.0簡介 隨著用戶對于企業(yè)級高性能數(shù)據(jù)庫的需求的增長,用戶時常要從Microsoft Access Jet引擎的文件-服務(wù)器環(huán)境下轉(zhuǎn)換到Microsoft SQL Server的客戶-服務(wù)器環(huán)境。Microsoft Office 2000中的Acce
后臺數(shù)據(jù)庫用是Access,客戶用了一年后說打開界面非常慢,查看了數(shù)據(jù)庫后發(fā)現(xiàn)數(shù)據(jù)表中的記錄已有五萬多條,自己試過將記錄復(fù)制到10 萬條,打開界面非常慢,翻頁也是同樣的問題,我采用的方式是每頁裝入20條記錄,循環(huán)寫在表格中顯示出來,再定四個翻頁鍵用來查看數(shù)據(jù),但問題是雖然是 每次裝入頁面的記錄只有二十條,但每次要打開記錄集時還是必須一次性裝入所有的記錄,所以才慢。
解決方法一:
1.設(shè)置一個自增長字段.并且該字段為INDEX.
2.由于是 ACCESS ,所以,只能是前臺分頁.自增長字段目的,就是為了實現(xiàn)分頁功能.
1> 記錄用戶前頁的最后一個 自增值 ,例如 M .
2> 下一頁,取下一頁的開始值.M 1 ,結(jié)束值: M 1 1.5*PAGESIZE (注:由于數(shù)據(jù)庫會有增刪操作,故應(yīng)該取頁大小應(yīng)該有一個系數(shù),你可以根據(jù)情況自定一個1大的系數(shù).
3> 前臺循環(huán)取 RS 的前 PAGESIZE 條, 寫到一個 新的RS中,并返回.
注:新的RS是一個無連接的RS .
解決方法二:
十萬條記錄不是 Access 數(shù)據(jù)庫的極限。何況你的方法不是真正意義上的分頁(應(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 |
此時打開的記錄集只有 20 條記錄。
翻頁時:
|
VBScript code If lngCurrentPage < lngPages Then |
分享:Access作為網(wǎng)站數(shù)據(jù)庫的弊端現(xiàn)在網(wǎng)上絕大多數(shù)網(wǎng)站都是ACCESS ASP的形式,因為ACCESS結(jié)構(gòu)簡單容易處理,而且也能滿足多數(shù)的網(wǎng)站程序要求。 ACCESS是小型數(shù)據(jù)庫,既然是小型就有他根本的局限性,以下幾種情況下數(shù)據(jù)庫基本
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報表打印如何自動分頁
- Access完成累計余額的計算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個表并可更新對應(yīng)的字段值具體實現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準(zhǔn)則進(jìn)行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計”視圖中設(shè)計表
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-十萬條Access數(shù)據(jù)表分頁的兩個解決方法
。