Access基礎(chǔ)與應(yīng)用教程 第9章 VBA的數(shù)據(jù)庫編程_第1頁
Access基礎(chǔ)與應(yīng)用教程 第9章 VBA的數(shù)據(jù)庫編程_第2頁
Access基礎(chǔ)與應(yīng)用教程 第9章 VBA的數(shù)據(jù)庫編程_第3頁
Access基礎(chǔ)與應(yīng)用教程 第9章 VBA的數(shù)據(jù)庫編程_第4頁
Access基礎(chǔ)與應(yīng)用教程 第9章 VBA的數(shù)據(jù)庫編程_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 在開發(fā)在開發(fā)AccessAccess數(shù)據(jù)庫應(yīng)數(shù)據(jù)庫應(yīng)用系統(tǒng)時,為了能開發(fā)出用系統(tǒng)時,為了能開發(fā)出更實用、更有效的更實用、更有效的AccessAccess數(shù)數(shù)據(jù)庫應(yīng)用程序,以便能快據(jù)庫應(yīng)用程序,以便能快速、有效地管理好數(shù)據(jù),速、有效地管理好數(shù)據(jù),還應(yīng)當學(xué)習(xí)和掌握還應(yīng)當學(xué)習(xí)和掌握VBAVBA的的數(shù)據(jù)庫編程方法。數(shù)據(jù)庫編程方法。退出退出9.1 9.1 數(shù)據(jù)庫訪問接口數(shù)據(jù)庫訪問接口9.2 9.2 數(shù)據(jù)訪問對象(數(shù)據(jù)訪問對象(DAODAO)9.3 ActiveX9.3 ActiveX數(shù)據(jù)對象(數(shù)據(jù)對象(ADOADO) 為了在為了在VBA程序代碼中能方便地實現(xiàn)對數(shù)據(jù)庫的數(shù)程序代碼中能方便地實現(xiàn)對數(shù)據(jù)庫的

2、數(shù)據(jù)訪問功能,據(jù)訪問功能,VBA語言提供有相應(yīng)的通用的接口方式。語言提供有相應(yīng)的通用的接口方式。 VBA是通過是通過 Microsoft Jet 數(shù)據(jù)庫引擎工具來支持數(shù)據(jù)庫引擎工具來支持對數(shù)據(jù)庫的訪問。所謂數(shù)據(jù)庫引擎實際上是一組動態(tài)鏈對數(shù)據(jù)庫的訪問。所謂數(shù)據(jù)庫引擎實際上是一組動態(tài)鏈接庫(接庫(DLL),當程序運行時被連接到),當程序運行時被連接到 VBA 程序而實程序而實現(xiàn)對數(shù)據(jù)庫的數(shù)據(jù)訪問功能。數(shù)據(jù)庫引擎是應(yīng)用程序與現(xiàn)對數(shù)據(jù)庫的數(shù)據(jù)訪問功能。數(shù)據(jù)庫引擎是應(yīng)用程序與物理數(shù)據(jù)庫之間的橋梁,它以一種通用接口的方式,使物理數(shù)據(jù)庫之間的橋梁,它以一種通用接口的方式,使各種類型物理數(shù)據(jù)庫對用戶而言都具有

3、統(tǒng)一的形式和相各種類型物理數(shù)據(jù)庫對用戶而言都具有統(tǒng)一的形式和相同的數(shù)據(jù)訪問與處理方法。同的數(shù)據(jù)訪問與處理方法。 在在VBA語言中,提供了如下三種基本的數(shù)據(jù)庫訪問接口語言中,提供了如下三種基本的數(shù)據(jù)庫訪問接口: (1)開放數(shù)據(jù)庫互連應(yīng)用編程接口()開放數(shù)據(jù)庫互連應(yīng)用編程接口(簡稱簡稱ODBC API)。)。 (2)數(shù)據(jù)訪問對象()數(shù)據(jù)訪問對象(簡稱簡稱DAO)。)。 (3)Active數(shù)據(jù)對象(數(shù)據(jù)對象(簡稱簡稱ADO)。)。 在在VBA語言程序設(shè)計中,通過數(shù)據(jù)庫引擎可以訪問如下語言程序設(shè)計中,通過數(shù)據(jù)庫引擎可以訪問如下三種類型的數(shù)據(jù)庫:三種類型的數(shù)據(jù)庫: (1)本地數(shù)據(jù)庫,即是)本地數(shù)據(jù)庫,即

