配套課件-數(shù)據(jù)庫程序設計_第1頁
配套課件-數(shù)據(jù)庫程序設計_第2頁
配套課件-數(shù)據(jù)庫程序設計_第3頁
配套課件-數(shù)據(jù)庫程序設計_第4頁
配套課件-數(shù)據(jù)庫程序設計_第5頁
已閱讀5頁,還剩239頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1頁第1章 數(shù)據(jù)庫概述本章概述 本章的學習目標主要內(nèi)容第2頁本章概述數(shù)據(jù)庫技術產(chǎn)生于上個世紀六十年代末,是數(shù)據(jù)管理的最新技術,是計算機科學的重要研究分支。本章介紹數(shù)據(jù)庫的基本概念,數(shù)據(jù)管理技術發(fā)展的三個階段的特點;數(shù)據(jù)模型和關系運算。最后介紹數(shù)據(jù)庫設計過程。第3頁本章的學習目標了解數(shù)據(jù)庫的基本概念掌握數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)的關系理解數(shù)據(jù)管理技術發(fā)展的三個階段理解數(shù)據(jù)模型的概念掌握關系數(shù)據(jù)模型的相關概念掌握關系運算的操作理解數(shù)據(jù)庫設計方法第4頁主要內(nèi)容1.1數(shù)據(jù)庫的基本概念1.2數(shù)據(jù)管理技術的發(fā)展階段1.3數(shù)據(jù)庫的體系結構和數(shù)據(jù)模型1.4關系運算1.5 數(shù)據(jù)庫設計1.1.1信息與數(shù)

2、據(jù)庫1.數(shù)據(jù)數(shù)據(jù)( Data )是描述事物的符號記錄,是數(shù)據(jù)庫中存儲的基本對象??梢允俏谋?、圖表、圖形、圖像、聲音、語言、視頻等。2.信息信息是現(xiàn)實世界事物的存在方式或運動狀態(tài)的反映。或認為,信息是一種已經(jīng)被加工為特定形式的數(shù)據(jù)。信息的主要特征是:信息的傳遞需要物質(zhì)載體,信息的獲取和傳遞要消費能量;信息可以感知;信息可以存儲、壓縮、加工、傳遞、共享、擴散、再生和增值;而數(shù)據(jù)是信息的載體和具體表現(xiàn)形式,信息不隨數(shù)據(jù)形式的變化而變化。1.1.1信息與數(shù)據(jù)庫3. 數(shù)據(jù)庫數(shù)據(jù)庫(Database,DB)是長期存儲在計算機內(nèi)、有組織、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)需要創(chuàng)建數(shù)據(jù)模型來描述,如網(wǎng)絡、

3、層次、關系模型。在數(shù)據(jù)庫中的數(shù)據(jù)具有冗余度小、獨立性高和易擴展性的特點。1.1.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)位于用戶和操作系統(tǒng)之間,是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護數(shù)據(jù)庫。像Oracle、SQL Server 和DB2都是常用的數(shù)據(jù)庫管理系統(tǒng)軟件。一般說來,數(shù)據(jù)庫管理系統(tǒng)的功能主要包括以下幾個方面。 數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)庫的運行管理功能數(shù)據(jù)庫的建立和維護功能1.1.3數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(Data Base System ,簡稱 DBS ) 是指引入數(shù)據(jù)庫后的計算機應用系統(tǒng),數(shù)據(jù)庫系統(tǒng)通

4、常包括硬件和軟件,由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員構成。數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的關系:1數(shù)據(jù)和應用程序一一對應,應用程序中的數(shù)據(jù)無法被其他程序利用。3數(shù)據(jù)的獨立性很差,數(shù)據(jù)的類型、結構發(fā)生變化,則程序必須相應改變,因而數(shù)據(jù)的結構性差。2程序與程序之間存在大量重復數(shù)據(jù),存在著數(shù)據(jù)冗余。數(shù)據(jù)2程序1程序2程序N數(shù)據(jù)1數(shù)據(jù)N1.2.1人工管理階段數(shù)據(jù)1數(shù)據(jù)N程序1程序2程序N數(shù)據(jù)2文件系統(tǒng)1.2.2文件系統(tǒng)階段通過文件系統(tǒng)來管理數(shù)據(jù),而且數(shù)據(jù)可長期保存在設備上。數(shù)據(jù)依然是面向某一特定的應用程序;數(shù)據(jù)的共享程度比較低、數(shù)據(jù)冗余度大;整體上看,數(shù)據(jù)沒有結構,但

5、記錄內(nèi)有結構;數(shù)據(jù)的獨立性仍然較差,數(shù)據(jù)的邏輯結構改變必須修改應用程序;應用程序自己控制數(shù)據(jù)。學生部門教務部門人事部門文件系統(tǒng)教師數(shù)據(jù)文件學生數(shù)據(jù)文件課程數(shù)據(jù)文件人事管理應用程序?qū)W生管理應用程序教務管理應用程序應用程序和數(shù)據(jù)文件的關系1.2.2文件系統(tǒng)階段1.2.3數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)結構化數(shù)據(jù)結構化是數(shù)據(jù)庫的主要特征之一,是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。數(shù)據(jù)的共享性程度高,冗余度小,容易擴充等數(shù)據(jù)庫階段的數(shù)據(jù)不再是面向某個應用程序,而是面向整個系統(tǒng),因此可以被多個用戶、多個應用以多種不同的語言共享使用。數(shù)據(jù)獨立性高數(shù)據(jù)獨立性是數(shù)據(jù)庫系統(tǒng)的一個最重要的特點之一,它使數(shù)據(jù)能獨立于應用程序。應用程

6、序不隨數(shù)據(jù)存儲結構的變化而變化,簡化了應用程序的編制和程序員的工作負擔。外存儲器數(shù)據(jù)庫1.2.3數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段將數(shù)據(jù)集中存儲在一臺計算機上,進行統(tǒng)一組織和管理。1.1.3 數(shù)據(jù)庫的體系結構通常DBMS將數(shù)據(jù)庫的體系結構分為三級模式:外模式、模式和內(nèi)模式。數(shù)據(jù)庫的三層模式外模式用戶模式或者子模式,它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示模式邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。一個數(shù)據(jù)庫只有一個模式。內(nèi)模式內(nèi)模式又稱為存儲模式或者物理模式

7、。一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。數(shù)據(jù)庫的體系結構三級模式結構之間差別往往很大,為了實現(xiàn)這3個抽象級別的聯(lián)系和轉(zhuǎn)換,DBMS在三級模式結構之間提供了兩級映像:外模式/模式映像,模式/內(nèi)模式映像。如圖1-2所示。數(shù)據(jù)庫內(nèi)模式模式外模式外模式外模式應用2應用1應用3外模式/模式映像模式/內(nèi)模式映像圖1-2 數(shù)據(jù)庫的三級模式1.3 數(shù)據(jù)模型模型是現(xiàn)實世界特征的模擬和抽象。數(shù)據(jù)模型(Data Model)也是一種模型,它是現(xiàn)實世界數(shù)據(jù)特征的抽象。人們把客觀存在的事物以數(shù)據(jù)的形式存儲到計算機中,經(jīng)歷了對現(xiàn)實生活中事物特征的認識、概念化到計算機數(shù)據(jù)

