Access教學(xué)課件:第九章 VBA數(shù)據(jù)庫(kù)編程技術(shù)

上傳人:努力****83 文檔編號(hào):120217207 上傳時(shí)間:2022-07-17 格式:PPT 頁(yè)數(shù):61 大?。?.37MB
收藏 版權(quán)申訴 舉報(bào) 下載
Access教學(xué)課件:第九章 VBA數(shù)據(jù)庫(kù)編程技術(shù)_第1頁(yè)
第1頁(yè) / 共61頁(yè)
Access教學(xué)課件:第九章 VBA數(shù)據(jù)庫(kù)編程技術(shù)_第2頁(yè)
第2頁(yè) / 共61頁(yè)
Access教學(xué)課件:第九章 VBA數(shù)據(jù)庫(kù)編程技術(shù)_第3頁(yè)
第3頁(yè) / 共61頁(yè)

下載文檔到電腦,查找使用更方便

40 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《Access教學(xué)課件:第九章 VBA數(shù)據(jù)庫(kù)編程技術(shù)》由會(huì)員分享,可在線閱讀,更多相關(guān)《Access教學(xué)課件:第九章 VBA數(shù)據(jù)庫(kù)編程技術(shù)(61頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第9章 VBA數(shù)據(jù)庫(kù)編程技術(shù)9.1 數(shù)據(jù)訪問(wèn)接口數(shù)據(jù)訪問(wèn)接口ADO9.2 ADO主要對(duì)象主要對(duì)象9.3 VBA在在Access中的中的數(shù)據(jù)庫(kù)編程實(shí)例數(shù)據(jù)庫(kù)編程實(shí)例第第9章章本章小結(jié)本章小結(jié)思考與練習(xí)思考與練習(xí)v本章首先概述數(shù)據(jù)訪問(wèn)接口,接著將詳細(xì)介紹本章首先概述數(shù)據(jù)訪問(wèn)接口,接著將詳細(xì)介紹ADOADO三三個(gè)主要對(duì)象個(gè)主要對(duì)象,最后通過(guò)實(shí)例說(shuō)明,最后通過(guò)實(shí)例說(shuō)明VBAVBA使用使用ADOADO對(duì)象訪對(duì)象訪問(wèn)問(wèn)AccessAccess數(shù)據(jù)庫(kù)的具體方法與編程技巧。數(shù)據(jù)庫(kù)的具體方法與編程技巧。v本章的知識(shí)結(jié)構(gòu)導(dǎo)航圖如本章的知識(shí)結(jié)構(gòu)導(dǎo)航圖如圖圖9-19-1所示。所示。9.1.1 數(shù)據(jù)庫(kù)引擎和接口v所謂所

2、謂數(shù)據(jù)庫(kù)引擎數(shù)據(jù)庫(kù)引擎實(shí)際上是一組動(dòng)態(tài)鏈接庫(kù)(實(shí)際上是一組動(dòng)態(tài)鏈接庫(kù)(DLLDLL),),當(dāng)當(dāng)VBAVBA程序運(yùn)行時(shí)被連接到應(yīng)用程序從而實(shí)現(xiàn)對(duì)數(shù)據(jù)程序運(yùn)行時(shí)被連接到應(yīng)用程序從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)的訪問(wèn)功能。數(shù)據(jù)庫(kù)引擎(庫(kù)的數(shù)據(jù)的訪問(wèn)功能。數(shù)據(jù)庫(kù)引擎(Database Database EngineEngine)是應(yīng)用程序與物理數(shù)據(jù)庫(kù)之間的橋梁,是)是應(yīng)用程序與物理數(shù)據(jù)庫(kù)之間的橋梁,是一種通用接口的方式,用戶可以使用統(tǒng)一形式和相一種通用接口的方式,用戶可以使用統(tǒng)一形式和相同的數(shù)據(jù)訪問(wèn)與處理方法來(lái)訪問(wèn)各種類型數(shù)據(jù)庫(kù)。同的數(shù)據(jù)訪問(wèn)與處理方法來(lái)訪問(wèn)各種類型數(shù)據(jù)庫(kù)。v在在VBAVBA中主要提供了中主要提

3、供了3 3種數(shù)據(jù)庫(kù)訪問(wèn)接口種數(shù)據(jù)庫(kù)訪問(wèn)接口:9.1.1 數(shù)據(jù)庫(kù)引擎和接口v1.ODBC API1.ODBC API(Open Open DataBaseDataBase Connectivity API Connectivity API,開(kāi)開(kāi)放數(shù)據(jù)庫(kù)互連應(yīng)用程序接口放數(shù)據(jù)庫(kù)互連應(yīng)用程序接口)ODBCODBC為關(guān)系數(shù)據(jù)庫(kù)編程提供統(tǒng)一的接口,用戶可通為關(guān)系數(shù)據(jù)庫(kù)編程提供統(tǒng)一的接口,用戶可通過(guò)它對(duì)不同類型的關(guān)系數(shù)據(jù)庫(kù)進(jìn)行操作。但是由于過(guò)它對(duì)不同類型的關(guān)系數(shù)據(jù)庫(kù)進(jìn)行操作。但是由于ODBC APIODBC API允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行比較接近底層的配置和允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行比較接近底層的配置和控制,屬底層數(shù)據(jù)庫(kù)接

4、口,在控制,屬底層數(shù)據(jù)庫(kù)接口,在AccessAccess應(yīng)用中,要直應(yīng)用中,要直接使用接使用ODBC APIODBC API訪問(wèn)數(shù)據(jù)庫(kù)則需要大量訪問(wèn)數(shù)據(jù)庫(kù)則需要大量VBAVBA函數(shù)原函數(shù)原型聲明和一些繁瑣的、底層的編程。型聲明和一些繁瑣的、底層的編程。9.1.1 數(shù)據(jù)庫(kù)引擎和接口v2.DAO2.DAO(Data Access ObjectsData Access Objects,數(shù)據(jù)訪問(wèn)對(duì)象數(shù)據(jù)訪問(wèn)對(duì)象)DAODAO既提供了一組基于功能的既提供了一組基于功能的APIAPI函數(shù),也提供了函數(shù),也提供了一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的對(duì)象模型,在一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的對(duì)象模型,在AccessAccess數(shù)據(jù)庫(kù)應(yīng)數(shù)據(jù)庫(kù)應(yīng)

