免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
DAO記錄集使用的一些技巧[Access軟件網(wǎng)]

ADO雖然是發(fā)展的趨勢,微軟之前也準(zhǔn)備將DAO淘汰了,DAO 3.6之后就不再更新,但從Access2007開始又將DAO重新拾起來了,只不過改頭換面了一下,變成DAO2了而已,因此DAO短時(shí)間內(nèi)還是淘汰不了,尤其是在Access中,DAO在某些方面的優(yōu)勢依然是ADO比不上的。最近發(fā)現(xiàn)一些朋友在使用DAO記錄集時(shí),不管是向表中寫入數(shù)據(jù),還是只是讀取數(shù)據(jù),都是Set rst=CurrentDb.OpenRecordset("表1"),但實(shí)際上這樣用效率是很差的,尤其是在數(shù)據(jù)量比較大的時(shí)候,效率問題就顯示很重要了,下面整理了一些DAO記錄集的使用技巧,只需要稍微改動一下參數(shù)就可以實(shí)現(xiàn)的.

--------------------------------------------------------------------------------------------------------------------------
打開一個(gè)只用于添加記錄的記錄集(不能讀取已有記錄)
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("表1", , dbAppendOnly)
--------------------------------------------------------------------------------------------------------------------------
打開一個(gè)只讀記錄集
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("表1", , dbReadOnly)
--------------------------------------------------------------------------------------------------------------------------
打開一個(gè)只能向前滾動記錄的只讀記錄集(效率最高,但不能使用MovePrevious和MoveFirst方法)
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("表1", , dbForwardOnly)
--------------------------------------------------------------------------------------------------------------------------
''打開一個(gè)數(shù)據(jù)來源于SQL Server數(shù)據(jù)庫的記錄集時(shí)要記得用dbSeeChanges參數(shù),尤其是當(dāng)表中有自動編號字段時(shí)是必需的
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("表1", , dbSeeChanges)
--------------------------------------------------------------------------------------------------------------------------
''循環(huán)記錄集的時(shí)候,主要用的有兩種:
方式一:
Do Until rst.EOF
    ListBox1.Add rst!字段1
    rst.MoveNext
Loop

方式二:
Dim intI As Integer
If rst.RecordCount > 0 Then
    rst.MoveLast
    rst.MoveFirst
    For intI = 1 To rst.RecordCount
        ListBox1.Add rst!字段1
        rst.MoveNext
    Next
End If
很多人喜歡用第一種方式,因?yàn)槭褂煤唵危òㄎ易约海谝环N的效率要比第二種差些,如果需要大批量操作或者數(shù)據(jù)量很大的時(shí)候,建議大家還是用第二種。
至于在循環(huán)的開頭先移到記錄集結(jié)尾,再移到記錄集開頭的作用時(shí):DAO記錄集打開時(shí),如果數(shù)據(jù)量比較大的時(shí)候,存在打開記錄集時(shí)用RecordCount屬性不能正確讀取記錄數(shù)的問題,而要將指針移到最后一條時(shí)才能正確讀取,再有就是如果你對數(shù)據(jù)的排序不在意的話,可以不必再將指針移回記錄集開頭,直接在循環(huán)中用MovePrevious移動就行了 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
計(jì)算機(jī)二級VB輔導(dǎo):VB通過DAO訪問Access數(shù)據(jù)庫 - 育路網(wǎng)
Excel VBA ADO SQL入門教程024:初識Recordset對象
在VB中用DAO實(shí)現(xiàn)數(shù)據(jù)庫編程(1)
他山之石——VBA數(shù)據(jù)庫操作
Excel中VBA編程學(xué)習(xí)筆記(十七)
將數(shù)據(jù)庫記錄數(shù)據(jù)全部導(dǎo)入到excel工作表
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服