8、庫里的具體表示的逐級抽象過程。此過程分為3個階段,即現(xiàn)實世界階段、信息世界階段和機器世界階段,如圖1-3所示。16現(xiàn)實世界信息世界如E-R圖機器世界如層次模型、關系模型、網(wǎng)狀模型抽象轉(zhuǎn)換圖1-3 數(shù)據(jù)處理的三個階段數(shù)據(jù)模型概念模型中最常用的是實體聯(lián)系模型(E-R模型),概念模型的目的是根據(jù)需求分析得到概念模型(即E-R圖),E-R圖是數(shù)據(jù)庫人員之間交流的工具,與具體的DBMS無關。建立概念模型后,需要將概念模型轉(zhuǎn)換成某種具體數(shù)據(jù)庫系統(tǒng)支持的模型,在機器世界使用的模型叫做數(shù)據(jù)模型。將信息世界轉(zhuǎn)換成機器世界是將E-R圖轉(zhuǎn)換為某一種數(shù)據(jù)模型,數(shù)據(jù)模型與DBMS相關。17數(shù)據(jù)模型的分類數(shù)據(jù)模型的三個要

9、素包括:數(shù)據(jù)結構、數(shù)據(jù)操作和完整性約束。層次數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型關系數(shù)據(jù)模型第18頁關系數(shù)據(jù)模型關系數(shù)據(jù)模型是由關系數(shù)據(jù)結構、關系操作的集合和關系完整性約束三部分組成。例如下圖這張日常生活中常見的二維表就是關系第19頁學號姓名性別年齡2018202011李平男192018202012王梅女202018202013董東男182018202014王芳女19概念模型(7)聯(lián)系(Relationship)實體集之間的聯(lián)系主要有以下幾種聯(lián)系。一對一聯(lián)系(1:1)如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。 一對多聯(lián)系如果對

10、于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n。多對多聯(lián)系(m:n)關系數(shù)據(jù)模型表1-1 學生表學號姓名性別年齡2018202011李平男192018202012王梅女202018202013董東男182018202014王芳女19關系數(shù)據(jù)模型是由關系數(shù)據(jù)結構、關系操作的集合和關系完整性約束三部分組成。從用戶觀點來看,關系模型中邏輯數(shù)據(jù)結構是一張簡單的二維表,它由行和列組成。例如表1-1這張二維表就是一個關系。關系數(shù)據(jù)模型基本概念(1)關系一個關系就是一張二維表

11、,每個關系都有一個關系名,例如學生表就是學生關系。 (2)元組二維表中的行稱為元組,每一行是一個元組,對應一條記錄。(3)屬性二維表的列稱為屬性,又稱為字段。(4)關系模式對關系的描述,關系模式一般表示為關系名(屬性 1 ,屬性 2 , ,屬性 n ),例如,學生關系模式表示為:學生(學號,姓名,性別,年齡)。(5)域表示屬性的取值范圍,例如,性別屬性的域是男,女。(6)關鍵字或碼在關系的屬性中,能夠用來唯一標識元組的屬性(或?qū)傩越M合)稱為關鍵字或碼。關系數(shù)據(jù)模型(7)候選關鍵字或候選碼候選碼可以用來唯一地標識不同的元組的屬性或者屬性組合。(8)主碼(主鍵)是從候選碼中選擇一個用來作為主碼。如

12、果一張表只有一個候選碼,則該候選碼就是主碼。(9)分量表示元組中的一個屬性值,例如王芳就是學生王芳的分量。(10)外碼(外部關鍵字)又稱為外鍵,是指某個屬性不是A表的主碼,但是是B表的主碼,則在A表中這個屬性就稱為外鍵。(11)主屬性和非主屬性在一個關系中,包含在任何候選關鍵字中的各個屬性稱為主屬性;不包含在任一候選碼中的屬性稱為非主屬性。 例如,學生表中的學號是主屬性,而姓名、性別和年齡是非主屬性。關系數(shù)據(jù)模型在關系數(shù)據(jù)庫中,關系具有以下性質(zhì):所有的屬性都是原子的元組的順序無關緊要,即元組的次序可以任意交換。屬性的順序是非排序的,即它的次序可以任意交換。同一屬性名下的諸屬性值(同列)是同類型

13、數(shù)據(jù),且來自同一個域。關系中沒有重復元組,任意元組在關系中都是唯一的。屬性必須具有不同的屬性名,不同的屬性可來自同一個域。關系的完整性規(guī)則實體完整性元組在主碼上不能相同或者不能為空值(NULL)參照完整性外碼的取值要么為空,要么取主碼表中的取值,而不能取其他的值。用戶自定義完整性針對某一具體數(shù)據(jù)的約束條件,由具體應用環(huán)境決定。1.4.1 傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算(又稱二元運算)。 以下運算用到的兩個關系R和S均為n 元關系,且相應的屬性取自同一個域,如表1-2、表1-3所示。1. 并(Union)關系R和S的并為屬于R或?qū)儆赟的所有元組組成的集合,刪去重復的元組,其結果仍為n元關

14、系。記為RS= t| tRtS。關系R和S進行“并”運算的結果如表1-4所示。姓名年齡性別李20男王21女袁20男表1-2 關系R姓名年齡性別李20男柳22男張20女表1-3 關系S姓名年齡性別李20男王21女袁20男柳22男張20女表1-4 RUS1.4.1 傳統(tǒng)的集合運算2. 交(Intersection)關系R和S的交為:由既屬于R又屬于S的元組組成,其結果仍為n元關系。記為RS = t|t Rt S ,RS = R (R-S)。關系R和S進行“交”運算的結果如表1-5所示。姓名年齡性別李20男王21女袁20男表1-2 關系R姓名年齡性別李20男柳22男張20女表1-3 關系S表1-5

15、RS姓名年齡性別李20男1.4.1 傳統(tǒng)的集合運算3. 差(Difference)關系R和S的差為:由屬于R而不屬于S的所有元組組成,其結果仍為n元關系。記為R-S = t|tRtS 。關系R和S進行“差”運算的結果如表1-6所示。姓名年齡性別李20男王21女袁20男表1-2 關系R姓名年齡性別李20男柳22男張20女表1-3 關系S表1-6 R-S姓名年齡性別王21女袁20男1.4.1 傳統(tǒng)的集合運算4. 笛卡爾乘積(Cartesian Product)設關系R和S分別是n元和m元關系,若R有k1個元組,S有k2個元組,則關系R和S的笛卡爾積有k1k2個元組。記為姓名年齡性別李20男王21女