5、用程序中,開(kāi)發(fā)者可利用其中定義的如用程序中,開(kāi)發(fā)者可利用其中定義的如DatabaseDatabase、QueryDefQueryDef、RecordSetRecordSet等一系列數(shù)據(jù)訪問(wèn)對(duì)象,等一系列數(shù)據(jù)訪問(wèn)對(duì)象,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作。實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作。9.1.1 數(shù)據(jù)庫(kù)引擎和接口v3.ADO3.ADO(ActiveX Data ObjectsActiveX Data Objects,動(dòng)態(tài)數(shù)據(jù)對(duì)象動(dòng)態(tài)數(shù)據(jù)對(duì)象)ADOADO是基于組件的數(shù)據(jù)庫(kù)編程接口,它是一個(gè)與是基于組件的數(shù)據(jù)庫(kù)編程接口,它是一個(gè)與編程語(yǔ)言無(wú)關(guān)的編程語(yǔ)言無(wú)關(guān)的COMCOM組件系統(tǒng),可以對(duì)來(lái)自多種組件系統(tǒng),可以對(duì)來(lái)自多種

6、數(shù)據(jù)提供者的數(shù)據(jù)進(jìn)行操作。數(shù)據(jù)提供者的數(shù)據(jù)進(jìn)行操作。ADOADO是對(duì)微軟所支持的數(shù)據(jù)庫(kù)進(jìn)行操作的最有效是對(duì)微軟所支持的數(shù)據(jù)庫(kù)進(jìn)行操作的最有效和最簡(jiǎn)單直接的方法。和最簡(jiǎn)單直接的方法。9.1.2 ADOvADOADO以以O(shè)LE DBOLE DB為基礎(chǔ),對(duì)為基礎(chǔ),對(duì)OLE DBOLE DB底層操作的復(fù)雜接口底層操作的復(fù)雜接口進(jìn)行封裝,使應(yīng)用程序通過(guò)進(jìn)行封裝,使應(yīng)用程序通過(guò)ADOADO極其簡(jiǎn)單的極其簡(jiǎn)單的COMCOM接口,接口,就可以訪問(wèn)來(lái)自就可以訪問(wèn)來(lái)自O(shè)LE DBOLE DB數(shù)據(jù)源的數(shù)據(jù),其中不論是關(guān)數(shù)據(jù)源的數(shù)據(jù),其中不論是關(guān)系數(shù)據(jù)庫(kù)還是非關(guān)系數(shù)據(jù)庫(kù),也不論是本地?cái)?shù)據(jù)庫(kù)還系數(shù)據(jù)庫(kù)還是非關(guān)系數(shù)據(jù)庫(kù),

7、也不論是本地?cái)?shù)據(jù)庫(kù)還是遠(yuǎn)程數(shù)據(jù)庫(kù),應(yīng)用程序、是遠(yuǎn)程數(shù)據(jù)庫(kù),應(yīng)用程序、ADOADO和數(shù)據(jù)源之間關(guān)系如和數(shù)據(jù)源之間關(guān)系如圖圖9-29-2所示。所示。9.1.2 ADO圖圖9-2 應(yīng)用程序通過(guò)應(yīng)用程序通過(guò)ADO訪問(wèn)不同數(shù)據(jù)源訪問(wèn)不同數(shù)據(jù)源9.1.2 ADOv與其他數(shù)據(jù)訪問(wèn)接口相比,與其他數(shù)據(jù)訪問(wèn)接口相比,ADOADO具有下列一些優(yōu)點(diǎn):具有下列一些優(yōu)點(diǎn):1.ADO1.ADO能夠訪問(wèn)各種支持能夠訪問(wèn)各種支持OLE DBOLE DB的數(shù)據(jù)源的數(shù)據(jù)源,包括數(shù)據(jù),包括數(shù)據(jù)庫(kù)和文本文件、電子表格、電子郵件等數(shù)據(jù)源。庫(kù)和文本文件、電子表格、電子郵件等數(shù)據(jù)源。2.ADO2.ADO采用了采用了ActiveXActiv

8、eX技術(shù),與具體的編程語(yǔ)言無(wú)關(guān)技術(shù),與具體的編程語(yǔ)言無(wú)關(guān),任何使用如任何使用如VC+VC+、JavaJava、VBVB、DelphiDelphi等高級(jí)語(yǔ)言編寫(xiě)等高級(jí)語(yǔ)言編寫(xiě)的應(yīng)用程序都可使用的應(yīng)用程序都可使用ADOADO來(lái)訪問(wèn)各類數(shù)據(jù)源。來(lái)訪問(wèn)各類數(shù)據(jù)源。3.ADO3.ADO將訪問(wèn)數(shù)據(jù)源的復(fù)雜過(guò)程抽象成幾個(gè)易于理解將訪問(wèn)數(shù)據(jù)源的復(fù)雜過(guò)程抽象成幾個(gè)易于理解的具體操作的具體操作,并由實(shí)際對(duì)象來(lái)完成,因而使用起來(lái)簡(jiǎn),并由實(shí)際對(duì)象來(lái)完成,因而使用起來(lái)簡(jiǎn)單方便。單方便。9.1.2 ADO 4.ADO4.ADO對(duì)象模型簡(jiǎn)單易用,速度快,資源開(kāi)銷(xiāo)和網(wǎng)絡(luò)對(duì)象模型簡(jiǎn)單易用,速度快,資源開(kāi)銷(xiāo)和網(wǎng)絡(luò)流量少,流量少,

9、在應(yīng)用程序和數(shù)據(jù)源之間使用最少的層數(shù),在應(yīng)用程序和數(shù)據(jù)源之間使用最少的層數(shù),為應(yīng)用程序和數(shù)據(jù)源之間提供了輕便、快捷、高性為應(yīng)用程序和數(shù)據(jù)源之間提供了輕便、快捷、高性能的接口。能的接口。5.ADO5.ADO屬應(yīng)用層(高層)的編程接口屬應(yīng)用層(高層)的編程接口,也可以在各種,也可以在各種腳本語(yǔ)言(腳本語(yǔ)言(ScriptScript)中直接使用,特別適合于各種)中直接使用,特別適合于各種客戶機(jī)客戶機(jī)/服務(wù)器應(yīng)用系統(tǒng)和基于服務(wù)器應(yīng)用系統(tǒng)和基于WebWeb的應(yīng)用,尤其在的應(yīng)用,尤其在腳本語(yǔ)言中訪問(wèn)腳本語(yǔ)言中訪問(wèn)WebWeb數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)是ADOADO的一大優(yōu)勢(shì)。的一大優(yōu)勢(shì)。9.2.1 ADO對(duì)象模型vA