4、是 Access 數(shù)據(jù)庫。數(shù)據(jù)庫。 (2)外部數(shù)據(jù)庫,即是所有的索引順序訪問方法)外部數(shù)據(jù)庫,即是所有的索引順序訪問方法 (ISAM)數(shù)據(jù)庫。數(shù)據(jù)庫。 (3)ODBC數(shù)據(jù)庫,即是符合開放數(shù)據(jù)庫連接數(shù)據(jù)庫,即是符合開放數(shù)據(jù)庫連接 (ODBC)標準的數(shù)據(jù)庫,例如,標準的數(shù)據(jù)庫,例如,Oracle、 Microsoft SQL Server等。等。 數(shù)據(jù)訪問對象(數(shù)據(jù)訪問對象(DAO)是)是VBA語言提供的語言提供的一種數(shù)據(jù)訪問接口,包括數(shù)據(jù)庫、表和查詢的創(chuàng)一種數(shù)據(jù)訪問接口,包括數(shù)據(jù)庫、表和查詢的創(chuàng)建等功能,通過運行建等功能,通過運行VBA程序代碼可以靈活地控程序代碼可以靈活地控制數(shù)據(jù)訪問的各種操作

5、。制數(shù)據(jù)訪問的各種操作。 在在Access 2010中,可以在中,可以在VBA程序中使用程序中使用DAO來訪問(來訪問(*.mdb)數(shù)據(jù)庫和()數(shù)據(jù)庫和(*.accdb)數(shù))數(shù)據(jù)庫。據(jù)庫。 DAO 模型的分層結(jié)構(gòu)圖如圖模型的分層結(jié)構(gòu)圖如圖10-2所示。它包含了一個所示。它包含了一個復(fù)雜的可編程數(shù)據(jù)關(guān)聯(lián)對象的層次,其中復(fù)雜的可編程數(shù)據(jù)關(guān)聯(lián)對象的層次,其中 DBEngine對象對象處于最頂層,它是模型中惟一不被其他對象所包含的數(shù)據(jù)處于最頂層,它是模型中惟一不被其他對象所包含的數(shù)據(jù)庫引擎本身。層次低一層對象是,庫引擎本身。層次低一層對象是,Errors和和 Workspaces對象。層次再低一層對象

6、如對象。層次再低一層對象如Errors對象的低一層對象是對象的低一層對象是Error;Workspaces 對象的低一層對象是對象的低一層對象是 Workspace。Databases 的低一層對象是的低一層對象是 Database。Database 的低的低一層對象是一層對象是 Containers、 QueryDefs、RecordSets、Relations 和和 TableDefs。TableDefs對象的低一層對象是對象的低一層對象是 TableDef。同理如此類推,在此不作詳列。同理如此類推,在此不作詳列。 其中對象名的尾字符為其中對象名的尾字符為“s”的那些對象(如,的那些對象(

7、如,Errors、Workspaces、Databases、TableDefs、Fields 等)是等)是集合對象,集合對象下一層包含其成員對象。集合對象,集合對象下一層包含其成員對象。對象對象說明說明DBEngine表示表示Microsoft Jet數(shù)據(jù)庫引擎。它是數(shù)據(jù)庫引擎。它是DAO模型的最上層對象,模型的最上層對象,而且包含并控制而且包含并控制DAO模型中的其余全部對象。模型中的其余全部對象。Workspace表示工作區(qū)。表示工作區(qū)。Database表示操作的數(shù)據(jù)庫對象。表示操作的數(shù)據(jù)庫對象。Container表示數(shù)據(jù)庫中各種對象的基本數(shù)據(jù),如使用權(quán)限等。表示數(shù)據(jù)庫中各種對象的基本數(shù)據(jù)