16、袁20男表1-2 關系R姓名年齡性別李20男柳22男張20女表1-3 關系S表1-7 RSR.姓名R.年齡R.性別S.姓名S.年齡S.性別李20男李20男李20男柳22男李20男張20女王21女李20男王21女柳22男王21女張20女袁20男李20男袁20男柳22男袁20男張20女1.4.2 專門的關系運算1. 選擇(Selection)選擇又稱為限制,它是在關系中滿足給定條件的元組的子集。記作:F(R) = t|tRF(t)= 真其中F表示選擇條件,它是一個邏輯表達式,取邏輯“真”或“假”。選擇運算實際上是從關系R中選取使邏輯表達式F為真的元組。這是從行的角度進行的運算。姓名年齡性別李20男

17、王21女袁20男表1-8 關系R【例1-3】對關系R進行以下查詢的關系運算。(1)查詢男生的信息。 性別=男(R)(2)查詢年齡大于20的學生的信息。年齡20(R) (3)查詢年齡大于20的男學生的信息。性別=男年齡20(R) 1.4.2 專門的關系運算2. 投影(Projection)關系R上的投影是從R中選擇出若干屬性列組成新的關系。記作:A(R) = tA | t R ,其中A為R中的屬性列。投影操作是從列的角度進行的運算,也就是選擇關系的部分列而得到的新的關系,投影又叫做垂直篩選。投影操作之后不僅去掉了原關系中的某些字段,而且還可能取消某些元組(去掉重復的行)。1.4.2 專門的關系運

18、算【例1-4】對關系R進行以下查詢的關系運算。(1)查詢關系R的年齡字段。關系代數(shù)為:年齡(R) ,得到的結果如表1-9所示。(2)查詢關系R的姓名和年齡字段。關系代數(shù)為: 姓名,年齡(R),得到的結果如表1-10所示。姓名年齡性別李20男王21女袁20男表1-8 關系R年齡2021姓名年齡李20王21袁20表1-9 年齡(R)表1-10 姓名,年齡(R)1.4.2 專門的關系運算3. 連接(Join)連接分為內(nèi)連接和外連接,內(nèi)連接是只將滿足連接條件的記錄保存在結果中,而外連接除了將滿足條件的元組保存在結果中,還把舍棄的元組也保存在結果關系中,而在其他屬性上填空值(Null),這種連接就叫做外

19、連接(OUTER JOIN)。外連接分為左外連接、右外連接和完全外連接。如果只把左邊關系R中要舍棄的元組保留就叫做左外連接(LEFT OUTER JOIN或LEFT JOIN)。如果只把右邊關系S中要舍棄的元組保留就叫做右外連接(RIGHT OUTER JOIN或RIGHT JOIN)。 如果把左邊關系和右邊關系中不滿足連接條件的元組也放在結果中, 就叫完全外連接(FULL JOIN)。1.4.2 專門的關系運算從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組。相比較的屬性是可比的屬性。連接運算中最為重要也最為常用的連接是:條件連接、等值連接和自然連接。條件連接:當要滿足某個給定條件時,稱為

20、條件連接。等值連接:給定條件為相等的連接。自然連接:若關系R和S具有相同的屬性組B,則連接條件是兩個關系R和S中所對應的同名屬性組B中的所有屬性的值必須對應相等。內(nèi)連接也稱為連接。連接運算的含義是從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組。1.4.2 專門的關系運算當連接符號為時的連接運算叫做等值連接。等值連接的含義從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組而得到的關系。自然連接是一種特殊的等值連接,等值連接中包含相同的字段,這樣的關系看起來很不自然,為了讓連接后的關系更加自然,兩個連接關系中進行比較的字段必須是相同的屬性或者屬性組合,在結果中把重復的列去掉。1.4.2

21、 專門的關系運算【例1-5】有兩個關系R和S,如表1-11、1-12所示。分別計算關系R與S的連接(C=0 And 90。(3)單擊“查詢類型”選項卡上的“生成表”命令按鈕,彈出“生成表”對話框,在“表名稱”文本框中輸入“優(yōu)秀學生信息”,選中“當前數(shù)據(jù)庫”單選按鈕,將新表放在當前打開的數(shù)據(jù)庫中,單擊“確定”按鈕完成。1第87頁3.2.6創(chuàng)建操作查詢2. 刪除查詢【例3-13】創(chuàng)建一個刪除查詢,將畢業(yè)院校為“匯文中學”的學生刪除?!痉治觥浚涸谶@個查詢中,我們需要刪除滿足條件的記錄。具體步驟如下:(1)創(chuàng)建查詢設計,添加表“student”,添加全部字段到設計網(wǎng)格中“字段”行上。(2)在“畢業(yè)院校

22、”字段的“條件”行上的單元格中輸入:匯文中學。單擊“查詢類型”選項卡上的“刪除”命令按鈕,設計網(wǎng)格中會出現(xiàn)“刪除”行。(3)單擊運行,查看結果,并保存此查詢。1第88頁3.2.6創(chuàng)建操作查詢更新查詢【例3-14】創(chuàng)建一個更新查詢,將政治面貌為“黨員”的學生成績加5分?!痉治觥浚涸谶@個查詢中,我們需要更新滿足條件的記錄字段“成績”。具體步驟如下:(1)創(chuàng)建查詢設計,添加表“student”、“score”。(2)單擊“查詢類型”選項卡上的“更新”命令按鈕,設計網(wǎng)格中會出現(xiàn)“更新到”行。在第1列“字段”單元格內(nèi)選擇“成績”字段,并在“更新到”行上的單元格中輸入:成績+5;在第2列“字段”單元格內(nèi)選

23、擇 “政治面貌”字段,并在“條件”行上的單元格中輸入:黨員。(3)單擊運行,查看結果,并保存此查詢。1第89頁3.2.6創(chuàng)建操作查詢追加查詢【例3-15】創(chuàng)建一個追加查詢,將成績在80到90這個分數(shù)段的學生信息追加到“優(yōu)秀學生信息”表中。【分析】:在這個查詢中,我們首先要打開“優(yōu)秀學生信息”表,查看里面的字段都有那些,然后我們再找到滿足條件的記錄,最后追加到表中。具體步驟如下:(1)創(chuàng)建查詢設計,添加表“student”、“score”“course”。(2)單擊“查詢類型”選項卡上的“追加”命令按鈕,這時彈出“追加”對話框,在“追加”對話框中的“表名稱”下拉列表框中選擇“優(yōu)秀學生信息”表,單

24、擊“確定”按鈕。(3)設計網(wǎng)格中會出現(xiàn)“追加到”行。我們先把“追加到”行上的字段一一選出來,再在“字段”行上選取字段分別與“追加到”行上的字段相匹配。在 “成績”字段的“條件”行上的單元格中輸入:between 80 and 90。(4)單擊運行,查看結果,并保存此查詢。1第90頁3.3 創(chuàng)建SQL查詢前面我們介紹了使用向?qū)Ш驮O計視圖來創(chuàng)建查詢,用戶會覺得比較方便也容易懂,但是一些比較復雜的查詢我們用前面兩種方式都無法實現(xiàn)。其實查詢的實質(zhì)是SQL命令,不管是何種查詢最終保存在數(shù)據(jù)庫中仍以SQL命令的方式保存的,我們只需要打開任何一個查詢的查詢設計視圖,將視圖切換到SQL視圖就可以看到SQL代碼

