資源描述:
《AccessVBA數(shù)據(jù)庫(kù)編程(ADO)詳細(xì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第7章VBA數(shù)據(jù)庫(kù)編程本章內(nèi)容記錄集概述在Access中引用ADO對(duì)象引用記錄字段瀏覽記錄編輯數(shù)據(jù)用ADO技術(shù)實(shí)現(xiàn)復(fù)雜查詢?cè)赩BA程序中使用SQL命令訪問(wèn)當(dāng)前數(shù)據(jù)庫(kù)以外的數(shù)據(jù)庫(kù)綜合實(shí)例—編制“研究生成績(jī)管理與統(tǒng)計(jì)”程序7.1記錄集概述7.1.1ADO的9個(gè)對(duì)象7.1.2了解記錄集7.1.1ADO的9個(gè)對(duì)象ADO:ActiveXDataObjectsAccess內(nèi)嵌的VBA是用ADO技術(shù)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用的主要工具ADO對(duì)象模型有9個(gè)對(duì)象:Connection、Recordset、Record、Command、Parameter、Field、Property、Stream、Erro
2、r常用對(duì)象:Connection、Command、Recordset7.1.1ADO的9個(gè)對(duì)象Connection對(duì)象:ADO對(duì)象模型中最高級(jí)的對(duì)象,實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)源的連接。Command對(duì)象:主要作用是在VBA中通過(guò)SQL語(yǔ)句訪問(wèn)、查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。Recordset對(duì)象:存儲(chǔ)訪問(wèn)表和查詢對(duì)象返回的記錄。使用該對(duì)象,可以瀏覽記錄、修改記錄、添加新的記錄或者刪除特定的記錄。Recordset對(duì)象的功能最常用、最重要7.1.1ADO的9個(gè)對(duì)象ADO的3個(gè)對(duì)象之間互有聯(lián)系:Command對(duì)象和Recordset對(duì)象依賴于Connection對(duì)象的連接;Command對(duì)象結(jié)合
3、SQL命令可以取代Recordset對(duì)象,但遠(yuǎn)沒(méi)有Recordset對(duì)象靈活、實(shí)用;Recordset對(duì)象它只能實(shí)現(xiàn)數(shù)據(jù)表內(nèi)記錄集操作,無(wú)法完成表和數(shù)據(jù)庫(kù)的數(shù)據(jù)定義操作;數(shù)據(jù)定義操作一般需通過(guò)Command對(duì)象用SQL命令完成。本章用DoCmd對(duì)象代替Command對(duì)象。7.1.2了解記錄集記錄集(Recordset):對(duì)表執(zhí)行查詢操作時(shí),返回的一組特定記錄。用記錄集可執(zhí)行的操作:對(duì)表中的數(shù)據(jù)進(jìn)行查詢和統(tǒng)計(jì),在表中添加、更新或刪除記錄。記錄集是一個(gè)對(duì)象,它包括記錄和字段,具有其特定的屬性和方法,利用這些屬性和方法就可以編程處理數(shù)據(jù)庫(kù)中的記錄。7.2在Access中引用ADO對(duì)
4、象應(yīng)用程序中的ADO引用:聲明Connection對(duì)象→創(chuàng)建Recordset對(duì)象→編程完成各種數(shù)據(jù)訪問(wèn)操作7.2.1聲明Connection對(duì)象7.2.2聲明與打開(kāi)Recordset對(duì)象7.2.3關(guān)閉Recordset和Connection對(duì)象7.2.1聲明Connection對(duì)象(1)聲明一個(gè)Connection對(duì)象(2)初始化Connection對(duì)象(決定Connection對(duì)象與哪個(gè)數(shù)據(jù)庫(kù)相連接)例如:DimcnGraduateAsADODB.ConnectionSetcnGraduate=CurrentProject.Connection與當(dāng)前數(shù)據(jù)庫(kù)連接7.2.2
5、聲明與打開(kāi)Recordset對(duì)象(1)聲明Recordset對(duì)象(2)創(chuàng)建Recordset對(duì)象實(shí)例(3)打開(kāi)Recordset對(duì)象例如:DimrsStudentsAsADODB.RecordsetSetrsStudents=NewADODB.RecordsetrsStudents.Open"研究生",cnGraduate,,,adCmdTable前面聲明的Connection對(duì)象表名稱打開(kāi)的是表對(duì)象參數(shù)占位符7.2.3關(guān)閉Recordset和Connection對(duì)象方法:執(zhí)行Recordset對(duì)象和Connection對(duì)象的Close方法→將對(duì)象設(shè)置為Nothing例如:r
6、sStudents.ClosecnGraduate.CloseSetrsStudents=NothingSetcnGraduate=Nothing上述語(yǔ)句不是必須的。應(yīng)用程序終止運(yùn)行時(shí),系統(tǒng)會(huì)自動(dòng)關(guān)閉并清除這兩個(gè)對(duì)象。7.3引用記錄字段任何對(duì)記錄集的訪問(wèn)都是針對(duì)當(dāng)前記錄進(jìn)行的。打開(kāi)記錄集時(shí)默認(rèn)的當(dāng)前記錄為第1條記錄。引用記錄的字段:直接在記錄集對(duì)象中引用字段名稱,如Code=rsStudents!學(xué)號(hào)若記錄集字段名包含空格,或者字段名是一個(gè)保留字,則引用時(shí)必須將該字段名用方括號(hào)括起來(lái)。使用記錄集對(duì)象的Fields(n)屬性。n是記錄中字段從左到右的排列序號(hào),第一個(gè)字段的序號(hào)為
7、0。如Code=rsStudents.Fields(0)記錄集對(duì)象與字段名間的連接符7.3引用記錄字段[例7-1]建立名為ADO的模塊,編寫(xiě)如下過(guò)程。運(yùn)行該過(guò)程后,輸出對(duì)話框顯示“導(dǎo)師”表中第一位教師的編號(hào)和姓名。7.3引用記錄字段記錄集更多的應(yīng)用是在窗體對(duì)象上:建立一個(gè)空白窗體→設(shè)計(jì)各個(gè)控件→編程引用記錄集當(dāng)前記錄的相關(guān)字段或?qū)⒆侄蔚闹低ㄟ^(guò)控件顯示注意:如果涉及數(shù)據(jù)訪問(wèn)的事件過(guò)程不止一個(gè),可在代碼窗口的通用段定義Connection對(duì)象和Recordset對(duì)象,然后在Form_Load事件過(guò)程中完成數(shù)