8、,如使用權(quán)限等。Document表示文檔表示文檔QueryDef表示數(shù)據(jù)庫查詢信息。表示數(shù)據(jù)庫查詢信息。Parameter表示參數(shù)查詢中的參數(shù)。表示參數(shù)查詢中的參數(shù)。RecordSet表示數(shù)據(jù)操作返回的記錄集。表示數(shù)據(jù)操作返回的記錄集。Relation表示數(shù)據(jù)表之間的關(guān)系。表示數(shù)據(jù)表之間的關(guān)系。TableDef表示數(shù)據(jù)庫中的表。表示數(shù)據(jù)庫中的表。Field表示字段,包含數(shù)據(jù)類型和屬性等。表示字段,包含數(shù)據(jù)類型和屬性等。Index表示數(shù)據(jù)表中定義的索引字段。表示數(shù)據(jù)表中定義的索引字段。Group表示數(shù)據(jù)庫中的組。表示數(shù)據(jù)庫中的組。User表示使用數(shù)據(jù)庫的用戶信息。表示使用數(shù)據(jù)庫的用戶信息。Err

9、or包含使用包含使用DAO對象產(chǎn)生的錯誤信息。對象產(chǎn)生的錯誤信息。 DAO 對象必須通過對象必須通過 VBA 程序代碼來控制和操作。在代碼程序代碼來控制和操作。在代碼中,必須設(shè)置對象變量,然后再通過對象變量使用其下的對象、中,必須設(shè)置對象變量,然后再通過對象變量使用其下的對象、或者對象的屬性和方法?;蛘邔ο蟮膶傩院头椒?。 1對象變量的聲明對象變量的聲明 同普通變量的聲明一樣,聲明的關(guān)鍵字可以是同普通變量的聲明一樣,聲明的關(guān)鍵字可以是 Dim、Private、Public 等。等。 聲明對象變量的語句格式:聲明對象變量的語句格式: Dim 對象變量名對象變量名 As 對象類型對象類型 例如:例如

10、: Dim wks As Workspace 聲明聲明wks為工作區(qū)對象變量為工作區(qū)對象變量 Dim dbs As Database 聲明聲明dbs為數(shù)據(jù)庫對象變量為數(shù)據(jù)庫對象變量 Dim 只是聲明了對象變量的類型,對象變量的值只是聲明了對象變量的類型,對象變量的值必須通過必須通過 Set 賦值語句來賦值。賦值語句來賦值。Set賦值語句的格式:賦值語句的格式: Set 對象變量名稱對象變量名稱 = 對象指定聲明對象指定聲明例如:例如: Set wks = DBEngine.Workspaces(0) 打開默認工作區(qū)(即打開默認工作區(qū)(即0號工作區(qū))號工作區(qū)) Set dbs = wks.Ope

11、nDatabase(E:Access職工管理職工管理.accdb) 打開數(shù)據(jù)庫打開數(shù)據(jù)庫 例例9-1 通過通過 DAO 編程,顯示當前打開的數(shù)據(jù)庫的名編程,顯示當前打開的數(shù)據(jù)庫的名稱。稱。Private Sub Cmd1_Click() Dim wks As Workspace 聲明工作區(qū)對象變量聲明工作區(qū)對象變量 Dim dbs As Database 聲明數(shù)據(jù)庫對象變量聲明數(shù)據(jù)庫對象變量 Set wks = DBEngine.Workspaces(0) 打開默認工作區(qū)(即打開默認工作區(qū)(即0號工作區(qū))號工作區(qū)) Set dbs = wks.Databases(0) 打開當前打開當前(默認)