25、。1第91頁3.3.1SQL查詢語言概述select語句的基本語法:Select 字段列表into 新表from 記錄源where group by having order by 字段列表desc|asc說明:(1) 中的內(nèi)容表示可選項,中的內(nèi)容必選項,| 表示任選其一。(2)Select語句的書寫沒有很嚴格的要求,可以寫在一行,也可以分多行寫,語句最后以“;”結束,也可以不寫“;”。語句中的英文字母不分大小寫。(3)Select命令的語法格式中,基本部分是“select 字段列表”和“from 記錄源”。字段列表可以是表中字段,也可以是計算表達式;記錄源可以是表,也可以是查詢。(4)Whe

26、re子句后面帶查詢條件或者連接條件,可以實現(xiàn)對記錄的篩選,也可以實現(xiàn)多表連接。(5)Group by子句實現(xiàn)分組統(tǒng)計,Group by子句后面可以帶having短語也可以不帶,having的作用類似于where,能對分組后的數(shù)據(jù)進行再篩選。如果出現(xiàn)having短語必須有Group by子句。(6)Order by子句是對查詢的結果進行排序。默認的排序方式為升序,asc表示升序可以缺省不寫,降序為desc。1第92頁3.3.2基本查詢1.選取記錄源的全部或部分字段Select*通常用于快速查看表中的記錄。當對表的結構無法確切記憶時,或要快速查看表中的記錄時,使用Select*是很方便的。【例3-

27、16】輸出“student”表中全部字段,并將查詢保存為“學生信息”。具體步驟如下:進入SQL視圖,輸入如下SQL命令:Select * from student1第93頁3.3.2基本查詢2. 對記錄進行選擇使用where子句對記錄進行選擇。where子句根據(jù)某個表達式或某些字段的值進行過濾,最后篩選出符合條件的記錄。where的基本語法為:where 【例3-18】在“student”表中顯示所有女生的記錄。SQL語句為:select * from studentwhere 性別= 女【例3-19】在“student”表中查找1998年出生的學生,并顯示其學號、姓名、出生日期。方法一:SQ

28、L語句為:select 學號,姓名,出生日期 from studentwhere 出生日期=#1998-1-1# and 出生日期853.子查詢子查詢也叫嵌套查詢,是一種比較復雜的查詢,它是將第一次查詢的結果作為第二次查詢的條件。【例3-26】檢索選修3門以上課程的學生的學號、總成績(不統(tǒng)計不及格的課程),并要求按總成績的降序排列出來。SQL語句為:select 學號,sum(成績) as 總成績 from scorewhere 學號 in(select 學號 from scoregroup by 學號having count(*)3) and 成績=60group by 學號order by

29、 2 desc第99頁第4章 窗體 本章概述 本章的學習目標主要內(nèi)容第100頁本章概述窗體又稱為表單,是Access數(shù)據(jù)庫的重要對象之一,窗體既是管理數(shù)據(jù)庫的窗口,又是用戶和數(shù)據(jù)庫之間的橋梁。通過窗體可以方便地輸人數(shù)據(jù),編輯數(shù)據(jù),查詢、排序、篩選和顯示數(shù)據(jù)。Access利用窗體將整個數(shù)據(jù)庫組織起來,從而構成完整的應用系統(tǒng)。本章將介紹窗體的特點和使用方法。第101頁本章的學習目標理解窗體的概念和功能掌握創(chuàng)建窗體方法掌握控件的使用方法掌握在設計視圖中創(chuàng)建窗體使用方法第102頁主要內(nèi)容4.1 認識窗體4.2 創(chuàng)建窗體方式 4.3 在設計視圖中創(chuàng)建窗體4.4 控件的應用第103頁4.1 認識窗體一個好

30、的數(shù)據(jù)庫系統(tǒng)不但要設計合理,滿足用戶需要,而且還必須具有一個功能完善、操作方便、外觀美觀的操作界面口窗體作為輸人界面時,它可以接受數(shù)據(jù)的輸人并檢查輸人的數(shù)據(jù)是否有效;窗體作為輸出界面時,它可以根據(jù)需要輸出各類形式的信息包括多媒體信息),還可以把記錄組織成方便瀏覽的各種形式。 Access窗體有多種分類方法,通常是按功能、按數(shù)據(jù)顯示方式和顯示關系分類。第104頁窗體的概念和功能窗體的主要作用是接受用戶輸入的數(shù)據(jù)或命令,編輯、顯示數(shù)據(jù)庫中的數(shù)據(jù);構造方便和美觀的數(shù)據(jù)、輸出記錄的界面。窗體可以完成以下幾種功能:顯示編輯數(shù)據(jù)??刂茟贸绦虻牧鞒獭o@示信息。打印數(shù)據(jù)。 窗體的組成和結構Access窗體由

31、窗體頁眉、頁面頁眉、窗體主體、頁面頁腳和窗體頁腳5個節(jié)組成,第105頁窗體的類型縱欄式窗體,在窗體界面中每次只顯示表或查詢中的一條記錄,可以占一個或多個屏幕頁,記錄中各字段縱向排列。表格式窗體,在窗體的一個畫面中顯示表或查詢中的全部記錄。記錄中的字段橫向排列,記錄縱向排列。每個字段的標簽都放在窗體頂部,做窗體頁眉。第106頁窗體的類型數(shù)據(jù)表窗體,從外觀上看與數(shù)據(jù)表和查詢顯示數(shù)據(jù)界面相同,主要作用是作為一個窗體的子窗體。主/子窗體,窗體中的窗體稱為子窗體,包含子窗體的窗體稱為主窗體。第107頁窗體的視圖窗體有4種視圖窗體視圖數(shù)據(jù)表視圖布局視圖設計視圖第108頁第109頁4.2 創(chuàng)建窗體創(chuàng)建窗體兩