10、DOADO對(duì)象模型是對(duì)對(duì)象模型是對(duì)ADOADO對(duì)象集合的完整概括,它能夠?qū)ο蠹系耐暾爬?,它能夠更加靈活、有效地發(fā)揮更加靈活、有效地發(fā)揮ADOADO對(duì)象的功能特性。對(duì)象的功能特性。ADOADO對(duì)對(duì)象模型如象模型如圖圖9-39-3所示,主要包含所示,主要包含ConnectionConnection、RecordsetRecordset、CommandCommand、ParameterParameter、FieldField、PropertyProperty和和ErrorError共共7 7個(gè)對(duì)象,個(gè)對(duì)象,ADOADO對(duì)象模型中有關(guān)對(duì)象模型中有關(guān)對(duì)象、集合的說(shuō)明見(jiàn)對(duì)象、集合的說(shuō)明見(jiàn)表表9-19-

11、1。vConnectionConnection、RecordsetRecordset和和CommandCommand是是ADOADO對(duì)象模型對(duì)象模型中的中的三個(gè)最核心對(duì)象三個(gè)最核心對(duì)象,也是應(yīng)用程序訪問(wèn)數(shù)據(jù)源時(shí),也是應(yīng)用程序訪問(wèn)數(shù)據(jù)源時(shí)使用最多的三個(gè)對(duì)象。使用最多的三個(gè)對(duì)象。9.2.1 ADO對(duì)象模型圖9-3 ADO對(duì)象模型9.2.1 ADO對(duì)象模型9.2.2 Connection對(duì)象vConnectionConnection(連接連接)對(duì)象用于建立應(yīng)用程序與指定數(shù))對(duì)象用于建立應(yīng)用程序與指定數(shù)據(jù)源的連接。據(jù)源的連接。v使用使用ConnectionConnection對(duì)象實(shí)現(xiàn)與指定數(shù)據(jù)源連接的

12、基本對(duì)象實(shí)現(xiàn)與指定數(shù)據(jù)源連接的基本步步驟為驟為:(1 1)創(chuàng)建)創(chuàng)建ConnectionConnection對(duì)象;對(duì)象;(2 2)設(shè)置)設(shè)置ConnectionConnection對(duì)象的連接字符串對(duì)象的連接字符串ConnectionStringConnectionString屬性,用以指示要連接的數(shù)據(jù)源屬性,用以指示要連接的數(shù)據(jù)源信息;信息;9.2.2 Connection對(duì)象(3 3)打開(kāi))打開(kāi)ConnectionConnection對(duì)象,實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)對(duì)象,實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)源的物理連接;源的物理連接;(4 4)為節(jié)省系統(tǒng)資源,待對(duì)數(shù)據(jù)源中數(shù)據(jù)操作結(jié))為節(jié)省系統(tǒng)資源,待對(duì)數(shù)據(jù)源中數(shù)據(jù)操

13、作結(jié)束后,應(yīng)關(guān)閉束后,應(yīng)關(guān)閉ConnectionConnection對(duì)象,實(shí)現(xiàn)應(yīng)用程序與對(duì)象,實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)源的物理斷開(kāi)。數(shù)據(jù)源的物理斷開(kāi)。9.2.2 Connection對(duì)象v建立應(yīng)用程序與數(shù)據(jù)源的連接建立應(yīng)用程序與數(shù)據(jù)源的連接 首先要在應(yīng)用程序中首先要在應(yīng)用程序中聲明一個(gè)聲明一個(gè)ConnectionConnection對(duì)象,對(duì)象,并對(duì)其進(jìn)行初始化并對(duì)其進(jìn)行初始化,具體方法如下:,具體方法如下:Dim Dim connconn As As ADODB.ConnectionADODB.ConnectionSet Set connconn=New=New ADODB.ConnectionAD

14、ODB.Connection 創(chuàng)建完創(chuàng)建完ConnectionConnection對(duì)象,在連接數(shù)據(jù)源之前,可對(duì)象,在連接數(shù)據(jù)源之前,可利用利用ConnectionConnection對(duì)象的對(duì)象的ConnectionStringConnectionString屬性設(shè)屬性設(shè)置建立連接的數(shù)據(jù)源信息。置建立連接的數(shù)據(jù)源信息。設(shè)置設(shè)置ConnectionStringConnectionString屬性的語(yǔ)法如下:屬性的語(yǔ)法如下:9.2.2 Connection對(duì)象連接對(duì)象變量連接對(duì)象變量.ConnectionStringConnectionString=參數(shù)參數(shù)1=1=參數(shù)參數(shù)1 1值值;參參數(shù)數(shù)2=2

15、=參數(shù)參數(shù)2 2值值;conn.ConnectionStringconn.ConnectionString=Provider=Microsoft.=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:DATAJet.OLEDB.4.0;Data Source=D:DATA學(xué)生成績(jī)管學(xué)生成績(jī)管理理.mdbmdb ConnectionString包含包含Provider和和Data Source兩個(gè)參數(shù),兩個(gè)參數(shù),provider指定連接指定連接Access所使用的所使用的OLE DB程序?yàn)槌绦驗(yàn)镸icrosoft.Jet.OLEDB.4.0;Data S

16、ource 指定連接的數(shù)據(jù)庫(kù)文件路徑。指定連接的數(shù)據(jù)庫(kù)文件路徑。ConnectionString屬性為字符型。屬性為字符型。9.2.2 Connection對(duì)象 接著就可以接著就可以用用ConnectionConnection對(duì)象的對(duì)象的OpenOpen方法實(shí)現(xiàn)應(yīng)用程方法實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)源的物理連接序與數(shù)據(jù)源的物理連接。OpenOpen方法的語(yǔ)法如下:方法的語(yǔ)法如下:連接對(duì)象變量連接對(duì)象變量.Open.Open ConnectionString,UserID,PasswordConnectionString,UserID,Password 或者或者 conn.Openconn.Open Pr

17、ovider=Provider=Microsoft.JetMicrosoft.Jet.OLEDB.4.0;Data Source=D:DATAOLEDB.4.0;Data Source=D:DATA學(xué)生成績(jī)管學(xué)生成績(jī)管理理.mdbmdb 或者或者 conn.Openconn.Open CurrentProject.ConnectionCurrentProject.Connection9.2.2 Connection對(duì)象 待數(shù)據(jù)源中數(shù)據(jù)操作結(jié)束后,待數(shù)據(jù)源中數(shù)據(jù)操作結(jié)束后,關(guān)閉關(guān)閉ConnectionConnection對(duì)象,對(duì)象,實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)源的物理斷開(kāi),以節(jié)省系統(tǒng)資實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)源