12、(默認)數(shù)據(jù)庫(即數(shù)據(jù)庫(即0號數(shù)據(jù)庫)號數(shù)據(jù)庫) MsgBox dbs.Name Name 是是 Database 對象變量的屬性對象變量的屬性End Sub 1Database 對象的常用屬性和方法對象的常用屬性和方法 Database 對象代表數(shù)據(jù)庫。對象代表數(shù)據(jù)庫。Database對象的常對象的常用屬性如表用屬性如表9-2所示。所示。Database對象的常用方法如表對象的常用方法如表9-3所示。所示。屬性屬性說明說明Name標識一個數(shù)據(jù)庫對象的名稱標識一個數(shù)據(jù)庫對象的名稱Updatable表示數(shù)據(jù)庫對象是否可以被更新(為表示數(shù)據(jù)庫對象是否可以被更新(為True 可以可以更新,為更新,

13、為 False 不可以更新)不可以更新)表表9-2 Database對象的常用屬性對象的常用屬性 表表9-3 Database對象的常用方法對象的常用方法方法方法說明說明CreatQueryDef 創(chuàng)建一個新的查詢對象創(chuàng)建一個新的查詢對象CreatTableDef創(chuàng)建一個新的表對象創(chuàng)建一個新的表對象CreatRelation建立新的關(guān)系建立新的關(guān)系OpenRecordSet創(chuàng)建一個新的記錄集創(chuàng)建一個新的記錄集Excute執(zhí)行一個執(zhí)行一個SQL查詢查詢Close關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫 使用使用 TableDef 對象的對象的 CreateField 方法可創(chuàng)建表方法可創(chuàng)建表中的字段。中的字段。 使

14、用使用 CreateField方方 法的語句格式:法的語句格式: Set fed = tbe.CreateField(name, type, size) 其中:其中: fed 是字段對象變量。是字段對象變量。tbe 是表對象變量。是表對象變量。name是字段名。是字段名。type 是字段的數(shù)據(jù)類型,要用英文字符表是字段的數(shù)據(jù)類型,要用英文字符表示,如示,如 dbText 表示文本型,表示文本型,dbInteger 表示整型。表示整型。size 表示字段大小。表示字段大小。 RecordSet 對象代表一個表或查詢中的所有對象代表一個表或查詢中的所有記錄。記錄。RecordSet 對象提供了對記

15、錄的添加、對象提供了對記錄的添加、刪除和修改等操作的支持。刪除和修改等操作的支持。 RecordSet 對象的常用屬性如表對象的常用屬性如表9-4所示。所示。 RecordSet 對象的常用方法如表對象的常用方法如表9-5所示。所示。表表9-4 RecordSet對象的常用屬性對象的常用屬性 屬性屬性說明說明Bof若為若為 True,記錄指針指向記錄集的第一個記,記錄指針指向記錄集的第一個記錄之前錄之前Eof若為若為 True,記錄指針指向記錄集的最后一個,記錄指針指向記錄集的最后一個記錄之后記錄之后Filter設(shè)置篩選條件過濾出滿足條件的記錄設(shè)置篩選條件過濾出滿足條件的記錄RecordCou

16、nt返回記錄集對象中的記錄個數(shù)返回記錄集對象中的記錄個數(shù)NoMatch使用使用 Find 方法時,如果沒有匹配的記錄,則方法時,如果沒有匹配的記錄,則為為 True,否則為,否則為 False 表表9-5 RecordSet 對象的常用方法對象的常用方法的方法的方法方法方法說明說明AddNew添加新記錄添加新記錄Delete刪除當前記錄刪除當前記錄Eidt編輯當前記錄。編輯當前記錄。FindFirst查找第一個滿足條件的記錄。查找第一個滿足條件的記錄。FindLast查找最后一個滿足條件的記錄。查找最后一個滿足條件的記錄。FindNext查找下一個滿足條件的記錄。查找下一個滿足條件的記錄。Fi