32、類方法:使用向?qū)В汉唵?、快捷?chuàng)建窗體。人工方式:手動添加控件,建立控件與數(shù)據(jù)源之間的聯(lián)系。使用“自動創(chuàng)建窗體”打開數(shù)據(jù)庫,使用“窗體”按鈕創(chuàng)建窗體。創(chuàng)建“多個項目”窗體。創(chuàng)建“分割窗體”創(chuàng)建“數(shù)據(jù)表”窗體第110頁使用窗體向?qū)?chuàng)建窗體使用向?qū)?chuàng)建窗體,需要在創(chuàng)建過程中選擇數(shù)據(jù)源、選擇字段、設置窗體布局等。單擊“窗體向?qū)А泵畎粹o將通過向?qū)υ捒虻姆绞皆O計窗體,用戶可以通過選擇對話框中的各種選項來設計窗體。使用向?qū)Э梢苑奖?、快捷地?chuàng)建窗體。向?qū)⒁龑в脩敉瓿蓜?chuàng)建窗體的任務,并讓用戶在窗體上選擇所需要的字段、最合適的布局及窗體所具有的背景樣式等。第111頁利用“導航”命令按鈕創(chuàng)建窗體“導航”命令按

33、鈕用于創(chuàng)建導航窗體,即只包含導航控件的窗體。第112頁“其他窗體”命令按鈕創(chuàng)建窗體“其他窗體”命令按鈕又包括4個命令選項第113頁第114頁4.3 在設計視圖中創(chuàng)建窗體窗體設計窗口窗體的結構“窗體設計工具”選項卡控件的功能與分類“控件”是窗體上圖形化的對象,如文本框、復選框、滾動條或命令按鈕等,用于顯示數(shù)據(jù)和執(zhí)行操作。控件的功能控件的分類根據(jù)控件與數(shù)據(jù)源的關系,控件可以分為綁定型控件、未綁定型控件和計算型控件3種。第115頁控件的操作向窗體添加控件如下兩種自動添加通過在設計視圖中使用控件按鈕向窗體添加控件。第116頁4.4 控件的應用面向?qū)ο蟮幕靖拍铑愂蔷哂邢嗤瑢傩缘目陀^事物的抽象,比如汽車

34、類指的是具有汽車特征的車的統(tǒng)稱。對象是類的具體化, 比如具體的某一輛汽車是汽車類的一個實例。第117頁“屬性表”任務窗格,用鼠標右鍵單擊窗體或控件,并從打開的快捷菜單中選擇“屬性”命令。窗體的常用屬性控件的常用屬性第118頁窗體和控件的屬性窗體和控件的常用事件對窗體和控件設置事件屬性值是為該窗體或控件設定響應事件的操作流程,也就是為窗體或控件的事件處理方法編程。常用事件見表4-1第119頁控件應用舉例標簽和文本框控件復選框、選項按鈕和切換按鈕控件選項組控件列表框與組合框控件按鈕控件(命令按鈕)選項卡控件圖像控件第120頁控件應用舉例圖表控件第121頁第122頁4.5 本章小結 本章全面講述了窗

35、體的基本概念、組成、類型、視圖。首先,介紹了各種窗體的創(chuàng)建方法和過程。接下來,創(chuàng)建窗體的主要方法在設計視圖中創(chuàng)建窗體,以及窗體中的控件的功能與分類。之后,分別講述了控件的應用包括面向?qū)ο蟮幕靖拍睢⒋绑w和控件的屬性、窗體和控件的常用事件。最后,控件實例包括標簽和文本框控件、復選框、選項按鈕和切換按鈕控件、選項組控件、列表框與組合框控件等9種控件的使用方法。第123頁第5章 報表本章概述 本章的學習目標主要內(nèi)容第124頁本章概述在Access中,數(shù)據(jù)庫的打印工作通過報表對象來實現(xiàn),使用報表對象,用戶可以簡單、輕松地完成復雜的打印工作。精美且設計合理的報表能使數(shù)據(jù)清晰地呈現(xiàn)在紙質(zhì)介質(zhì)上,把用戶所要

36、傳達的匯總數(shù)據(jù)、統(tǒng)計與摘要信息讓人看來一目了然。第125頁本章的學習目標掌握Access報表的創(chuàng)建掌握報表中排序與分組的方法掌握報表中數(shù)值計算操作第126頁主要內(nèi)容5.1報表基礎知識5.2創(chuàng)建報表5.3創(chuàng)建主/子報表1第127頁5.1 報表基礎知識 報表是Access數(shù)據(jù)庫中的一個對象,它根據(jù)指定的規(guī)則打印輸出格式化的數(shù)據(jù)信息。熟悉Excel的用戶可能會把數(shù)據(jù)表視圖中的數(shù)據(jù)記錄或查詢結果直接打印輸出,但是這樣的的報表格式不美觀還不符合實際的要求。Access 2016中報表的制作方式有多種,使用這些方式能夠快速完成基本設計并打印報表。1第128頁5.1.1報表的視圖Access 2010提供的

37、報表視圖有4種,分別是報表視圖、打印視圖、布局視圖、設計視圖。(1)報表視圖用于在顯示器中顯示報表內(nèi)容,可以對報表中的記錄進行篩選、查找(2)打印視圖可以按不同的縮放比例對報表進行預覽,對頁面進行設置(3)布局視圖是Access 2010新增的一種視圖,可以在顯示數(shù)據(jù)的同時調(diào)整報表設計(4)設計視圖用于報表的創(chuàng)建和修改1第129頁5.1.2 報表的組成和類型1. 報表的組成報表通常由報表頁眉、頁腳、頁面頁眉、頁面頁腳、組頁眉、組頁腳及主體7個部分組成2.報表的類型(1)縱欄式報表:以垂直方式在每頁上顯示一條或多條記錄。(2)表格式報表:分組/匯總報表,類似于用行和列顯示數(shù)據(jù)的表格。 (3)圖表

38、式報表:一種用圖表的形式或透視表的形式的報表。(4)標簽報表:在每頁上以兩或三列的形式顯示多條記錄。1第130頁5.2 創(chuàng)建報表創(chuàng)建報表和創(chuàng)建窗體非常類似,都是使用控件來組織和顯示數(shù)據(jù)的,因此,在第4章中介紹過的創(chuàng)建窗體的許多技巧也適用于創(chuàng)建報表。一旦創(chuàng)建了一個報表,就可以在報表中添加控件、修改報表樣式等我們可以通過以下幾種方式來創(chuàng)建報表(1)自動創(chuàng)建報表(2)創(chuàng)建空報表(3)通過向?qū)?chuàng)建報表(4)通過標簽向?qū)?chuàng)建標簽報表(5)在設計視圖中創(chuàng)建報表1第131頁5.2.1自動創(chuàng)建報表【例5-1】在“學生成績管理系統(tǒng)”數(shù)據(jù)庫中使用“報表”創(chuàng)建“score”報表。(1)打開數(shù)據(jù)庫“學生成績管理系統(tǒng)”