18、的物理斷開(kāi),以節(jié)省系統(tǒng)資源的開(kāi)銷(xiāo)源的開(kāi)銷(xiāo)。關(guān)閉。關(guān)閉ConnectionConnection對(duì)象應(yīng)使用對(duì)象應(yīng)使用CloseClose方法,方法,語(yǔ)法如下:語(yǔ)法如下:連接對(duì)象變量連接對(duì)象變量.Close.Close9.2.2 Connection對(duì)象 需要說(shuō)明的是,使用需要說(shuō)明的是,使用CloseClose方法只是關(guān)閉應(yīng)用程序方法只是關(guān)閉應(yīng)用程序與數(shù)據(jù)源的物理連接,而與數(shù)據(jù)源的物理連接,而ConnectionConnection對(duì)象并未從內(nèi)對(duì)象并未從內(nèi)存中釋放,存中釋放,要從內(nèi)存中釋放已有要從內(nèi)存中釋放已有ConnectionConnection對(duì)象應(yīng)對(duì)象應(yīng)用如下語(yǔ)法用如下語(yǔ)法:Set Set

19、連接對(duì)象變量連接對(duì)象變量=Nothing=Nothingv 總結(jié):方法一總結(jié):方法一Dim Dim connconn As As ADODB.ConnectionADODB.ConnectionSet Set connconn=New=New ADODB.ConnectionADODB.Connectionconn.ConnectionStringconn.ConnectionString=Provider=Provider=Microsoft.JetMicrosoft.Jet.OLEDB.4.0;Data Source=D:DATAOLEDB.4.0;Data Source=D:DATA學(xué)生

20、成績(jī)管理學(xué)生成績(jī)管理.mdbmdb conn.Openconn.Openconn.Closeconn.CloseSet Set connconn=Nothing=Nothing9.2.2 Connection對(duì)象v總結(jié):方法二總結(jié):方法二Dim Dim connconn As As ADODB.ConnectionADODB.ConnectionSet Set connconn=New=New ADODB.ConnectionADODB.Connectionconn.Openconn.Open Provider=Microsoft.Jet.OLEDB.4.0;Provider=Microsof

21、t.Jet.OLEDB.4.0;Data Source=D:DATAData Source=D:DATA學(xué)生成績(jī)管理學(xué)生成績(jī)管理.mdbmdb conn.Closeconn.Close Set Set connconn=Nothing=Nothing9.2.2 Connection對(duì)象9.2.3 Recordset對(duì)象vRecordsetRecordset(記錄集記錄集)對(duì)象用于存儲(chǔ)來(lái)自數(shù)據(jù)庫(kù)中基本)對(duì)象用于存儲(chǔ)來(lái)自數(shù)據(jù)庫(kù)中基本表或命令執(zhí)行結(jié)果的記錄全集。表或命令執(zhí)行結(jié)果的記錄全集。vRecordsetRecordset對(duì)象中的數(shù)據(jù)在邏輯上由每行的記錄和每列對(duì)象中的數(shù)據(jù)在邏輯上由每行的記錄和每

22、列的字段組成,每個(gè)字段又表示為一個(gè)的字段組成,每個(gè)字段又表示為一個(gè)FieldField對(duì)象。任一對(duì)象。任一時(shí)候,時(shí)候,RecordsetRecordset對(duì)象所指的當(dāng)前記錄均為記錄全集中對(duì)象所指的當(dāng)前記錄均為記錄全集中的單個(gè)記錄。的單個(gè)記錄。v類似于類似于ConnectionConnection對(duì)象,在使用對(duì)象,在使用RecordsetRecordset對(duì)象之前,對(duì)象之前,也也應(yīng)聲明并初始化一個(gè)應(yīng)聲明并初始化一個(gè)RecordsetRecordset對(duì)象對(duì)象,方法如下:,方法如下:Dim Dim rsrs As As ADODB.RecordsetADODB.RecordsetSet Set r

23、srs=New=New ADODB.RecordsetADODB.Recordset9.2.3 Recordset對(duì)象v創(chuàng)建一創(chuàng)建一RecordsetRecordset對(duì)象之后,就可以對(duì)象之后,就可以通過(guò)通過(guò)RecordsetRecordset對(duì)象的對(duì)象的OpenOpen方法獲取數(shù)據(jù)源操作的記錄集方法獲取數(shù)據(jù)源操作的記錄集。OpenOpen方方法語(yǔ)法如下:法語(yǔ)法如下:記錄集對(duì)象變量記錄集對(duì)象變量.Open Source,.Open Source,ActiveConnectionActiveConnection,CursorTypeCursorType,LockTypeLockType,Opti

24、onsOptions9.2.3 Recordset對(duì)象v在數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)者可充分利用在數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)者可充分利用RecordsetRecordset對(duì)象的屬性或方法實(shí)現(xiàn)應(yīng)用程序?qū)τ涗浖袑?duì)象的屬性或方法實(shí)現(xiàn)應(yīng)用程序?qū)τ涗浖械臄?shù)據(jù)操作,的數(shù)據(jù)操作,RecordsetRecordset對(duì)象中常用屬性及方法有對(duì)象中常用屬性及方法有:1.ActiveConnection1.ActiveConnection屬性:屬性:通過(guò)設(shè)置通過(guò)設(shè)置ActiveConnectionActiveConnection屬性使打開(kāi)的數(shù)據(jù)源連接與屬性使打開(kāi)的數(shù)據(jù)源連接與ConnectionCon

25、nection對(duì)象相關(guān)聯(lián),該屬性值為有效的對(duì)象相關(guān)聯(lián),該屬性值為有效的ConnectionConnection對(duì)象變量或包含對(duì)象變量或包含ConnectionStringConnectionString參數(shù)的參數(shù)的連接字符串。連接字符串。9.2.3 Recordset對(duì)象 2.AbsolutePosition2.AbsolutePosition屬性屬性:返回:返回RecordsetRecordset對(duì)象當(dāng)前對(duì)象當(dāng)前記錄的序號(hào)位置。記錄的序號(hào)位置。3.RecordCount3.RecordCount屬性屬性:返回:返回RecordsetRecordset對(duì)象中記錄的數(shù)對(duì)象中記錄的數(shù)目。目。4.B