17、ndPrevious查找前一個滿足條件的記錄。查找前一個滿足條件的記錄。Move移動記錄指針。移動記錄指針。MoveFirst把記錄指針移到第一個記錄。把記錄指針移到第一個記錄。MoveLast把記錄指針移到最后一個記錄。把記錄指針移到最后一個記錄。MoveNext把記錄指針移到下一個記錄。把記錄指針移到下一個記錄。MovePrevious把記錄指針移到前一個記錄。把記錄指針移到前一個記錄。Requery重新運行查詢,以更新重新運行查詢,以更新 RecordSet 中的記錄。中的記錄。 在在 VBA 編程中,利用編程中,利用 DAO 實現(xiàn)對數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)庫訪問時,要先創(chuàng)建對象變量,再通過對象

18、方法訪問時,要先創(chuàng)建對象變量,再通過對象方法和屬性來進行操作。和屬性來進行操作。 下面通過例子介紹利用下面通過例子介紹利用 DAO 實現(xiàn)對數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)庫訪問的一般語句和步驟:訪問的一般語句和步驟: 例例9-2編寫一個使用編寫一個使用DAO的名為的名為UseDaoUpdateAge的子過的子過程,通過調(diào)用該子過程來完成對程,通過調(diào)用該子過程來完成對“職工管理職工管理”數(shù)據(jù)庫的數(shù)據(jù)庫的“職工基職工基本資料本資料”表的年齡字段值都加表的年齡字段值都加1的操作(假設(shè)的操作(假設(shè)“職工管理職工管理.accdb”數(shù)據(jù)庫文件存放在數(shù)據(jù)庫文件存放在E盤盤“E:Access”文件夾中,文件夾中,“職工基本資

19、料職工基本資料”表中的表中的“年齡年齡”字段的數(shù)據(jù)類型是整型)。本例的窗體名稱為字段的數(shù)據(jù)類型是整型)。本例的窗體名稱為“例例9-2使用使用DAO編程編程-年齡加年齡加1”。 Cmd1 命令按鈕的單擊事件過程和命令按鈕的單擊事件過程和 UseDaoUpdateAge 子過子過程的程的VBA程序代碼如下:程序代碼如下: 例例9-3 通過在通過在VBA程序中使用程序中使用DAO,在當,在當前數(shù)據(jù)庫中創(chuàng)建一個名為前數(shù)據(jù)庫中創(chuàng)建一個名為“用戶表用戶表”的表。的表?!坝脩舯碛脩舯怼钡谋斫Y(jié)構(gòu)如表的表結(jié)構(gòu)如表9-6所示。該表的主鍵所示。該表的主鍵是是“用戶用戶ID”字段。本例的窗體名是字段。本例的窗體名是“

20、例例9-3 用用 DAO 創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表”,窗體中的命令按鈕名稱,窗體中的命令按鈕名稱是是Cmd1。 例例9-4通過在通過在VBA程序中使用程序中使用DAO,實現(xiàn),實現(xiàn)的當前數(shù)據(jù)庫中的的當前數(shù)據(jù)庫中的“用戶表用戶表”添加新記錄。本添加新記錄。本例的窗體名是例的窗體名是“例例9-4用用DAO往用戶表添加記往用戶表添加記錄錄”,如圖,如圖9-2所示。所示。 ActiveX數(shù)據(jù)對象(數(shù)據(jù)對象(ActiveX Data Objects ,簡,簡稱稱ADO)是基于組件的數(shù)據(jù)庫編程接口,它可以對來)是基于組件的數(shù)據(jù)庫編程接口,它可以對來自多種數(shù)據(jù)提供者的數(shù)據(jù)進行讀取和寫入操作。自多種數(shù)據(jù)提供者的數(shù)據(jù)

21、進行讀取和寫入操作。 在在Access模塊設(shè)計時要使用模塊設(shè)計時要使用ADO的各個數(shù)據(jù)對象,需的各個數(shù)據(jù)對象,需要增加對要增加對ADO庫的引用。其中,在庫的引用。其中,在Access 2010中,要在中,要在VBA程序中使用程序中使用ADO來訪問(來訪問(*.accdb)數(shù)據(jù)庫)數(shù)據(jù)庫, 需要增加需要增加對對“Microsoft ActiveX Data Objects 6.1 Library” 庫的庫的引用。該引用的設(shè)置方法:打開引用。該引用的設(shè)置方法:打開VBE窗口,單擊菜單欄上窗口,單擊菜單欄上的的“工具工具”,單擊,單擊“工具工具”菜單中的菜單中的“引用引用”項,彈出項,彈出“引用引用