39、,在“導航”窗口選定“score”(2)在“創(chuàng)建”選項卡“報表”組中選擇“報表”按鈕,如下圖1第132頁5.2.2創(chuàng)建空報表【例5-2】在“學生成績管理系統(tǒng)”數(shù)據(jù)庫中使用“空報表”創(chuàng)建“課程表”具體操作步驟如下:(1)打開數(shù)據(jù)庫“教學管理系統(tǒng)”,在“創(chuàng)建”選項卡中選擇“報表”組,單擊“空報表”,系統(tǒng)將自動創(chuàng)建一個空報表并以布局視圖顯示,同時打開“字段列表”窗口(2)在“字段列表”中選擇“course”表中的“課程名稱”、“學分”兩個字段拖動到布局視圖。注意:這種方式創(chuàng)建報表時“字段列表”可以將與該表關聯(lián)的表信息顯示出來,所以創(chuàng)建報表時可以將與該表相關聯(lián)的表字段信息拖動到視圖中顯示。1第133頁

40、5.2.3通過向?qū)?chuàng)建報表【例5-3】在“學生成績管理系統(tǒng)”數(shù)據(jù)庫中使用向?qū)?chuàng)建“學生成績表”報表,顯示內(nèi)容:姓名、課程名、成績。具體操作步驟如下:(1)打開“學生成績管理系統(tǒng)”數(shù)據(jù)庫,在“創(chuàng)建”選項卡的“報表”組中,單擊“報表向?qū)А卑粹o,系統(tǒng)會彈出“報表向?qū)А睂υ捒颉#?)在“報表向?qū)А睂υ捒蛑羞x取字段,我們從3個表依次選取字段, 單擊“下一步”按鈕,在彈出的對話框中確定查看數(shù)據(jù)的方式,單擊“下一步”按鈕,在彈出的對話框中確定是否添加分組級別,是否分組由用戶根據(jù)數(shù)據(jù)源中的記錄結構及報表的具體要求決定的,單擊“下一步”按鈕,在彈出的對話框中確定明細信息使用的排序次序和匯總信息,最多可以按4個字

41、段對記錄進行排序,注意,此排序是在分組的前提下進行的排序,單擊“下一步”按鈕,在彈出的對話框中確定報表的布局。注意,如果是單一數(shù)據(jù)源,那么布局形式的選擇是不同的(在單一數(shù)據(jù)源下。布局中顯示的是縱欄表、表格、兩端對齊)。還可以選擇是縱向打印還是橫向打印,在左邊預覽框中可以看到布局效果,單擊“下一步”按鈕,在彈出的對話框中確定確定報表標題。然后單擊“完成”按鈕,顯示報表的打印預覽效果。1第134頁5.2.4通過標簽向?qū)?chuàng)建標簽報表【例5-4】在“學生成績管理系統(tǒng)”數(shù)據(jù)庫中使用標簽向?qū)?chuàng)建學生情況標簽報表具體操作步驟如下:(1)打開“學生成績管理系統(tǒng)”數(shù)據(jù)庫,在“創(chuàng)建”選項卡的“報表”組中,單擊“標

42、簽”按鈕,系統(tǒng)會彈出“標簽向?qū)А睂υ捒?。?)確定標簽外觀屬性,通過列表框選擇系統(tǒng)提供的標簽型號、尺寸以及度量單位,用戶也可以自定義標簽尺寸。單擊“下一步”,打開“標簽字體和顏色設置”對話框,設定標簽文字字型、字號、顏色。(3)確定標簽顯示內(nèi)容:在列表框“原型標簽”中先輸入“學號:”,在列表框“可用字段”中選中“學號”列,點“ ”按鈕,將列表框中的字段加到右邊的原型標簽列表框中,打回車,“姓名”、“性別”、“畢業(yè)院校”這三個字段的添加方法與上同。(4)確定排序字段:將字段“學號”添加到排序依據(jù)中,確定標簽報表名稱,單擊“完成”按鈕。1第135頁5.2.5在設計視圖中創(chuàng)建報表1創(chuàng)建報表【例5-5

43、】在“學生成績管理系統(tǒng)”數(shù)據(jù)庫中使用報表設計創(chuàng)建學生信息報表。具體操作步驟如下:(1)打開“學生成績管理系統(tǒng)”數(shù)據(jù)庫,在“創(chuàng)建”選項卡的“報表”組中,單擊“報表設計”按鈕,系統(tǒng)會出現(xiàn)“報表設計”界面。(2)設置報表的標題為“學生信息表”,并在“屬性表”的數(shù)據(jù)選項卡中的記錄源右側(cè)的下拉列表中選擇表“student” 。(3)在報表頁眉節(jié)中添加一個標簽,標簽標題為“學生信息表”,頁面頁眉節(jié)中添加3個標簽,分別是“學號”、“姓名”、“畢業(yè)院?!?, (4)在主體節(jié)區(qū)添加文本框控件,并設置數(shù)據(jù)源,使之與頁面頁眉節(jié)區(qū)中的3個標簽對齊并與之相對應。(5)設計好后,我們可以選擇報表視圖查看效果,如果不合適,我

44、們可以再回到設計視圖中進行修改,包括字體大小、顏色以及報表布局等。1第136頁5.2.5在設計視圖中創(chuàng)建報表2報表排序與分組【例5-6】在“學生成績管理系統(tǒng)”數(shù)據(jù)庫中利用報表設計建立學生成績報表,并按課程編號分組,按學號升序排列具體操作步驟如下:(1)與【例5-5】的創(chuàng)建方法一樣,我們把報表創(chuàng)建好后,然后再進行分組。(2)排序與分組:在報表空白位置點鼠標右鍵,在出現(xiàn)的快捷菜單中選擇“排序和分組”,會在界面的下面出現(xiàn)一個“分組、排序和匯總”對話框,先點擊 按鈕,設置分組字段是“課程編號”,升序;后點擊 ,設置排序字段為“學號”,這時會在報表頁面中出現(xiàn)一個新的節(jié)“課程編號頁眉”,將主體節(jié)中名稱為“

45、課程編號”的文本框拖動到節(jié)“課程編號頁眉”,并排列各個對象,如下圖所示。1第137頁5.2.5在設計視圖中創(chuàng)建報表3報表計算【例5-7】利用“報表”創(chuàng)建“學生表”,根據(jù)學生“出生日期”計算學生年齡,并對記錄進行編號。具體操作步驟如下:(1)創(chuàng)建“學生表”報表。(2)編輯“出生日期”標簽及文本框控件:在“開始”選項卡選擇“視圖”組,單擊“視圖”中的“設計視圖”,將“頁面頁眉”中的“出生日期”標簽改為“年齡”。將“主體”節(jié)中的“出生日期”文本框去掉。(3)設置“年齡”文本框?qū)傩裕涸凇霸O計”選項卡“控件”組中選擇“文本框”按鈕,將文本框控件添加到“主體”節(jié),并將文本框的附加標簽去掉。點擊文本框右鍵屬