26、OF4.BOF、EOFEOF屬性屬性:若當(dāng)前位置在:若當(dāng)前位置在RecordsetRecordset對(duì)象第一對(duì)象第一條記錄之前,條記錄之前,BOFBOF屬性值為真,否則為假;若當(dāng)前位屬性值為真,否則為假;若當(dāng)前位置在置在RecordsetRecordset對(duì)象最后一條記錄之后,對(duì)象最后一條記錄之后,EOFEOF屬性值為屬性值為真,否則為假。真,否則為假。9.2.3 Recordset對(duì)象 5.AddNew5.AddNew方法方法:該方法將在:該方法將在RecordsetRecordset對(duì)象中添加對(duì)象中添加一條新記錄。語(yǔ)法如下:一條新記錄。語(yǔ)法如下:記錄集對(duì)象變量記錄集對(duì)象變量.AddNewA

27、ddNew 6.Delete6.Delete方法方法:該方法將刪除:該方法將刪除RecordsetRecordset對(duì)象中當(dāng)對(duì)象中當(dāng)前記錄,語(yǔ)法如下:前記錄,語(yǔ)法如下:記錄集對(duì)象變量記錄集對(duì)象變量.Delete.Delete9.2.3 Recordset對(duì)象 7.Update7.Update方法方法:該方法將使:該方法將使RecordsetRecordset對(duì)象中當(dāng)前對(duì)象中當(dāng)前記錄的更新內(nèi)容保存到數(shù)據(jù)庫(kù)中,語(yǔ)法如下:記錄的更新內(nèi)容保存到數(shù)據(jù)庫(kù)中,語(yǔ)法如下:記錄集對(duì)象變量記錄集對(duì)象變量.Update.Update 8.Move8.Move、MoveFirstMoveFirst、MoveLastM

28、oveLast、MoveNextMoveNext、MovePreviousMovePrevious方法方法:當(dāng)打開(kāi)一個(gè)非空:當(dāng)打開(kāi)一個(gè)非空RecordsetRecordset對(duì)對(duì)象時(shí),當(dāng)前記錄總是定位在第一條記錄,可根據(jù)需象時(shí),當(dāng)前記錄總是定位在第一條記錄,可根據(jù)需要使用這些方法靈活地將記錄指針移動(dòng)到指定位置,要使用這些方法靈活地將記錄指針移動(dòng)到指定位置,記錄定位語(yǔ)法見(jiàn)記錄定位語(yǔ)法見(jiàn)表表9-69-6。9.2.3 Recordset對(duì)象9.2.3 Recordset對(duì)象v9.Close9.Close方法方法:該方法用以關(guān)閉一個(gè)已打開(kāi)的:該方法用以關(guān)閉一個(gè)已打開(kāi)的RecordsetRecordse

29、t對(duì)象,并且釋放相關(guān)的數(shù)據(jù)和為該對(duì)象,并且釋放相關(guān)的數(shù)據(jù)和為該RecordsetRecordset對(duì)象所申請(qǐng)對(duì)象所申請(qǐng)的資源。的資源。語(yǔ)法如下語(yǔ)法如下:記錄集對(duì)象變量記錄集對(duì)象變量.Close.Close 由于使用由于使用CloseClose方法只釋放相關(guān)的系統(tǒng)資源,方法只釋放相關(guān)的系統(tǒng)資源,RecordsetRecordset對(duì)象并未從內(nèi)存中釋放,若還需要打開(kāi)該對(duì)象并未從內(nèi)存中釋放,若還需要打開(kāi)該RecordsetRecordset對(duì)象,可直接使用該對(duì)象的對(duì)象,可直接使用該對(duì)象的OpenOpen方法。若要方法。若要將將RecordsetRecordset對(duì)象從內(nèi)存中完全釋放,應(yīng)設(shè)置對(duì)象從內(nèi)存

30、中完全釋放,應(yīng)設(shè)置RecordsetRecordset對(duì)象為對(duì)象為NothingNothing,語(yǔ)法如下語(yǔ)法如下:Set Set 記錄集對(duì)象變量記錄集對(duì)象變量=Nothing=Nothing9.2.4 Command對(duì)象vCommandCommand(命令命令)對(duì)象用以定義并執(zhí)行針對(duì)數(shù)據(jù)源的)對(duì)象用以定義并執(zhí)行針對(duì)數(shù)據(jù)源的具體命令,即通過(guò)傳遞指定的具體命令,即通過(guò)傳遞指定的SQLSQL命令來(lái)操作數(shù)據(jù)庫(kù),命令來(lái)操作數(shù)據(jù)庫(kù),如建立數(shù)據(jù)表、刪除數(shù)據(jù)表或修改數(shù)據(jù)表結(jié)構(gòu)等;應(yīng)如建立數(shù)據(jù)表、刪除數(shù)據(jù)表或修改數(shù)據(jù)表結(jié)構(gòu)等;應(yīng)用程序也可通過(guò)用程序也可通過(guò)CommandCommand對(duì)象查詢數(shù)據(jù)庫(kù),并將對(duì)象查詢

31、數(shù)據(jù)庫(kù),并將CommandCommand對(duì)象的運(yùn)行結(jié)果返回給對(duì)象的運(yùn)行結(jié)果返回給RecordsetRecordset對(duì)象,以便對(duì)象,以便進(jìn)一步執(zhí)行如進(jìn)一步執(zhí)行如增加增加、刪除刪除、更新更新、篩選篩選記錄等操作。記錄等操作。9.2.4 Command對(duì)象v創(chuàng)建一個(gè)創(chuàng)建一個(gè)CommandCommand對(duì)象之后,就可利用該對(duì)象的屬性對(duì)象之后,就可利用該對(duì)象的屬性及方法對(duì)數(shù)據(jù)源提出命令請(qǐng)求,及方法對(duì)數(shù)據(jù)源提出命令請(qǐng)求,CommandCommand對(duì)象的常用對(duì)象的常用屬性和方法有屬性和方法有:1.ActiveConnection1.ActiveConnection屬性屬性:通過(guò)設(shè)置:通過(guò)設(shè)置Active