22、”對話框,從對話框,從“可使用的引用可使用的引用”列表項中,選中列表項中,選中“Microsoft ActiveX Data Objects 6.1 Library”項的復(fù)選項的復(fù)選框,如圖框,如圖9-4所示,然后單擊所示,然后單擊“確定確定”按鈕。按鈕。 本節(jié)僅介紹使用本節(jié)僅介紹使用ADO來訪問(來訪問(*.accdb)數(shù)據(jù)庫)數(shù)據(jù)庫. ADO對象模型圖如圖對象模型圖如圖9-5所示,它提供一系列數(shù)所示,它提供一系列數(shù)據(jù)對象供使用。不過,據(jù)對象供使用。不過,ADO 接口與接口與 DAO不同,不同,ADO對象不須派生,大多數(shù)對象都可以直接創(chuàng)建(對象不須派生,大多數(shù)對象都可以直接創(chuàng)建(Field

23、和和 Error 除外),沒有對象的分級結(jié)構(gòu)。除外),沒有對象的分級結(jié)構(gòu)。 使用時,只需在程序中創(chuàng)建對象變量,并通過對使用時,只需在程序中創(chuàng)建對象變量,并通過對象變量來調(diào)用訪問對象方法、設(shè)置訪問對象屬性,這象變量來調(diào)用訪問對象方法、設(shè)置訪問對象屬性,這樣就實現(xiàn)對數(shù)據(jù)庫的各項訪問操作。樣就實現(xiàn)對數(shù)據(jù)庫的各項訪問操作。ADO 只需要九只需要九個對象和四個集合(對象)就能提供其整個功能。個對象和四個集合(對象)就能提供其整個功能。表表9-7 ADO對象說明對象說明 ADO 對象必須通過對象必須通過 VBA 程序代碼來控制和操作。在代碼程序代碼來控制和操作。在代碼中,必須設(shè)置對象變量,然后再通過對象變

24、量使用其下的對象、中,必須設(shè)置對象變量,然后再通過對象變量使用其下的對象、或者對象的屬性和方法?;蛘邔ο蟮膶傩院头椒?。 聲明對象變量的語句格式:聲明對象變量的語句格式: Dim 對象變量名稱對象變量名稱 As ADODB.對象類型對象類型 例如:例如:Dim con As New ADODB.Connection 聲明一個連接對象變量聲明一個連接對象變量Dim res As New ADODB.RecordSet 聲明一個記錄集對象變量聲明一個記錄集對象變量 注意,注意,ADODB 是是 ADO 類型庫的短名稱,用于識別與類型庫的短名稱,用于識別與DAO中同名的對象。例如,中同名的對象。例如,

25、DAO中有中有 RecordSet 對象,對象,ADO 中也有中也有 RecordSet對象,為了能夠區(qū)分開來,在對象,為了能夠區(qū)分開來,在 ADO 中聲明中聲明RecordSet 類型對象變量時,用上類型對象變量時,用上 ??傊???傊贏DO中聲明對象中聲明對象變量時,一般都要用上變量時,一般都要用上“ADODB.”前綴。前綴。1Connection 對象的常用方法對象的常用方法(1)Open方法方法通過使用通過使用Connection 對象的對象的Open方法來建立與數(shù)據(jù)源的連接。方法來建立與數(shù)據(jù)源的連接。 Open方法的語句格式:方法的語句格式:連接對象變量名連接對象變量名.Ope