46、性,在打開的屬性表對話框的“控件來源”屬性中,輸入“=Year(Date()-Year(出生日期)”。(4)設置“編號”文本框?qū)傩裕涸凇霸O計”選項卡“控件”組中選擇“文本框”按鈕,將文本框拖動到“主體”節(jié)的最前面,選中文本框點右鍵,在出現(xiàn)的對話框中設置“控件來源”屬性為“=1”,設置“運行總和”屬性為“全部之上”。同時將文本框的附加標簽拖動到“頁面頁眉”中,并修改標簽內(nèi)容為“編號”。1第138頁5.3 創(chuàng)建主/子報表【例5-8】利用“報表設計”創(chuàng)建學生成績報表。具體操作步驟如下:(1)創(chuàng)建子報表:打開數(shù)據(jù)庫“學生成績管理系統(tǒng)”,先利用“報表向?qū)А苯⒆訄蟊?,命名為“成績子報表”。?)設計主報

47、表:在“創(chuàng)建”選項卡中選擇“報表”組,單擊“報表設計”按鈕,在新增的選項卡中選擇“設計”中的“工具”組,并點擊“添加現(xiàn)有字段”按鈕,在出現(xiàn)的“字段列表”窗口中選中“學生情況表”里的“學號”、“姓名”、“畢業(yè)院?!比齻€字段拖動到主體節(jié)區(qū)。(3)添加“子窗體/子報表”控件:在“設計”選項卡中選擇“控件”組里的“子窗體/子報表”控件。添加“子窗體/子報表”控件到主體節(jié)區(qū),在出現(xiàn)的“子報表向?qū)А敝羞x中“成績子報表” ,按“下一步”完成子報表的添加。第139頁第6章 宏本章概述 本章的學習目標主要內(nèi)容第140頁本章概述在Access中,經(jīng)常要重復進行某一項工作,這將會浪費時間而且不能夠保證所完成工作的一

48、致性。此時,利用宏來完成這些重復的工作是最好的選擇。宏是由一個或多個操作命令組成的集合,其中每個操作執(zhí)行特定的功能。例如,排序、查詢和打印操作等??梢酝ㄟ^創(chuàng)建宏來自動執(zhí)行一項重復的或者十分復雜的任務,或執(zhí)行一系列復雜的任務。本章將介紹宏的特點和使用方法。第141頁本章的學習目標理解宏的概念和功能掌握創(chuàng)建宏方法掌握宏的使用方法掌握在其他對象中引用宏第142頁主要內(nèi)容6.1 宏的概述6.2 常用的宏操作命令和參數(shù)設置6.3 創(chuàng)建宏6.3.1 操作序列宏6.3.2 宏組6.3.3 條件宏6.4 宏的運行和調(diào)試6.1 宏的概述6.1 宏的概述 在Access中,經(jīng)常要重復進行某一項工作,這將會浪費時間

49、而且不能夠保證所完成工作的一致性。此時,利用宏來完成這些重復的工作是最好的選擇。6.1宏的概述為了確保表數(shù)據(jù)的準確性,在Access 2016中可以使用數(shù)據(jù)宏。有兩種主要的數(shù)據(jù)宏類型:一種是由表事件觸發(fā)的數(shù)據(jù)宏(也稱事件驅(qū)動的宏);另一種是使用“表格工具”的“表”選項卡中的“已命名的宏”按鈕創(chuàng)建的數(shù)據(jù)宏。第144頁6.1宏的概述與查詢、窗體類似,一般利用宏的設計窗口去創(chuàng)建一個宏,在宏的設計窗口中需要詳細地設置添加的操作命令和操作命令的參數(shù)區(qū)域。在參數(shù)區(qū)域的左側(cè)設置相關的操作命令參數(shù),在參數(shù)區(qū)域的右側(cè)顯示相應操作命令參數(shù)的提示信息,如圖所示。6.1 宏的概述進入宏的設計窗口后,Access的功能

50、區(qū)中會出現(xiàn)一個“宏工具”的“設計”選項卡。在宏設計工具欄中,有一些與宏操作相關的工具按鈕,如下圖。6.2 常用的宏操作命令和參數(shù)設置在Access中提供了50多個宏操作命令,要熟練地使用宏對象,必須掌握一些常用的操作命令以及它們對應的參數(shù)設置信息。第147頁6.2 常用的宏操作命令和參數(shù)設置常用的宏操作命令1. 打開、保存或關閉數(shù)據(jù)庫對象2. 運行和控制流程3. 設置值4. 記錄操作5. 控制窗口6. 通知或警告7. 菜單操作8. 導入和導出數(shù)據(jù)第148頁6.2 常用的宏操作命令和參數(shù)設置在宏中添加某個操作命令之后,可以在宏設計窗口的下部設置這個操作命令的相關參數(shù)。設置說明如下。第149頁6.

51、3 創(chuàng)建宏創(chuàng)建操作序列宏創(chuàng)建宏組創(chuàng)建條件宏第150頁6.3 操作序列宏創(chuàng)建一個宏,將宏命名為Mymacro,宏中包含兩個操作命令,分別是MessageBox和OpenTable,這個宏的作用是彈出一個提示對話框,提示“打開學生成績表”,關閉對話框后將打開“學生成績表”。設計窗口如下:6.3 宏組創(chuàng)建一個宏組,宏組名為Mymacrogroup,其中包含Macro1和Macro2兩個宏。Macro1和Macro2分別包含“OpenTable”“MessageBox”和“Close”3個操作命令,分別用于打開“學生信息表”和“學生成績表”。設計窗口如下:6.3 條件宏創(chuàng)建一個條件宏:ConMacro

52、,其中包含1個條件IsNull (學號),當“學生信息表”窗體中的“學號”字段綁定的文本框“失去焦點”時,執(zhí)行該宏。當條件為“真”時,執(zhí)行宏中的MessageBox操作命令,提示“學號字段不能為空! ”。6.4 宏的運行和調(diào)試1. 直接運行宏2. 運行宏組中的宏3. 在窗體、報表或控件的響應事件中運行宏或事件4. 在VBA中運行宏第154頁6.4 宏的運行和調(diào)試單步方式運行ConMacro宏的操作步驟如下:(1) 在設計視圖中打開ConMacro宏。(2) 在“宏工具”的“設計”中單擊“工具”組中的“單步”按鈕,使其處于按下狀態(tài)。(3) 單擊“工具”組中的“運行”按鈕,屏幕顯示“單步執(zhí)行宏”對