32、ConnectionActiveConnection屬性使已打開(kāi)的數(shù)據(jù)源連接與屬性使已打開(kāi)的數(shù)據(jù)源連接與ConnectionConnection對(duì)象相關(guān)聯(lián),對(duì)象相關(guān)聯(lián),ActiveConnectionActiveConnection屬性屬性值可以是有效的值可以是有效的ConnectionConnection對(duì)象變量或包含對(duì)象變量或包含ConnectionStringConnectionString參數(shù)的連接字符串。參數(shù)的連接字符串。9.2.4 Command對(duì)象 2.CommandText2.CommandText屬性屬性:用以表示:用以表示CommandCommand對(duì)象要對(duì)數(shù)對(duì)象要對(duì)數(shù)據(jù)源

33、下達(dá)的命令,通常設(shè)置為能夠完成某個(gè)特定功據(jù)源下達(dá)的命令,通常設(shè)置為能夠完成某個(gè)特定功能的能的SQLSQL語(yǔ)句、數(shù)據(jù)表或存儲(chǔ)過(guò)程的調(diào)用等。語(yǔ)句、數(shù)據(jù)表或存儲(chǔ)過(guò)程的調(diào)用等。3.Execute3.Execute方法方法:這是:這是CommandCommand對(duì)象的最主要方法,對(duì)象的最主要方法,用以執(zhí)行一個(gè)由用以執(zhí)行一個(gè)由CommandTextCommandText屬性指定的查詢、屬性指定的查詢、SQLSQL語(yǔ)句或存儲(chǔ)過(guò)程。語(yǔ)句或存儲(chǔ)過(guò)程。9.3.1 在VBA中引用ADO類庫(kù)vADOADO是采用面向?qū)ο蠓椒ㄔO(shè)計(jì)的,是采用面向?qū)ο蠓椒ㄔO(shè)計(jì)的,ADOADO各個(gè)對(duì)象的定義各個(gè)對(duì)象的定義都被集中在都被集中在A

34、DOADO類庫(kù)中。要使用類庫(kù)中。要使用ADOADO對(duì)象,首先要引用對(duì)象,首先要引用ADOADO類庫(kù)。類庫(kù)。在在VBAVBA中引用中引用ADOADO類庫(kù)的操作步驟如下類庫(kù)的操作步驟如下:1.1.在在VBEVBE環(huán)境中,選擇環(huán)境中,選擇“工具工具”菜單下的菜單下的“引用引用”命令,命令,打開(kāi)打開(kāi)“引用引用”對(duì)話框,如對(duì)話框,如圖圖9-49-4所示。所示。2.2.在在“可使用的引用可使用的引用”列表框中選中列表框中選中“Microsoft Microsoft ActiveX Data Objects 2.1ActiveX Data Objects 2.1”復(fù)選框。另外,在這個(gè)復(fù)選框。另外,在這個(gè)對(duì)話

35、框中還可以改變被引用類庫(kù)的優(yōu)先級(jí)。例如,選對(duì)話框中還可以改變被引用類庫(kù)的優(yōu)先級(jí)。例如,選中中“Microsoft ActiveX Data Objects 2.1”Microsoft ActiveX Data Objects 2.1”這一類這一類庫(kù),單擊庫(kù),單擊“優(yōu)先級(jí)優(yōu)先級(jí)”的向上按鈕,可提升的向上按鈕,可提升ADOADO類庫(kù)的優(yōu)類庫(kù)的優(yōu)先級(jí)。先級(jí)。9.3.1 在VBA中引用ADO類庫(kù)圖圖9-4 “引用引用”對(duì)話框?qū)υ捒?.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例v【例例9-19-1】打開(kāi)打開(kāi)“學(xué)生成績(jī)管理學(xué)生成績(jī)管理.mdbmdb”,設(shè)計(jì),設(shè)計(jì)“增加新增加新課程課程”窗體,運(yùn)行界面如圖所示,要求實(shí)現(xiàn):

36、窗體,運(yùn)行界面如圖所示,要求實(shí)現(xiàn):1.1.在窗體中分別輸入課程編號(hào)、課程名稱、學(xué)時(shí)、在窗體中分別輸入課程編號(hào)、課程名稱、學(xué)時(shí)、學(xué)分,顯示在對(duì)應(yīng)文本框中。學(xué)分,顯示在對(duì)應(yīng)文本框中。2.2.單擊單擊“添加添加”按鈕,則判斷輸入的按鈕,則判斷輸入的“課程編號(hào)課程編號(hào)”在在“課程課程”表中是否已經(jīng)存在,若未存在,則將此表中是否已經(jīng)存在,若未存在,則將此記錄添加至記錄添加至“課程課程”表中,否則顯示提示信息。表中,否則顯示提示信息。9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例v【例例9-29-2】打開(kāi)打開(kāi)“學(xué)生成績(jī)管理學(xué)生成績(jī)管理.mdbmdb”,設(shè)計(jì)

37、,設(shè)計(jì)“按專業(yè)按專業(yè)編號(hào)查詢編輯專業(yè)信息編號(hào)查詢編輯專業(yè)信息”窗體,運(yùn)行界面如圖所示,窗體,運(yùn)行界面如圖所示,要求實(shí)現(xiàn):要求實(shí)現(xiàn):1.1.在窗體在窗體組合框組合框Combo1Combo1中選擇一專業(yè)編號(hào),則中選擇一專業(yè)編號(hào),則“專專業(yè)名稱業(yè)名稱”、“專業(yè)負(fù)責(zé)人專業(yè)負(fù)責(zé)人”顯示在對(duì)應(yīng)文本框中。顯示在對(duì)應(yīng)文本框中。2.2.單擊單擊“更新更新”按鈕,則彈出提示信息詢問(wèn)是否要按鈕,則彈出提示信息詢問(wèn)是否要更新數(shù)據(jù),若確定要,則對(duì)更新數(shù)據(jù),若確定要,則對(duì)“專業(yè)專業(yè)”表中的信息進(jìn)表中的信息進(jìn)行更新。行更新。9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.

38、3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例v【例例9-39-3】打開(kāi)打開(kāi)“學(xué)生成績(jī)管理學(xué)生成績(jī)管理.mdbmdb”,設(shè)計(jì),設(shè)計(jì)“課程成課程成績(jī)統(tǒng)計(jì)績(jī)統(tǒng)計(jì)”窗體,運(yùn)行界面如圖所示,要求實(shí)現(xiàn):窗體,運(yùn)行界面如圖所示,要求實(shí)現(xiàn):1.1.在在組合框組合框Combo1Combo1中選擇一課程編號(hào),則對(duì)應(yīng)的課程中選擇一課程編號(hào),則對(duì)應(yīng)的課程名稱、學(xué)分、任課教師、學(xué)時(shí)分別顯示在對(duì)應(yīng)文本框名稱、學(xué)分、任課教師、學(xué)時(shí)分別顯示在對(duì)應(yīng)文本框中。中。2.2.單擊單擊“統(tǒng)計(jì)統(tǒng)計(jì)”按鈕,則在對(duì)應(yīng)文本框中顯示指定課按鈕,則在對(duì)應(yīng)文本框中顯示指定課程的所有參考學(xué)生人數(shù)、課程平均分、程的所有參考學(xué)生人數(shù)、課程平均分、6060分以上人數(shù)分以上