26、n ConnectionString, UserID, Password, OpenOptions例如,創(chuàng)建與例如,創(chuàng)建與“職工管理職工管理.mdb”數(shù)據(jù)庫連接的語句:數(shù)據(jù)庫連接的語句: 聲明一個連接對象變量聲明一個連接對象變量cnncnn.Open Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:Access職工管理職工管理.mdb(2)Close方法方法 通過使用通過使用 Connection 對象的對象的 Close 方法來關(guān)閉與數(shù)方法來關(guān)閉與數(shù)據(jù)源的連接。據(jù)源的連接。 Close方法的語句格式:方法的語句格式: 注意,該語句可以關(guān)閉注意,

27、該語句可以關(guān)閉Connection 對象,斷開應(yīng)用對象,斷開應(yīng)用程序與數(shù)據(jù)源的連接。但是程序與數(shù)據(jù)源的連接。但是Connection 仍在內(nèi)存中,釋仍在內(nèi)存中,釋放放 Connection 對象變量的方法是使用下面語句格式的語對象變量的方法是使用下面語句格式的語句:句: 釋放連接對象變量的語句格式:釋放連接對象變量的語句格式: Set連接對象變量名連接對象變量名= nothing 例如,關(guān)閉與例如,關(guān)閉與“職工管理職工管理.accdb”數(shù)據(jù)庫連接的語句:數(shù)據(jù)庫連接的語句:Setcnn = nothing(3)如果指定的數(shù)據(jù)源就是當前已經(jīng)打開的數(shù)據(jù)庫,則必)如果指定的數(shù)據(jù)源就是當前已經(jīng)打開的數(shù)據(jù)

28、庫,則必須通過須通過 CurrentProject 對象的對象的Connection屬性來取得連屬性來取得連接。接。 語句格式:語句格式:Dim 連接對象變量名連接對象變量名 Set 例如:創(chuàng)建與當前已經(jīng)打開的數(shù)據(jù)庫的連接:例如:創(chuàng)建與當前已經(jīng)打開的數(shù)據(jù)庫的連接:Dim cnn As New ADODB.Connection 建立建立 Recordset 對象的語句格式:對象的語句格式: RecordSet 對象的常用屬性如表對象的常用屬性如表9-8所示。所示。 RecordSet對象的常用方法如表對象的常用方法如表9-9所示。所示。屬性屬性說明說明Bof若為若為True,記錄指針指向記錄集的

29、頂部(即,記錄指針指向記錄集的頂部(即指向第一個記錄之前)。指向第一個記錄之前)。Eof若為若為True,記錄指針指向記錄集的底部(即,記錄指針指向記錄集的底部(即指向最后一個記錄之后)。指向最后一個記錄之后)。RecordCount返回記錄集對象中的記錄個數(shù)。返回記錄集對象中的記錄個數(shù)。方法方法說明說明Open打開一個打開一個 Recordset 對象。對象。Close關(guān)閉一個關(guān)閉一個 Recordset 對象。對象。AddNew在在 Recordset 對象中添加一個記錄。對象中添加一個記錄。Update將將 Recordset 對象中的數(shù)據(jù)保存(即寫入)到數(shù)據(jù)庫。對象中的數(shù)據(jù)保存(即寫入

30、)到數(shù)據(jù)庫。CancelUpdate取消對取消對 Recordset 對象的更新操作。對象的更新操作。Delete刪除刪除 Recordset 對象中的一個或多個記錄。對象中的一個或多個記錄。Find在在 Recordset 中查找滿足指定條件的行。中查找滿足指定條件的行。Move移動記錄指針到指定位置。移動記錄指針到指定位置。MoveFirst把記錄指針移到第一個記錄。把記錄指針移到第一個記錄。MoveLast把記錄指針移到最后一個記錄。把記錄指針移到最后一個記錄。MoveNext把記錄指針移到下一個記錄。把記錄指針移到下一個記錄。MovePrevious把記錄指針移到前一個記錄。把記錄指針移到前一個記錄。Clone復(fù)制某個已存在的復(fù)制某個已存在的 RecordSet

溫馨提示

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

評論

0/150

提交評論