53、話框。(4) 單擊“單步執(zhí)行”按鈕,以執(zhí)行其中的操作。(5) 單擊“停止所有宏”按鈕,停止宏的執(zhí)行并關閉對話框。6.4 宏的運行和調(diào)試(6) 單擊“繼續(xù)”按鈕,執(zhí)行宏的下一個操作命令。在單步執(zhí)行宏時,對話框中列出了每一步所執(zhí)行的宏操作命令“條件”是否成立以及操作命令名稱和操作命令參數(shù)。由此可以得知宏的操作命令是否按預期執(zhí)行。如果宏的操作命令有誤,則會顯示“操作失敗”對話框,如圖所示。第156頁第157頁第7章模塊與VBA 程序設計基礎本章概述 本章的學習目標主要內(nèi)容第158頁本章概述在Access中,用特定的計算機語言編寫的語句塊由模塊對象組織在一起成為一個整體,利用模塊可以將各個數(shù)據(jù)庫對象連

54、接起來,構成一個完整的數(shù)據(jù)庫應用系統(tǒng)。通過窗體可以方便地輸人數(shù)據(jù),編輯數(shù)據(jù),查詢、排序、篩選和顯示數(shù)據(jù)。Access利用窗體將整個數(shù)據(jù)庫組織起來,從而構成完整的應用系統(tǒng)。本章將介紹模塊與VBA程序設計。第159頁本章的學習目標理解模塊的基本概念掌握模塊的創(chuàng)建方法掌握VBA程序設計基礎掌握VBA程序設計知識第160頁主要內(nèi)容4.1 模塊的基本概念4.2 模塊的創(chuàng)建4.3 VBA程序設計基礎4.4 VBA程序設計知識第161頁7.1模塊的基本概念模塊是Access 2016數(shù)據(jù)庫中的一個重要對象,模塊是用VBA語言編寫的聲明和過程的集合。一個模塊可能含有一個或多個過程,其中每個過程都是一個函數(shù)過程

55、或者子程序。過程是包含VBA代碼,即語句的程序塊,用以完成特定的任務。模塊可以分為兩種基本類型:類模塊和標準模塊。類模塊,類模塊是可以定義新對象的模塊。標準模塊,標準模塊一般用于存放供其他Access數(shù)據(jù)庫對象使用的公用過程。第162頁7.2 模塊的創(chuàng)建模塊是VBA代碼的容器。在窗體或報表的設計視圖里都可以創(chuàng)建模塊。創(chuàng)建模塊的方法如下:單擊“創(chuàng)建”選項卡中“宏與代碼”的“模塊”按鈕或“Visual Basic”按鈕在窗體或報表的設計視圖下,單擊“窗體設計工具”選項卡中“工具”組的“查看代碼”按鈕查看模塊代碼宏和模塊之間的相互轉(zhuǎn)換如果應用程序需要使用VBA模塊,則可以將已經(jīng)存在的宏轉(zhuǎn)換VBA模塊

56、的代碼。代碼也可以轉(zhuǎn)換成宏,但不是所有代碼都能轉(zhuǎn)換成宏。第163頁7.3 VBA程序設計基礎Access 2016提供了VBA編程功能,可以滿足有經(jīng)驗的編程人員的需求。Visual指的是開發(fā)圖形用戶界面(GUI)的方法。Basic指的BASIC語言第164頁面向?qū)ο蟪绦蛟O計的基本概念類是具有相同特征的現(xiàn)實世界事物的抽象和概括,是面向?qū)ο蟪绦蛟O計的基礎。對象是現(xiàn)實世界具有相同特征事物的具體表現(xiàn)。如一個學生或一臺計算機等。類的特征部分稱為數(shù)據(jù)成員或?qū)傩裕惖牟僮鞑糠址Q為成員函數(shù),有時也稱為方法。如學生的學號、姓名等。第165頁面向?qū)ο蟪绦蛟O計的基本概念屬性和方法描述了對象的特征和行為。其引用方式分

57、別為:對象.屬性、對象.行為。例如,Caption屬性表示“標簽”控件對象的標題屬性,Reports.Item(0)表示報表集合中的第一個報表對象。例如,利用DoCmd對象的OpenReport方法打開報表“教師信息”的語句格式為: DoCmd.OpenReport “教師信息”第166頁面向?qū)ο蟪绦蛟O計的基本概念事件和事件過程:事件是Access窗體、報表及其上的控件等對象是施加的動作,如單擊鼠標、打開窗體或報表等。Access窗體、報表和控件的事件有很多,一些主要對象與事件參見表7-1第167頁第168頁7.4 VBA基礎知識 數(shù)據(jù)類型常量變量數(shù)組內(nèi)部函數(shù)(系統(tǒng)函數(shù))表達式VBA程序流程控

58、制VBA過程與參數(shù)傳遞變量和過程的作用域VBA基礎知識標準數(shù)據(jù)類型,VBA使用類型說明字符或類型符號來定義數(shù)據(jù)類型,見表7-2。用戶自定義數(shù)據(jù)類型,Visual Basic允許用戶使用已有的基本數(shù)據(jù)類型并根據(jù)需要自定義復合數(shù)據(jù)類型。第169頁VBA基礎知識常量在程序運行過程中其值保持不變。常量在聲明之后,不能加以更改或賦予新值。常量可以分為系統(tǒng)常量和符號常量。系統(tǒng)常量是在Access啟動時就建立的常量,如True. False. Yes, No, Null等。系統(tǒng)常量可以直接使用。例如: Const PI = 3.1415926第170頁VBA基礎知識變量在程序運行過程中其值可以改變。每個變量

59、都有一個名字。變量的名字必須按照以下原則命名:最長只能有255個字符。必須用字母或漢字開頭,其它可以包含字母、數(shù)字或下劃線字符。比如:3s、#num、s*123、_s123是非法的。第171頁VBA基礎知識不能是Visual Basic的保留字,不能與函數(shù)過程、語句以及方法同名。比如const、integer、rem、dim是非法的。變量名在同一作用域內(nèi)不能相同。變量的聲明就是定義變量名稱及類型,系統(tǒng)會為變量分配存儲空間。 聲明一個變量用Dim語句,語法格式如下: Public|private Dim 變量名As數(shù)據(jù)類型第172頁第173頁VBA基礎知識在默認情況下,VBA允許在代碼中使用未聲

60、明的變量。如果不希望在代碼中使用未聲明的變量,即所有的變量都要先聲明再使用加入語句,Option Explicit強制聲明VBA基礎知識聲明了變量后,變量就指向了內(nèi)存中的某個單元。接下來就可以使用了。變量的賦值。語句格式如下。變量名 = 表達式例如:Dim x As Integer X = 3 X = X + 2第174頁VBA基礎知識變量的初始值變量聲明好以后,在使用賦值語句賦值之前,系統(tǒng)會自動為該變量賦一個初始值所有數(shù)值型變量的初始值均為0,字符型變量的初始值為空字符串,布爾型變量的初始值為False第175頁VBA基礎知識數(shù)組是具有相同數(shù)據(jù)類型的元素的集合,數(shù)組中各元素有先后順序,它們在

溫馨提示

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

評論

0/150

提交評論