39、人數(shù)和不及格人數(shù)。和不及格人數(shù)。3.3.若未指定具體課程編號(hào)就單擊若未指定具體課程編號(hào)就單擊“統(tǒng)計(jì)統(tǒng)計(jì)”按鈕,則顯按鈕,則顯示提示信息。示提示信息。9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例圖圖9-5 課程成績(jī)統(tǒng)計(jì)窗體課程成績(jī)統(tǒng)計(jì)窗體9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例設(shè)計(jì)步驟如下設(shè)計(jì)步驟如下:(1 1)創(chuàng)建窗體并添加相關(guān)控件??丶闹饕獙傩匀纾﹦?chuàng)建窗體并添加相關(guān)控件??丶闹饕獙傩匀绫肀?-79-7所示。所示。(2 2)利用組合框向?qū)гO(shè)置)利用組合框向?qū)гO(shè)置Combo1Combo1對(duì)象的值來(lái)源。設(shè)置對(duì)象的值來(lái)源。設(shè)置步驟詳見(jiàn)步驟詳見(jiàn)圖圖9-6

40、9-6。(3 3)對(duì)組合框?qū)M合框Combo1Combo1的的ChangeChange事件編寫(xiě)如下代碼事件編寫(xiě)如下代碼:Private Sub Combo1_Change()Private Sub Combo1_Change()Dim Dim rsrs As As ADODB.RecordsetADODB.Recordset Set Set rsrs=New =New ADODB.RecordsetADODB.Recordset 從從 課程課程 和和 教師教師 數(shù)據(jù)表中獲取指定課程編號(hào)的記錄數(shù)據(jù)表中獲取指定課程編號(hào)的記錄9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例 Dim Dim SQLstrSQLstr

41、 As String As StringSQLstrSQLstr=Select =Select 課程課程.課程名稱課程名稱,課程課程.學(xué)時(shí)學(xué)時(shí),課程課程.學(xué)分學(xué)分,教師教師.姓名姓名 From From 課程課程,教師教師 Where Where 課程課程.教師編號(hào)教師編號(hào)=教師教師.教教師編號(hào)師編號(hào) And And 課程課程.課程編號(hào)課程編號(hào)=&Me.Combo1&=&Me.Combo1&rs.Openrs.Open SQLstrSQLstr,CurrentProject.ConnectionCurrentProject.Connection,2,2,2,2 判斷是否獲取指定的記錄判斷是否獲

42、取指定的記錄 IfIf Not Not rs.EOFrs.EOF()Then()Then Me.Text1=Me.Text1=rsrs(課程名稱課程名稱)Me.Text2=Me.Text2=rsrs(學(xué)分學(xué)分)Me.Text3=Me.Text3=rsrs(姓名姓名)Me.Text4=Me.Text4=rsrs(學(xué)時(shí)學(xué)時(shí))End IfEnd Ifrs.Closers.CloseSet Set rsrs=Nothing=NothingEnd SubEnd Sub9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例(4 4)對(duì)對(duì)“統(tǒng)計(jì)統(tǒng)計(jì)”按鈕按鈕Command1Command1的的ClickClick事件編寫(xiě)如下事件

43、編寫(xiě)如下代碼代碼:Private Sub Command1_Click()Private Sub Command1_Click()Dim Dim rsrs As As ADODB.RecordsetADODB.RecordsetSet Set rsrs=New =New ADODB.RecordsetADODB.Recordset 從從 成績(jī)成績(jī) 數(shù)據(jù)表獲取指定課程編號(hào)的所有記錄數(shù)據(jù)表獲取指定課程編號(hào)的所有記錄 Dim Dim SQLstrSQLstr As String As StringSQLstrSQLstr=Select =Select*From From 成績(jī)成績(jī) Where Whe

44、re 課程編號(hào)課程編號(hào)=&=&Me.Combo1&Me.Combo1&rs.Openrs.Open SQLstrSQLstr,CurrentProject.ConnectionCurrentProject.Connection,2,2,2,2 判斷獲取的記錄集是否為空判斷獲取的記錄集是否為空,非空則統(tǒng)計(jì)各項(xiàng)數(shù)據(jù)非空則統(tǒng)計(jì)各項(xiàng)數(shù)據(jù)9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例 IfIf Not Not rs.BOFrs.BOF()Or Not()Or Not rs.EOFrs.EOF()Then()Then sum=0 sum=0 n=0 n=0 x=0 x=0 y=0 y=0 逐條記錄累加成績(jī)逐條記錄累加成

45、績(jī),并分別統(tǒng)計(jì)及格與不及格人數(shù)并分別統(tǒng)計(jì)及格與不及格人數(shù) Do While Not Do While Not rs.EOFrs.EOF()()sum=sum=sumsum+rsrs(成績(jī)成績(jī))n=n+1 n=n+1 IfIf rsrs(成績(jī)成績(jī))=60 Then)=60 Then x=x+1 x=x+1 ElseElse y=y+1 y=y+1 End ifEnd if9.3.2 VBA數(shù)據(jù)庫(kù)編程實(shí)例 rs.MoveNextrs.MoveNextLoopLoopaver=sum/naver=sum/nMe.Text5=nMe.Text5=nMe.Text6=Me.Text6=Int(averI

46、nt(aver *100+0 100+05)/1005)/100Me.Text7=xMe.Text7=xMe.Text8=yMe.Text8=yElseElse 未指定課程編號(hào)則提示信息未指定課程編號(hào)則提示信息MsgBoxMsgBox 課程編號(hào)為空課程編號(hào)為空,請(qǐng)重新指定請(qǐng)重新指定,0+16,0+16,提示提示 End IfEnd Ifrs.Closers.CloseSet Set rsrs=Nothing=NothingEnd SubEnd Sub【本章小結(jié)】v本章在介紹本章在介紹ConnectionConnection、RecordsetRecordset和和CommandCommand三

47、個(gè)三個(gè)ADOADO主要主要對(duì)象的具體使用方法基礎(chǔ)上,通過(guò)列舉有針對(duì)性的實(shí)例對(duì)象的具體使用方法基礎(chǔ)上,通過(guò)列舉有針對(duì)性的實(shí)例(如記錄的查詢、添加、更新、刪除、記錄中字段數(shù)據(jù)統(tǒng)(如記錄的查詢、添加、更新、刪除、記錄中字段數(shù)據(jù)統(tǒng)計(jì)等),翔實(shí)說(shuō)明在計(jì)等),翔實(shí)說(shuō)明在AccessAccess窗體設(shè)計(jì)時(shí),控件對(duì)象在窗體設(shè)計(jì)時(shí),控件對(duì)象在VBAVBA編編程中借助程中借助ADOADO對(duì)象操作對(duì)象操作AccessAccess數(shù)據(jù)庫(kù)的編程技巧。數(shù)據(jù)庫(kù)的編程技巧。v本章內(nèi)容對(duì)初學(xué)者而言較難,但在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的實(shí)際本章內(nèi)容對(duì)初學(xué)者而言較難,但在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的實(shí)際開(kāi)發(fā)中具有一定的實(shí)用性和借鑒性,希望讀者能熟練掌握開(kāi)

48、發(fā)中具有一定的實(shí)用性和借鑒性,希望讀者能熟練掌握VBAVBA數(shù)據(jù)庫(kù)編程技巧,使自己的面向?qū)ο蟪绦蛟O(shè)計(jì)能力有一數(shù)據(jù)庫(kù)編程技巧,使自己的面向?qū)ο蟪绦蛟O(shè)計(jì)能力有一個(gè)綜合提高。個(gè)綜合提高。【思考與練習(xí)】v9.1 VBA9.1 VBA提供的數(shù)據(jù)庫(kù)訪問(wèn)接口有哪幾種?提供的數(shù)據(jù)庫(kù)訪問(wèn)接口有哪幾種?v9.2 ADO9.2 ADO全稱是什么?全稱是什么?ADOADO三個(gè)核心對(duì)象是什么?簡(jiǎn)三個(gè)核心對(duì)象是什么?簡(jiǎn)述這三個(gè)對(duì)象的功能。述這三個(gè)對(duì)象的功能。v9.3 9.3 簡(jiǎn)述簡(jiǎn)述VBAVBA使用使用ADOADO訪問(wèn)數(shù)據(jù)庫(kù)的一般步驟。訪問(wèn)數(shù)據(jù)庫(kù)的一般步驟。【思考與練習(xí)】v9.4 9.4 打開(kāi)打開(kāi)“學(xué)生成績(jī)管理學(xué)生成績(jī)管

49、理.mdbmdb”,設(shè)計(jì)按教師職稱查閱,設(shè)計(jì)按教師職稱查閱“教師教師”數(shù)據(jù)表中教師的基本信息的窗體,要求實(shí)現(xiàn):數(shù)據(jù)表中教師的基本信息的窗體,要求實(shí)現(xiàn):(1 1)在組合框)在組合框Combo1Combo1中選擇一職稱(直接指定組合框值中選擇一職稱(直接指定組合框值為教授、副教授和講師),則相應(yīng)職稱教師的姓名、性為教授、副教授和講師),則相應(yīng)職稱教師的姓名、性別、出生日期和專業(yè)名稱分別顯示在對(duì)應(yīng)文本框中。別、出生日期和專業(yè)名稱分別顯示在對(duì)應(yīng)文本框中。(2 2)類似例)類似例9-79-7,單擊窗體上已設(shè)計(jì)好的,單擊窗體上已設(shè)計(jì)好的4 4個(gè)記錄指針移個(gè)記錄指針移動(dòng)按鈕,可依次瀏覽相應(yīng)職稱的各位教師信息

50、,要求考動(dòng)按鈕,可依次瀏覽相應(yīng)職稱的各位教師信息,要求考慮記錄指針移至記錄集首部或末尾問(wèn)題。慮記錄指針移至記錄集首部或末尾問(wèn)題。(3 3)類似例)類似例9-89-8,單擊窗體上已設(shè)計(jì)好的,單擊窗體上已設(shè)計(jì)好的“更新更新”命令命令按鈕,可更新當(dāng)前顯示的教師的姓名、性別及出生日期按鈕,可更新當(dāng)前顯示的教師的姓名、性別及出生日期3 3個(gè)基本信息(不考慮修改職稱和專業(yè)名稱)。個(gè)基本信息(不考慮修改職稱和專業(yè)名稱)?!舅伎寂c練習(xí)】v 9.5 9.5 打開(kāi)打開(kāi)“學(xué)生成績(jī)管理學(xué)生成績(jī)管理.mdbmdb”,設(shè)計(jì)一窗體,用以統(tǒng)計(jì),設(shè)計(jì)一窗體,用以統(tǒng)計(jì)“課程課程”數(shù)據(jù)表中指定學(xué)時(shí)范圍的課程信息,運(yùn)行界面如數(shù)據(jù)表中

51、指定學(xué)時(shí)范圍的課程信息,運(yùn)行界面如圖圖9-99-9所示,要求實(shí)現(xiàn):所示,要求實(shí)現(xiàn):(1 1)窗體啟動(dòng)后,)窗體啟動(dòng)后,“瀏覽瀏覽”按鈕不起作用,子窗體顯示按鈕不起作用,子窗體顯示所有課程信息。所有課程信息。(2 2)選中某一指定學(xué)時(shí)范圍選項(xiàng),單擊)選中某一指定學(xué)時(shí)范圍選項(xiàng),單擊“統(tǒng)計(jì)統(tǒng)計(jì)”按鈕,按鈕,在相應(yīng)文本框中顯示指定學(xué)時(shí)范圍的課程總門(mén)數(shù),并激活在相應(yīng)文本框中顯示指定學(xué)時(shí)范圍的課程總門(mén)數(shù),并激活“瀏覽瀏覽”按鈕。按鈕。(3 3)單擊)單擊“瀏覽瀏覽”按鈕,在子窗體中顯示指定學(xué)時(shí)范圍按鈕,在子窗體中顯示指定學(xué)時(shí)范圍的所有課程信息。的所有課程信息。【思考與練習(xí)】圖圖9-9 統(tǒng)計(jì)指定學(xué)時(shí)范圍的課程信息窗體統(tǒng)計(jì)指定學(xué)時(shí)范圍的課程信息窗體

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!