Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 衛(wèi)琳 第5-10章 模塊與VBA -數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例_第1頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 衛(wèi)琳 第5-10章 模塊與VBA -數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例_第2頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 衛(wèi)琳 第5-10章 模塊與VBA -數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例_第3頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 衛(wèi)琳 第5-10章 模塊與VBA -數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例_第4頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 衛(wèi)琳 第5-10章 模塊與VBA -數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例_第5頁
已閱讀5頁,還剩243頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章模塊與VBA教學(xué)目標(biāo)通過本章的學(xué)習(xí)讀者應(yīng)該掌握基本的VBA編程環(huán)境,能夠獨(dú)立進(jìn)行簡單的VBA程序設(shè)計。教學(xué)重點(diǎn)掌握VBA程序設(shè)計基礎(chǔ)掌握程序流程控制的知識掌握模塊、函數(shù)和子程序的知識理解面向?qū)ο蟮某绦蛟O(shè)計的知識掌握VBA開發(fā)環(huán)境理解VBA代碼的保護(hù)措施教學(xué)過程VBA程序設(shè)計基礎(chǔ)程序流程控制模塊、函數(shù)和子程序面向?qū)ο蟮某绦蛟O(shè)計VBA開發(fā)環(huán)境VBA代碼的保護(hù)5.1模塊的基本操作5.1.1什么是VBA5.1.2模塊的分類5.1.3創(chuàng)建模塊5.1.1什么是VBA

VB(VisualBasic)是一種面向?qū)ο蟮某绦蛟O(shè)計語言,Microsoft公司將其引入到了其他常用的應(yīng)用程序中。在Office的成員Word、Excel、PowerPoint、Access和OutLook中,這種內(nèi)置在應(yīng)用程序中的VisualBasic版本稱之為VBA。1.宏和VBA2.宏轉(zhuǎn)換為VBA3.VBA常用術(shù)語5.1.2模塊的分類1.標(biāo)準(zhǔn)模塊2.類模塊3.標(biāo)準(zhǔn)模塊和類模塊的區(qū)別(1)存儲數(shù)據(jù)的方法不同。標(biāo)準(zhǔn)模塊中公共變量的值改變后,后面的代碼調(diào)用該變量時將得到改變后的值。(2)標(biāo)準(zhǔn)模塊中的數(shù)據(jù)存在于程序的存活期中,將在程序的作用域內(nèi)存在。(3)標(biāo)準(zhǔn)模塊中的public變量在程序的任何地方都是可用的,類模塊中的public變量只能在引用該類模塊的實(shí)例對象時才能被訪問。5.1.3創(chuàng)建模塊1.創(chuàng)建模塊【例5-1】創(chuàng)建一個簡單的HelloWorld程序。(1)啟動Access2021,打開School.accdb數(shù)據(jù)庫。(2)切換到功能區(qū)的“創(chuàng)建”選項(xiàng)卡,單擊“宏與代碼”組中的“模塊”命令,系統(tǒng)將默認(rèn)創(chuàng)建一個新模塊,并打開MicrosoftVisualBasicforApplications編輯器,如圖5-2所示。如果想再創(chuàng)建一個模塊,只需在圖5-2所示的VBA編輯器中選擇“插入”|“模塊”命令,Access2021將自動新建一個模塊定義窗口。(3)在VBA編輯器的代碼窗口中OptionCompareDatabase代碼的下方輸入如下代碼。SubHelloWorld()MsgBoxprompt:="HelloWorld,我是趙智暄,和我一起學(xué)習(xí)Access2021吧!"EndSub2.運(yùn)行模塊運(yùn)行模塊的方法很簡單,只需在VBA編輯器中按F5鍵,或者單擊工具欄中的“運(yùn)行子過程/用戶窗體”按鈕,打開“宏”對話框,在“宏”對話框中選擇要運(yùn)行的過程,單擊“運(yùn)行”按鈕即可。5.2VBA程序設(shè)計基礎(chǔ)常量、變量和數(shù)組數(shù)據(jù)類型:

布爾型(Boolean)、日期型(Date)、字符串(String)、貨幣型(Currency)、字節(jié)型(Byte)、整數(shù)型(Integer)、長整型(Long)、單精數(shù)型(Single)、雙精數(shù)型(Double)以及變體型(Variant)和用戶自定義型。在VBA代碼編程環(huán)境中通過“Dimas”語句來定義數(shù)據(jù)類型。5.2.1VBA編程環(huán)境1.VBE工具欄2.代碼窗口3.對象瀏覽器4.工程資源管理器5.屬性窗口6.立即窗口、本地窗口和監(jiān)視窗口。5.2.2數(shù)據(jù)類型程序設(shè)計最強(qiáng)大的概念之一就是變量。變量是為特定值提供的一個臨時存儲位置,并且會為其提供相應(yīng)的名稱。聲明變量時需要指定一種數(shù)據(jù)類型,所以在學(xué)習(xí)變量之前,首先需要了解一下VBA的數(shù)據(jù)類型。數(shù)據(jù)類型決定系統(tǒng)使用的數(shù)據(jù)格式。在VBA中,數(shù)據(jù)類型包括:布爾型(Boolean)、日期型(Date)、字符串(String)、貨幣型(Currency)、字節(jié)型(Byte)、整數(shù)型(Integer)、長整型(Long)、單精數(shù)型(Single)、雙精數(shù)型(Double)以及變體型(Variant)和用戶自定義型等。5.2.3常量、變量和數(shù)組1.標(biāo)識符命名規(guī)則2.常量3.變量4.變量的作用域和生命周期5.數(shù)組5.2.4運(yùn)算符和表達(dá)式1.算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.比較運(yùn)算符和比較表達(dá)式3.字符串連接運(yùn)算符和字符串表達(dá)式4.邏輯運(yùn)算符和邏輯表達(dá)式5.對象運(yùn)算符與對象表達(dá)式6.運(yùn)算符的優(yōu)先順序5.2.5VBA常用語句1.語句的書寫規(guī)則2.聲明語句3.賦值語句4.注釋語句5.2.6面向?qū)ο蟪绦蛟O(shè)計概述1.類和對象2.屬性3.方法4.事件5.事件過程對象對象是為了管理數(shù)據(jù)和代碼的方便而提出的。在VBA中,對象是封裝數(shù)據(jù)和相應(yīng)代碼的客體,它是代碼和數(shù)據(jù)的組合。對象具有屬性、方法和事件。屬性是一個對象的特征,它定義了對象的大小,顏色、位置等特征,可以通過修改對象的屬性值來修改對象的特征。方法指的是對象能執(zhí)行的動作,通過這個動作能實(shí)現(xiàn)相應(yīng)的功能或改變對象的屬性,如FindRecord”是對象DoCmd的一個方法,調(diào)用這個方法可以找到符合條件的記錄。事件是一個對象可以探知的動作,如鼠標(biāo)的單擊或雙擊,控件的移動等,事件過程針對被觸發(fā)的事件作出響應(yīng),執(zhí)行相應(yīng)的功能。屬性和方法在代碼、宏或表達(dá)式中,一般通過輸入其標(biāo)識符來引用相應(yīng)已開啟的對象或?qū)傩?,可以通過以下幾種方式引用對象及屬性:

(1)引用已被打開的窗體或報表

(2)引用相應(yīng)的子窗體和子報表

(3)引用控件或?qū)傩灾?/p>

(4)引用窗體節(jié)、報表節(jié)或報表的組級別

(5)引用列表中的列

5.3VBA的流程控制結(jié)構(gòu)

5.3.1順序語句5.3.2分支結(jié)構(gòu)If語句SelectCase語句5.3.3循環(huán)結(jié)構(gòu)Do…Loop語句For…Next語句While…Wend語句5.3.4跳轉(zhuǎn)語句GoTo語句5.3.5Exit語句5.4數(shù)組與過程

5.4.1過程與函數(shù)5.4.2過程調(diào)用5.4.3常用函數(shù)5.4.4程序調(diào)試5.4.5VBA程序中的錯誤處理5.4.6VBA代碼的保護(hù)5.4.1過程與函數(shù)過程的表示方法為Sub。過程能在響應(yīng)相應(yīng)的事件并執(zhí)行其中的代碼,可以簡化程序設(shè)計任務(wù)。過程的語法結(jié)構(gòu)為:Sub過程名稱()變量聲名基本語句EndSub5.4.1過程與函數(shù)函數(shù)不僅能執(zhí)行一定的命令,還能根據(jù)參數(shù)計算出對程序有用的數(shù)值并且可以在表達(dá)式中引用。函數(shù)的語法結(jié)構(gòu)如下:

Function函數(shù)名稱()As數(shù)據(jù)類型

變量聲明

基本語句

函數(shù)名稱=表達(dá)式?

EndFunctionVBA開發(fā)環(huán)境進(jìn)入VBAVBA調(diào)試環(huán)境程序的調(diào)試進(jìn)入VBA當(dāng)我們選中一個需要編寫代碼的控件,并準(zhǔn)備為其對某一事件的響應(yīng)方法編寫VBA代碼時,就應(yīng)該啟動VBA的編成環(huán)境對VBA代碼編輯操作。Access提供了多種方法啟動VBA編程環(huán)境,包括如下方式:按Alt+F11組合鍵在數(shù)據(jù)庫窗口中選擇“工具”|“宏”|“VisualBasic編輯器”命令單擊數(shù)據(jù)庫窗口中的“模塊”按鈕,然后單擊“新建”按鈕,或雙擊要查看或編輯的模塊VBA調(diào)試環(huán)境在MicrosoftAccess中調(diào)試VBA代碼的工具是“VisualBasic編輯器”。VisualBasic編輯器的主要功能是建立和管理VBA項(xiàng)目。該軟件的界面如下圖所示。在打開的VisualBasic編輯器中,默認(rèn)情況下只包含代碼窗口。如果有特殊的需要,可以通過“視圖”菜單打開項(xiàng)目資源管理器、屬性窗口、本地窗口、立即窗口、監(jiān)視窗口等窗口。這些工具為代碼的設(shè)計和調(diào)試提供了方便。程序的調(diào)試逐步調(diào)試監(jiān)視代碼的運(yùn)行5.4.6VBA代碼的保護(hù)通過密碼保護(hù)VisualBasic代碼創(chuàng)建一個MDE文件通過密碼保護(hù)VisualBasic代碼可以通過對VBA設(shè)置密碼防止其他非法用戶查看或編輯數(shù)據(jù)庫中的程序代碼。方法如下:(1)首先,進(jìn)入“VisualBasic編輯器”環(huán)境。打開需要保護(hù)的VBA代碼的MicrosoftAccess項(xiàng)目(.adp)文件或MicrosoftAccess數(shù)據(jù)庫(.mdb)文件。在數(shù)據(jù)庫窗口中,選擇“工具”|“宏”|“VisualBasic編輯器”命令,進(jìn)入VBA編輯環(huán)境。(2)在“VisualBasic編輯器”中,選擇“工具”|“<Access數(shù)據(jù)庫或Access項(xiàng)目名>屬性”命令。(3)在“保護(hù)”選項(xiàng)卡中,選中“查看時鎖定項(xiàng)目”復(fù)選框。如果設(shè)置了密碼,但沒有選中“查看時鎖定項(xiàng)目”,則任何人都可以查看和編輯代碼,但“項(xiàng)目屬性”對話框是被保護(hù)的。(4)在“密碼”框中輸入密碼,在“確認(rèn)密碼”框中,再次輸入密碼以進(jìn)行確認(rèn),然后單擊“確定”按鈕即可。創(chuàng)建一個MDE文件生成MDE文件的步驟如下:

(1)關(guān)閉MicrosoftAccess數(shù)據(jù)庫。如果在多用戶環(huán)境中工作,確認(rèn)其他所有用戶已關(guān)閉Access數(shù)據(jù)庫。

(2)選擇“工具”|“數(shù)據(jù)庫實(shí)用工具”|“生成MDE文件”命令,打開“保存數(shù)據(jù)庫為MDE”對話框。

(3)在“保存數(shù)據(jù)庫為MDE”對話框中,指定要保存為MDE文件的Access數(shù)據(jù)庫,然后單擊“生成”按鈕。

(4)在“將MDE保存為”對話框中,為Access數(shù)據(jù)庫指定名稱、驅(qū)動器和文件夾后,單擊“保存”按鈕即可。

5.5本章小結(jié)模塊是Access的第六大對象。本章主要介紹了模塊和VBA的相關(guān)知識。首先介紹的是模塊與VBA的基本概念和分類,以及如何創(chuàng)建模塊;然后介紹VBA程序設(shè)計的基礎(chǔ)知識,包括VBA編程環(huán)境、數(shù)據(jù)類型、常量與變量的定義、運(yùn)算符和表達(dá)式、以及面向?qū)ο蟮某绦蛟O(shè)計思想;接下來繼續(xù)深入學(xué)習(xí),介紹了VBA的流程控制語句,包括順序語句、選擇語句、循環(huán)語句和跳轉(zhuǎn)語句;最后介紹了VBA高級程序設(shè)計,包括過程和函數(shù)的調(diào)用、程序調(diào)試與錯誤處理,以及VBA代碼的保護(hù)。5.6思考和練習(xí)1.什么是VBA?2.模塊的類型有哪些?與VBA有何關(guān)聯(lián)?3.VBA中,主要的流程控制語句有哪些?4.什么是過程?什么是函數(shù)?過程和函數(shù)有什么不同?5.以下聲明語句聲明的變量var1是什么類型的?()DimvarAsInteger,var1,var2AsStringA.

Integer B.

String C.未知 D.Variant6.以下運(yùn)算符不是邏輯運(yùn)算符的是()。A.

And B.

&

C.

Or

D.

NotThankYou!第6章窗體主要內(nèi)容6.4創(chuàng)建主/子窗體

6.3設(shè)計窗體6.2創(chuàng)建窗體

6.1窗體概述學(xué)習(xí)目標(biāo)

窗體是人機(jī)交互的界面。通過窗體可以將數(shù)據(jù)庫對象組織起來形成一個應(yīng)用系統(tǒng),方便用戶輸入、編輯、查詢、排序、篩選和顯示數(shù)據(jù)。本章主要介紹創(chuàng)建各種窗體的方法、窗體的屬性設(shè)置、窗體控件應(yīng)用,以及修飾窗體等操作。本章重點(diǎn)

創(chuàng)建窗體修飾窗體添加窗體控件使用切換面板6.1窗體的概述窗體主要用于輸入和顯示數(shù)據(jù)的數(shù)據(jù)庫對象。也可以將窗體用作切換面板來打開數(shù)據(jù)庫中的其他窗體和報表,或者用作自定義對話框來接收用戶的輸入及根據(jù)輸入執(zhí)行操作。多數(shù)窗體都與數(shù)據(jù)庫中的一個或多個表和查詢綁定。窗體的記錄源來源于數(shù)據(jù)表和查詢中的某個指定的字段或所有字段。在窗體中,可以顯示標(biāo)題、日期、頁碼、圖形和文本等元素,還可以顯示來自報表中表達(dá)式的計算結(jié)果。6.1窗體概述

窗體主要用于創(chuàng)建用戶界面,它本身沒有存儲數(shù)據(jù)的功能,但是窗體中包含各種控件,通過這些控件可以打開報表或其他窗體、執(zhí)行宏或VBA編寫的代碼程序、可以方便地編輯和顯示數(shù)據(jù)。窗體都是建立在表或查詢基礎(chǔ)上的。窗體的功能窗體的類型

窗體的構(gòu)成

窗體的設(shè)計視圖中主要包含3類對象:節(jié)、窗體和控件。窗體由5個部分構(gòu)成,每一部分稱為一個節(jié)。6.1.1窗體的功能

利用窗體,可以將Access2021數(shù)據(jù)庫組織起來,構(gòu)成一個完整的應(yīng)用系統(tǒng)??偟膩碚f,窗體具有以下幾種功能:數(shù)據(jù)的顯示與編輯數(shù)據(jù)輸入應(yīng)用程序流程控制通過窗體的控件,可以在窗體及其數(shù)據(jù)源對象之間創(chuàng)建鏈接信息顯示和數(shù)據(jù)打印1.按功能分類根據(jù)功能的不同,可以將窗體分成:數(shù)據(jù)操作窗體:用來對表或者查詢包含的數(shù)據(jù)進(jìn)行顯示、瀏覽以及修改等操作的窗體;控制窗體:用來控制程序運(yùn)行的窗體,它一般使用很多空間來完成用戶的操作請求;信息顯示窗體:一般可作為控制窗體的調(diào)用對象,它以數(shù)值或者圖表的形式顯示信息;信息交互窗體:用來給用戶提示信息或者警告信息的窗體,一般是在系統(tǒng)設(shè)計過程中預(yù)先編寫好的。6.1.2窗體的類型6.1.2窗體的類型1.按數(shù)據(jù)源個數(shù)分類窗體的來源可以是數(shù)據(jù)表,其個數(shù)也沒有限定。因此根據(jù)數(shù)據(jù)源的個數(shù),窗體可以分為基于單表的窗體以及基于多表的窗體。2.按顯示方式分類窗體可以實(shí)現(xiàn)表對象、查詢對象中數(shù)據(jù)的瀏覽、顯示功能。根據(jù)顯示數(shù)據(jù)記錄的個數(shù),可以分為簡單窗體和多個項(xiàng)目窗體。簡單窗體中每一次只能顯示一條記錄的有關(guān)數(shù)據(jù),而多個項(xiàng)目窗體可以根據(jù)需要將全部的記錄顯示出來。3.按選項(xiàng)卡個數(shù)分類按照選項(xiàng)卡的個數(shù),可以將窗體分為單選項(xiàng)卡窗體和多選項(xiàng)卡窗體。6.2創(chuàng)建窗體

在Access中,提供了4種創(chuàng)建窗體的方法:自動創(chuàng)建窗體、使用窗體向?qū)?chuàng)建窗體、使用空白窗體工具創(chuàng)建窗體和使用設(shè)計視圖創(chuàng)建窗體。自動創(chuàng)建窗體和使用窗體向?qū)?chuàng)建窗體都是根據(jù)系統(tǒng)的引導(dǎo)完成創(chuàng)建窗體的過程,使用設(shè)計視圖創(chuàng)建窗體則根據(jù)用戶的需要自行設(shè)計窗體,這需要用戶掌握面向?qū)ο蟪绦蛟O(shè)計的相關(guān)知識。本節(jié)將全面地介紹使用各種方法創(chuàng)建各種類型的窗體。

自動創(chuàng)建窗體使用窗體向?qū)?chuàng)建

使用空白窗體工具創(chuàng)建使用設(shè)計視圖創(chuàng)建6.2.1自動創(chuàng)建窗體

Access2021提供了很多智能化的自動創(chuàng)建窗體的方法,在【創(chuàng)建】選項(xiàng)卡的【窗體】組中,單擊窗體工具按鈕,即可創(chuàng)建窗體。6.2.2使用窗體向?qū)?/p>

使用窗體向?qū)б部梢詣?chuàng)建窗體,按照向?qū)崾具M(jìn)行選擇,最后完成窗體的初步創(chuàng)建。如果用戶需要調(diào)整窗體對象的控件布局,只需在設(shè)計視圖中進(jìn)行修改。

6.2.3使用空白窗體工具

如果窗體構(gòu)建工具或窗體向?qū)Р环蟿?chuàng)建窗體的需要,可以使用空白窗體工具構(gòu)建窗體。當(dāng)計劃在窗體上放置很少幾個字段時,這是一種快捷的窗體構(gòu)建方式。6.2.4使用設(shè)計視圖

很多情況下,使用向?qū)Щ蛘咂渌椒▌?chuàng)建的窗體只能滿足一般的需要,不能滿足創(chuàng)建復(fù)雜窗體的需要。如果要設(shè)計靈活復(fù)雜的窗體,需要使用設(shè)計視圖創(chuàng)建窗體,或者使用向?qū)Ъ捌渌椒▌?chuàng)建窗體,完成后在窗體設(shè)計視圖中進(jìn)行修改。6.3設(shè)計窗體6.3.1窗體的設(shè)計視圖6.3.2“窗體設(shè)計工具”功能區(qū)選項(xiàng)卡6.3.3“屬性表”窗口6.3.4使用控件6.3.5編輯控件6.3.6創(chuàng)建彈出式窗體6.3.1窗體的設(shè)計視圖主體:主要用于顯示數(shù)據(jù)記錄,可以在屏幕或頁面上顯示一條記錄,也可以根據(jù)屏幕和頁面的大小顯示多條記錄。窗體頁眉:窗體頁眉中顯示的信息對每條記錄而言都是一樣的,如顯示窗體的標(biāo)題。在“窗體視圖”中,窗體頁眉出現(xiàn)在屏幕的頂部,而在打印窗體時,窗體頁面出現(xiàn)在第一頁的頂部。頁面頁眉:在每張要打印頁的頂部,主要顯示標(biāo)題或列標(biāo)題等信息,頁面頁眉只出現(xiàn)在打印的窗體中。頁面頁腳:在每張打印頁的底部顯示日期或頁面等信息。頁面頁腳只出現(xiàn)在打印的窗體中。窗體頁腳:其顯示的信息對每條記錄都是一樣的,其中包括命令按鈕或窗體的使用說明等。6.3.1窗體設(shè)計視圖

很多情況下,使用向?qū)Щ蛘咂渌椒▌?chuàng)建的窗體只能滿足一般的需要,不能滿足創(chuàng)建復(fù)雜窗體的需要。如果要設(shè)計靈活復(fù)雜的窗體,需要使用設(shè)計視圖創(chuàng)建窗體,或者使用向?qū)Ъ捌渌椒▌?chuàng)建窗體,完成后在窗體設(shè)計視圖中進(jìn)行修改。6.3.2“窗體設(shè)計工具”功能區(qū)選項(xiàng)卡1.“設(shè)計”選項(xiàng)卡2.

“排列”選項(xiàng)卡3.

“格式”選項(xiàng)卡6.3.3“屬性表”窗口6.3.3“屬性表”窗口“屬性表”窗口包含5個選項(xiàng)卡,分別是“格式”、“數(shù)據(jù)”、“事件”、“其他”和“全部”選項(xiàng)卡。格式:包含了窗體或控件的外觀屬性,這些屬性確定標(biāo)簽或值的顯示形式,其中包括字體、大小、顏色、特殊效果、邊框以及滾動條等。數(shù)據(jù):包含了與數(shù)據(jù)源、數(shù)據(jù)操作相關(guān)的屬性,這些屬性影響值的顯示形式及其所綁定的數(shù)據(jù)源,其中包括控件來源、輸入掩碼、驗(yàn)證、默認(rèn)值以及其他數(shù)據(jù)類型屬性等。事件:事件屬性是命名事件,包含了窗體或當(dāng)前控件能夠響應(yīng)的事件,例如單擊鼠標(biāo)按鈕、添加記錄、按某個鍵(可以為其定義響應(yīng),通過宏或VBA過程調(diào)用的形式)等。其他:其他屬性顯示控件的其他特征,例如控件的名稱或顯示在狀態(tài)欄中的說明。全部:可以查看某個控件的所有屬性。6.3.4使用窗體控件

如果要創(chuàng)建滿個性化的窗體,需要在設(shè)計視圖中自行添加使用窗體控件。控件是構(gòu)成窗體的基本元素,在窗體中對數(shù)據(jù)的操作都是通過控件實(shí)現(xiàn)。使用控件對窗體布局進(jìn)行設(shè)計,體現(xiàn)出窗體對象操作靈活、界面美觀等特點(diǎn),更好地實(shí)現(xiàn)人機(jī)交互的功能??丶母攀龃绑w和控件的屬性使用組合框控件使用列表框控件使用復(fù)選框控件使用選項(xiàng)卡控件設(shè)置控件格式設(shè)置窗體和節(jié)1控件的概述

控件分為綁定型、未綁定型和計算型3種類型。在【控件】選項(xiàng)組中可以添加控件并設(shè)置其屬性。2窗體和控件的屬性

窗體及窗體中每一個控件都具有各自的屬性,這些屬性決定了窗體和控件的外觀、包含的數(shù)據(jù)及對外部事件的響應(yīng)。設(shè)計窗體需要對窗體和控件的屬性進(jìn)行相應(yīng)的設(shè)置。3使用組合框控件

窗體提供組合框控件,使用這些控件可以減少重復(fù)輸入數(shù)據(jù)帶來的繁瑣。下面將以實(shí)例來介紹創(chuàng)建組合框來輸入數(shù)據(jù)的方法。4使用列表框控件

列表框與組合框的不同之處在于,用戶除了可以在組合框控件的列表中選擇數(shù)據(jù)外,還可以輸入其他數(shù)據(jù)。列表框一般用于頁面空間比較大,并需要對可選擇的內(nèi)容一目了然的場合。下面將以實(shí)例來介紹使用列表框控件。5使用復(fù)選框控件

當(dāng)數(shù)據(jù)表中某字段的值為邏輯值時,則在創(chuàng)建窗體的過程中,Access自動將其設(shè)置為復(fù)選框控件。6使用選項(xiàng)卡控件

選項(xiàng)卡控件也是最重要的選項(xiàng)控件之一,它可以在有限的屏幕上擺放更多的可視化元素,例如文本、命令、圖像等。如果要查看選項(xiàng)卡上的某些元素,只須單擊相應(yīng)的選項(xiàng)卡切換到相應(yīng)的選項(xiàng)卡界面即可。7設(shè)置控件格式

創(chuàng)建完控件以后,需要經(jīng)常編輯控件。例如對齊控件、調(diào)整控件的間距、設(shè)置控件背景色以及設(shè)置控件屬性等。6.3.5編輯控件1.選擇控件2.取消選擇控件3.移動控件4.調(diào)整控件的大小5.對齊控件6.組合控件7.更改控件的類型8.設(shè)置控件屬性6.3.6創(chuàng)建彈出式窗體

彈出式窗體包括無模式窗體和模式窗體兩種。打開無模式彈出式窗體時,可以訪問其他對象和菜單命令。無模式彈出窗體停留在其他窗口的上面,但可以在不關(guān)閉彈出式窗體的情況下將焦點(diǎn)移到另一個窗口中。

模式彈出式窗體又稱為“自定義對話框”。在除“設(shè)計視圖”之外的視圖中打開模式彈出式窗體時,除非關(guān)閉窗體,否則無法訪問其他任何對象。6.4創(chuàng)建主/子窗體6.4.1利用向?qū)?chuàng)建主/子窗體6.4.2利用子窗體控件創(chuàng)建主/子窗體6.4.3快速創(chuàng)建主/子窗體1使用主/子窗體

在Access中,有時需要在一個窗體中顯示另一個窗體中的數(shù)據(jù)。窗體中的窗體稱為子窗體,包含子窗體的窗體稱為主窗體。同時創(chuàng)建主窗體和子窗體創(chuàng)建子窗體并添加到已有窗體2同時創(chuàng)建主窗體和子窗體

本節(jié)將“產(chǎn)品信息表”和“公司訂單表”為數(shù)據(jù)源,同時創(chuàng)建“產(chǎn)品記錄”主窗體和“訂單記錄”子窗體,來介紹使用窗體向?qū)瑫r創(chuàng)建主窗體和子窗體的操作方法。3創(chuàng)建子窗體并添加到已有窗體

除了上面介紹的同時創(chuàng)建主窗體和子窗體的方法外,還可以創(chuàng)建子窗體并將其添加到已有的窗體中。

實(shí)例演練

本章的實(shí)例演練部分為添加按鈕控件等幾個綜合實(shí)例操作,用戶通過練習(xí)從而鞏固本章所學(xué)知識。添加按鈕控件創(chuàng)建啟動窗體1添加按鈕控件在【6-6】創(chuàng)建的【銷售人員信息】窗體中添加按鈕控件。2創(chuàng)建啟動窗體為【公司信息數(shù)據(jù)系統(tǒng)】數(shù)據(jù)庫創(chuàng)建一個啟動窗體。6.5本章小結(jié)

本章主要介紹了窗體的相關(guān)知識。首先介紹了窗體的概念及相關(guān)知識,包括窗體的功能、窗體的類型;接著介紹窗體的創(chuàng)建方法,包括快速創(chuàng)建窗體、窗體的視圖、使用窗體向?qū)?chuàng)建窗體以及創(chuàng)建空白窗體;然后介紹了窗體的設(shè)計,包括窗體的設(shè)計視圖、控件的使用、編輯控件的屬性等;最后介紹的是主/子窗體的創(chuàng)建方法,包括利用向?qū)?、利用子窗體控件以及先創(chuàng)建表間關(guān)系,然后利用快速創(chuàng)建主/子窗體3種方法創(chuàng)建主/子窗體。6.6思考和練習(xí)1.窗體的功能是什么?窗體有幾種類型?2.在Access中,窗體有幾種視圖?3.創(chuàng)建窗體的方法主要有哪些?簡述方法和步驟。4.創(chuàng)建主/子窗體的方法有哪些?簡述方法和步驟。5.以數(shù)據(jù)庫School.accdb中的各個數(shù)據(jù)表為數(shù)據(jù)源,分別練習(xí)快速創(chuàng)建窗體、使用向?qū)?chuàng)建窗體等方法。ThankYou!第7章報表主要內(nèi)容7.4報表數(shù)據(jù)中的分組和匯總

7.3編輯與打印報表7.2創(chuàng)建報表7.1報表概述學(xué)習(xí)目標(biāo)

報表是Access數(shù)據(jù)庫數(shù)據(jù)輸出的一種對象,是以格式化的形式向用戶顯示和打印的一種有效方法。Access2021中使用報表來實(shí)現(xiàn)打印格式數(shù)據(jù)功能,將數(shù)據(jù)庫中的表、查詢的數(shù)據(jù)進(jìn)行組合,形成報表,還可以在報表中添加多級匯總、統(tǒng)計比較、圖片和圖表等。本章主要介紹使用報表的方法。本章重點(diǎn)

創(chuàng)建報表

編輯報表報表統(tǒng)計計算

報表排序和分組7.1報表概述報表的視圖報表的結(jié)構(gòu)報表設(shè)計區(qū)報表的分類7.1報表概述7.1.1報表與窗體的區(qū)別7.1.2報表的視圖7.1.3報表的結(jié)構(gòu)7.1.4報表的分類7.1.1報表與窗體的區(qū)別報表與窗體一樣,也是屬于Access數(shù)據(jù)庫系統(tǒng)中的一種對象,都可以顯示數(shù)據(jù)表中的數(shù)據(jù)記錄,其創(chuàng)建方式也基本相同,在運(yùn)行時的效果也相差不多,如圖7-1所示。除了輸入數(shù)據(jù),窗體的其他所有特點(diǎn)都適用于報表,各種窗體控件也適用于報表。窗體中的計算字段可根據(jù)記錄數(shù)量執(zhí)行統(tǒng)計操作,報表則可進(jìn)一步按照分組、每頁或全部記錄執(zhí)行統(tǒng)計。7.1.2報表的視圖在Access中,報表共有4種視圖:報表視圖打印預(yù)覽視圖布局視圖設(shè)計視圖7.1.3報表的結(jié)構(gòu)在Access中,報表的結(jié)構(gòu)與窗體的結(jié)構(gòu)相似,也是由報表頁眉、頁面頁眉、主體、頁面頁腳和報表頁腳5部分組成(在報表的設(shè)計視圖中才能看到),如圖7-2所示。7.1.3報表的結(jié)構(gòu)

在Access2021中,報表是按節(jié)來設(shè)計的,并且只有在設(shè)計視圖中才能查看報表的各個節(jié)。一個完整的報表有7部分組成,分別是報表頁眉、頁面頁眉、分組頁眉、主體、分組頁腳、頁面頁腳和報表頁腳。7.1.4報表的分類表格式報表縱欄式報表圖表式報表標(biāo)簽式報表7.2創(chuàng)建報表7.2.1一鍵生成報表7.2.2使用向?qū)?chuàng)建報表7.2.3使用空報表創(chuàng)建報表7.2.4使用設(shè)計視圖創(chuàng)建報表7.2.5創(chuàng)建標(biāo)簽報表7.2.6創(chuàng)建子報表7.2.7將窗體另存為報表7.2.1一鍵生成報表

報表工具提供了最快的報表創(chuàng)建方式,使用它可以為用戶自動創(chuàng)建報表。自動創(chuàng)建的報表中將顯示數(shù)據(jù)源的數(shù)據(jù)表或查詢中的所有字段。7.2.2使用向?qū)?chuàng)建報表使用報表向?qū)?chuàng)建報表自動創(chuàng)建報表使用圖表向?qū)?chuàng)建報表使用標(biāo)簽向?qū)?chuàng)建報表7.2.3使用空報表創(chuàng)建報表

如果使用報表工具或報表向?qū)Р荒軡M足報表的設(shè)計需求,那么可以使用空白報表工具從頭生成報表。使用空白報表工具創(chuàng)建報表是指首先創(chuàng)建一個空白報表,然后將選定的數(shù)據(jù)字段添加到報表中所創(chuàng)建的報表。使用這種方法創(chuàng)建報表,其數(shù)據(jù)源只能是表。7.2.4使用設(shè)計視圖創(chuàng)建報表使用報表設(shè)計視圖創(chuàng)建報表的一般操作方法如下:

(1)在數(shù)據(jù)庫窗口左側(cè)的對象列表中,單擊“報表”對象,然后單擊工具欄中的“新建”按鈕。系統(tǒng)將打開“新建報表”對話框。

(2)在“新建報表”對話框的列表框中,選中“設(shè)計視圖”選項(xiàng),在“請選擇該對象數(shù)據(jù)的來源表或查詢”列表框中,指定一個數(shù)據(jù)表或查詢作為報表的數(shù)據(jù)源,單擊“確定”按鈕,系統(tǒng)將打開報表的設(shè)計視圖。

(3)將字段列表窗口中的字段或工具箱中有關(guān)對象拖放到設(shè)計視圖窗口中,完成報表的設(shè)計。7.2.5創(chuàng)建標(biāo)簽報表

標(biāo)簽是一種特殊的報表,它是以記錄為單位,創(chuàng)建格式完全相同的獨(dú)立報表,主要應(yīng)用于制作信封、打印工資條、學(xué)生成績單等。單擊標(biāo)簽工具將打開標(biāo)簽向?qū)?,根?jù)向?qū)崾究梢詣?chuàng)建各種標(biāo)準(zhǔn)大小的標(biāo)簽報表。7.2.6創(chuàng)建子報表子報表的定義和作用在已有的報表中創(chuàng)建子報表將某個已有報表添加到其他已有報表中來創(chuàng)建子報表7.2.7將窗體另存為報表窗體和報表有很多相似的地方,窗體的很多特點(diǎn)都適用于報表,各種窗體控件也適用于報表。在Access2021中,可以通過將窗體另存為報表來快速創(chuàng)建報表。7.3編輯和打印報表

在報表設(shè)計視圖中可以對已經(jīng)創(chuàng)建的報表進(jìn)行編輯和修改,可以設(shè)置報表的格式,在報表中添加背景圖片、日期和時間以及頁碼等,使報表顯得更為美觀。設(shè)計外觀添加修飾元素7.3.1設(shè)計外觀

報表主要用于輸出和顯示數(shù)據(jù),因此外觀設(shè)計很重要,報表設(shè)計要做到數(shù)據(jù)清晰并有條理地顯示給用戶。7.3.2編輯報表的頁眉/頁腳7.3.3應(yīng)用主題在Access2021中,主題是一個非常重要的概念。對于Access2021的窗體和報表,主題可以設(shè)置配色方案、選定字體、字體顏色以及字號。7.3.3應(yīng)用主題

在報表中除了顯示主體內(nèi)容外,還可以增加一些表現(xiàn)要素,使得報表的表現(xiàn)力更強(qiáng)。7.3.4避免出現(xiàn)空白報表如果Access找不到可以插入到報表的“主體”節(jié)中的有效記錄,那么在查看報表時看到的將是空白的“主體”節(jié)。為避免出現(xiàn)這種問題,可以為報表添加“無數(shù)據(jù)”事件處理程序,指示在找不到數(shù)據(jù)的情況下不顯示報表。7.3.5報表的預(yù)覽和打印打開報表的打印預(yù)覽視圖有如下兩種操作方法:

(1)在數(shù)據(jù)庫窗口中,單擊左側(cè)的“報表”對象按鈕,將當(dāng)前窗口切換到報表對象列表窗口界面,雙擊其中需要打開的報表,即可打開該報表的打印預(yù)覽視圖。

(2)在報表的設(shè)計視圖中,直接單擊工具欄中的“視圖”按鈕,即可將當(dāng)前報表切換到打印預(yù)覽視圖狀態(tài)。1頁面設(shè)置

在設(shè)計視圖中,切換到【頁面設(shè)置】選項(xiàng)卡,由【頁面大小】和【頁面布局】2個組構(gòu)成。2打印設(shè)置

打開報表的打印預(yù)覽視圖,在【打印預(yù)覽】選項(xiàng)卡的【打印】組中單擊【打印】按鈕,打開【打印】對話框。用戶在對話框中指定打印機(jī)名稱、打印范圍以及打印份數(shù)等,然后單擊【確定】按鈕即可。

7.4報表數(shù)據(jù)中的分組和匯總Access中的報表默認(rèn)顯示連接的數(shù)據(jù)源表中的所有記錄,當(dāng)記錄過多時,會使報表數(shù)據(jù)的查看有些困難,這時,可以使用Access2021的分組和匯總功能,將報表中具有相同特征的記錄分組并進(jìn)行排序,也可對數(shù)據(jù)進(jìn)行匯總統(tǒng)計計算。7.4報表數(shù)據(jù)中的分組和匯總7.4.1報表數(shù)據(jù)中的分組7.4.2在組頁眉中創(chuàng)建表達(dá)式7.4.3對報表中的分組數(shù)據(jù)進(jìn)行排序7.4.4匯總報表數(shù)據(jù)7.4.1報表數(shù)據(jù)中的分組

報表排序和分組是報表設(shè)計中重要操作,可以重新組織數(shù)據(jù)并呈現(xiàn)在報表中,滿足用戶不同的應(yīng)用需求。報表排序報表分組2報表分組

在實(shí)際工作中,經(jīng)常需要對數(shù)據(jù)進(jìn)行分組、匯總。分組是將報表中具有共同特征的相關(guān)記錄排列在一起,并且可以為同組記錄進(jìn)行匯總統(tǒng)計。使用Access2021提供的分組功能,可以對報表中的記錄進(jìn)行分組。對報表的記錄進(jìn)行分組時,可以按照一個字段進(jìn)行,也可以對多個字段分別進(jìn)行。7.4.2在組頁眉中創(chuàng)建表達(dá)式對報表數(shù)據(jù)添加分組后,會向報表中添加兩個新的節(jié),即“組頁眉”和“組頁腳”。如【例7-8】中當(dāng)選擇Tgender字段進(jìn)行分組后,Access會立即向報表的設(shè)計中添加“Tgender頁眉”和“Tgender頁腳”節(jié)?!癟gender頁眉”節(jié)顯示在“頁面頁眉”和“主體”節(jié)之間。報表排序在報表中添加排序的最快方法是在布局視圖中打開需要排序的報表,然后右擊要對其應(yīng)用排序的字段,選擇快捷菜單中的升序降序命令。在布局視圖或設(shè)計視圖中打開報表時,還可以使用【分組、排序和匯總】窗格來添加排序。7.4.3對報表中的分組數(shù)據(jù)進(jìn)行排序7.4.4匯總報表數(shù)據(jù)

對報表中包含的記錄可以進(jìn)行計算。在報表中添加計算控件,并設(shè)置其【控件來源】屬性。文本框控件是報表中最常用的計算控件,【控件來源】屬性中輸入計算表達(dá)式,當(dāng)表達(dá)式的值發(fā)生變化時,會重新計算并輸出結(jié)果。報表節(jié)中的統(tǒng)計計算規(guī)則計算平均值1報表節(jié)中的統(tǒng)計計算規(guī)則

在Access2021中,報表是按節(jié)來設(shè)計的。選擇用來放置計算型控件的報表節(jié)是很重要的,根據(jù)控件所在的位置確定如何計算結(jié)果。2計算平均值

使用Access的報表求和功能可以使數(shù)據(jù)更容易理解。本節(jié)將介紹在布局視圖中使用求和,布局視圖是向報表添加總計、平均值,以及其他求和最快的方式。首先介紹了窗體和報表的區(qū)別、報表的視圖、報表的結(jié)構(gòu)及分類等;然后介紹了如何創(chuàng)建報表,包括一鍵生成報表、使用向?qū)?chuàng)建報表、使用空報表創(chuàng)建報表、使用設(shè)計視圖創(chuàng)建報表、創(chuàng)建標(biāo)簽報表和創(chuàng)建子報表以及將窗體另存為報表;接著介紹了編輯和打印報表,包括設(shè)計報表的外觀、編輯報表的頁眉/頁腳、應(yīng)用主題、避免出現(xiàn)空白報表,報表的頁面設(shè)置和打印預(yù)覽等;最后介紹了報表數(shù)據(jù)中的分組和匯總,包括在報表數(shù)據(jù)中添加分組、對分組數(shù)據(jù)進(jìn)行排序以及匯總報表數(shù)據(jù)等。7.5本章小結(jié)7.6思考和練習(xí)1.報表有幾種視圖?如何在各視圖間進(jìn)行切換?2.如何在報表中添加頁碼?3.如何在報表中添加分組?4.什么是子報表?如何創(chuàng)建子報表?5.創(chuàng)建一個課程信息報表,要求按學(xué)分進(jìn)行分組。ThankYou!第8章宏主要內(nèi)容8.4宏的安全設(shè)置

8.3數(shù)據(jù)宏8.2創(chuàng)建和使用宏

8.1宏簡介教學(xué)目標(biāo)通過本章的學(xué)習(xí),讀者應(yīng)該能夠理解宏的概念及其類型,掌握創(chuàng)建與運(yùn)行宏的方法,理解常用的事件與宏操作命令,能獨(dú)立創(chuàng)建一些簡單的宏對象。教學(xué)重點(diǎn)理解宏的概念及其類型掌握創(chuàng)建與運(yùn)行宏的方法理解常用的事件與宏操作命令能獨(dú)立創(chuàng)建一些簡單的宏對象8.1宏概述8.1.1宏與事件8.1.2宏的類型8.1.3宏的設(shè)計視圖8.1.1宏與事件1.什么是宏?宏就是一個或多個操作的集合。其中的每個操作都能夠自動地實(shí)現(xiàn)特定的功能。在Access中,可以為宏定義各種類型的動作,如打開和關(guān)閉窗體、顯示及隱藏工具欄、預(yù)覽或打印報表等。通過運(yùn)行宏,能夠有次序地自動完成一連串的操作,包括各種數(shù)據(jù)、鍵盤或鼠標(biāo)的操作。8.1.1宏與事件2.什么是事件?事件過程是為響應(yīng)由用戶或程序代碼引發(fā)的事件或由系統(tǒng)觸發(fā)的事件而運(yùn)行的過程。事件(Event)是指對象所能辨識或檢測的動作,當(dāng)此動作發(fā)生于某一個對象上,其相對的事件便會被觸發(fā),而如果用戶已預(yù)先替此事件編寫了宏或事件程序,此宏或事件程序便會被執(zhí)行。8.1.1宏與事件3.將宏分配給事件為了使應(yīng)用程序更便于使用,可將宏分配給某個對象的事件。將宏與控件或窗體、報表的事件進(jìn)行綁定的方法如下。(1)首先創(chuàng)建獨(dú)立的宏,然后打開窗體或報表的“設(shè)計視圖”。(2)打開“屬性表”窗口,選擇要綁定的事件的主體(窗體、報表或控件),在“事件”選項(xiàng)卡中找到要綁定的事件。(3)在具體的事件屬性右側(cè)的下拉列表框中選擇已創(chuàng)建好的宏,如圖8-1所示。8.1.2宏的類型簡單宏宏組條件宏數(shù)據(jù)宏1.簡單宏

簡單宏是最基本的宏類型,由一條或多條簡單操作組成,執(zhí)行宏時按照操作的順序逐條執(zhí)行,直到操作完畢為止。例如,可執(zhí)行一個簡單宏,用于在用戶單擊某個命令按鈕時打開某個窗體。2.宏組宏組實(shí)際上是以一個宏名來存儲的相關(guān)的宏的集合,宏組中的每一個宏都有一個宏的名稱,用于標(biāo)識宏,以便在適當(dāng)?shù)臅r候引用宏。這樣可以更方便地對宏進(jìn)行管理,對數(shù)據(jù)庫進(jìn)行管理,例如,可以將同一個窗體上使用的宏組織到一個宏組中。3.條件宏條件宏是指通過條件的設(shè)置來控制宏的執(zhí)行。在某些情況下,可能希望僅當(dāng)特定條件為真時,才執(zhí)行宏中的相應(yīng)操作。這時可以使用宏的條件表達(dá)式來控制宏的流程。條件表達(dá)式的結(jié)果為True/False或“是/否”,只有當(dāng)表達(dá)式的結(jié)果為True(或“是”)時,才執(zhí)行宏操作。4.數(shù)據(jù)宏使用數(shù)據(jù)宏的目的是更容易在應(yīng)用程序中實(shí)現(xiàn)一致的數(shù)據(jù)處理,即使應(yīng)用程序在Web上運(yùn)行時也是一樣。由于數(shù)據(jù)宏是在表級別應(yīng)用的,因此,每次更新表數(shù)據(jù)時發(fā)生的操作完全相同。盡管可用于數(shù)據(jù)宏的操作子集要比標(biāo)準(zhǔn)宏小得多,但是如果精心設(shè)計和實(shí)施,數(shù)據(jù)宏可以為Access應(yīng)用程序添加強(qiáng)大的功能。8.1.3宏的設(shè)計視圖

在【創(chuàng)建】選項(xiàng)卡的【宏與代碼】組中單擊【宏】按鈕,進(jìn)入宏的操作界面,其中包括【宏工具/設(shè)計】選項(xiàng)卡、【操作目錄】窗格和宏設(shè)計窗口3個部分。8.2創(chuàng)建與使用宏創(chuàng)建簡單宏創(chuàng)建子宏創(chuàng)建條件宏編輯宏運(yùn)行宏錯誤處理與宏調(diào)試8.2.1創(chuàng)建簡單宏

創(chuàng)建簡單宏,需要在宏設(shè)計窗口中添加宏操作命令,提供注釋說明及設(shè)置操作參數(shù)。通常情況下,當(dāng)單擊操作參數(shù)列表框時,會在列表框右側(cè)出現(xiàn)下拉按鈕,單擊后可在彈出的下拉列表中選擇操作參數(shù)。8.2.1創(chuàng)建簡單宏要創(chuàng)建一個最基本的宏,具體操作方法如下:

(1)在“數(shù)據(jù)庫”窗口中,單擊“對象”列表下的“宏”對象按鈕,將數(shù)據(jù)庫窗口切換到宏對象列表界面。

(2)單擊“數(shù)據(jù)庫”工具欄上的“新建”按鈕,系統(tǒng)將打開宏的設(shè)計視圖。

(3)用鼠標(biāo)單擊“操作”列的單元格,對應(yīng)的單元格將顯示一個下拉三角按鈕,單擊該三角按鈕,系統(tǒng)將顯示一個下拉列表,從中選擇需要的操作命令。

(4)在“操作參數(shù)”區(qū)設(shè)置相應(yīng)操作命令的參數(shù)。

(5)重復(fù)以上步驟,直到添加完所需要的所有操作命令序列,單擊“保存”按鈕保存所創(chuàng)建的宏即可。8.2.2創(chuàng)建子宏【例8-2】創(chuàng)建一個宏,其中包括3個子宏,分別用來打開“教師”、“院系”和“學(xué)生”窗體。(1)啟動Access2021,打開School.accdb數(shù)據(jù)庫。(2)單擊“創(chuàng)建”選項(xiàng)卡下“宏與代碼”組中的“宏”按鈕,將打開宏的設(shè)計視圖。(3)在“添加新操作”下拉列表中選擇或直接輸入Submacro命令,按回車鍵將出現(xiàn)一塊“子宏”區(qū)域,在該區(qū)域中,可以輸入與該子宏關(guān)聯(lián)的操作。如圖8-10所示,在“子宏”區(qū)域中,包括子宏名稱和“添加新操作”列表以及子宏結(jié)束標(biāo)識EndSubmacro。8.2.3創(chuàng)建條件宏創(chuàng)建條件宏的一般方法和創(chuàng)建宏的基本上相同,不同之處在于,條件宏的設(shè)計視圖中,添加了“條件”列。“條件”列在默認(rèn)情況下是不顯示出來的。要將該列顯示在宏設(shè)計視圖中,選擇“視圖”|“條件”命令即可。在“條件”列中,可以設(shè)置一些條件,這樣,在運(yùn)行該宏時,只有符合了這些條件,系統(tǒng)才會運(yùn)行相應(yīng)“操作”單元格中的操作。8.2.3創(chuàng)建條件宏

在某些情況下,可能希望當(dāng)且僅當(dāng)特定條件為真時,才在宏中執(zhí)行一個或多個操作。例如,如果在某個窗體中使用宏來校驗(yàn)數(shù)據(jù),可能要顯示相應(yīng)的信息來響應(yīng)記錄的相應(yīng)輸入值。在這種情況下,可以使用條件來控制宏的流程。創(chuàng)建宏組如果要將幾個相關(guān)的宏組織在一個設(shè)計視圖窗口中,而不是將它們分別創(chuàng)建成宏對象,則可以將它們組織成一個宏組。創(chuàng)建宏組的一般方法和創(chuàng)建宏的基本上相同,不同之處在于,宏組的設(shè)計視圖中,添加了“宏名”列。8.2.4編輯宏在“宏生成器”中,用戶可以根據(jù)需要對已經(jīng)建立的宏進(jìn)行編輯,包括添加、移動、復(fù)制和刪除等操作。8.2.5運(yùn)行宏測試宏運(yùn)行宏1.使用RunMacro命令運(yùn)行宏2.通過“執(zhí)行宏”對話框運(yùn)行宏3.自動運(yùn)行的宏8.2.6錯誤處理與宏調(diào)試1.OnError操作OnError操作允許確定在宏中發(fā)生錯誤時執(zhí)行什么操作。該操作具有兩個參數(shù),分別是“轉(zhuǎn)至”和“宏名稱”?!稗D(zhuǎn)至”參數(shù)有3個可取值,只有當(dāng)“轉(zhuǎn)至”設(shè)置為“宏名”時,“宏名稱”參數(shù)才有意義2.MacroError對象MacroError對象封裝了最后一個宏錯誤的信息。它會一直保留該信息,直到發(fā)生新的錯誤,或者使用ClearMacroError操作將其清除。該對象包含大量只讀屬性,如下所示,可以從宏本身或VBA代碼訪問這些屬性。調(diào)試宏

在宏的設(shè)計過程中,可以對宏進(jìn)行調(diào)試。宏調(diào)試的目的,就是要找出宏的錯誤原因和出錯位置,以便使設(shè)計的宏操作能達(dá)到預(yù)期的效果。對宏進(jìn)行調(diào)試,可以采用Access的單步調(diào)試方式,即每次只執(zhí)行一個操作,以便觀察宏的流程和每一步操作的結(jié)果。通過這種方法,可以比較容易地分析出錯的原因并加以改正。

調(diào)試宏在設(shè)計宏時,可能會出現(xiàn)各種不可避免的錯誤或設(shè)計缺陷。除了前面介紹的OnError操作,Access還提供了方便的調(diào)試工具,以幫助用戶調(diào)試自己的應(yīng)用程序。單步運(yùn)行是Access數(shù)據(jù)庫中用來調(diào)試宏的主要工具。采用單步運(yùn)行,可以觀察宏的流程和每一個操作的結(jié)果,以排除導(dǎo)致錯誤的操作命令或預(yù)料之外的操作結(jié)果。8.3數(shù)據(jù)宏

8.3.1表事件前期事件后期事件8.3.2數(shù)據(jù)宏的操作目錄8.3.3創(chuàng)建數(shù)據(jù)宏8.3.1表事件所謂的數(shù)據(jù)處理事件,就是對某數(shù)據(jù)執(zhí)行的某種特定的動作。在Access中,經(jīng)常用到的數(shù)據(jù)處理事件如下:AfterDelConfirm、AfterInsert、AfterUpdate、BeforeDelConfirm、BeforeInsert、BeforeUpdate、Change、Current、Delete、Dirty和NotInList事件。8.3.1表事件Access中的焦點(diǎn)處理事件如下:Activate、Deactivate、Enter、Exit、GetFocus和LostFocus事件。8.3.1表事件Access中的鼠標(biāo)操作事件如下:Click、DblClick、MouseDown、MouseMove和MouseUp事件。Access中鍵盤輸入事件如下:KeyDown、KeyPress和KeyDUp事件。8.3.2數(shù)據(jù)宏的操作目錄Access提供了許多基本宏操作,下列是其中一些比較常用到的宏操作:AddMenu、ApplyFilter、Beep、CancelEvent、CopyDatabaseFile、CopyObject、DeleteObject、Close、Echo、FindNext、FindRecord、GoToControl、GoToRecord、Maximiz、Minimize、MsgBox、OpenForm、OpenReport、OpenQuery、PrintOut、Quit、RepaintObject、Restore、RunMacro、SetValue和StopMacro。8.3.3創(chuàng)建數(shù)據(jù)宏無論打開的是表數(shù)據(jù)表視圖還是設(shè)計視圖,都可以非常方便地向表中添加數(shù)據(jù)宏。8.3.1節(jié)介紹表事件的時候打開的是表的數(shù)據(jù)表視圖,在這種視圖下,單擊圖8-42中的任意一種事件,即可創(chuàng)建對應(yīng)事件的數(shù)據(jù)宏,并打開數(shù)據(jù)宏設(shè)計器,如圖8-45所示為“更改前”事件的數(shù)據(jù)宏設(shè)計器。8.4宏的安全設(shè)置在Access中,宏的安全性是通過“信任中心”進(jìn)行設(shè)置和保證的。當(dāng)用戶打開一個包含有宏的文檔時,“信任中心”首先要對以下各項(xiàng)內(nèi)容進(jìn)行檢查,然后才會允許在文檔中啟用宏。開發(fā)人員是否使用數(shù)字簽名對這個宏進(jìn)行了簽名。該數(shù)字簽名是否有效,是否過期。與該數(shù)字簽名關(guān)聯(lián)的證書是否是由權(quán)威機(jī)構(gòu)頒發(fā)的。對宏進(jìn)行簽名的開發(fā)人員是否為受信任的發(fā)布者。8.4.1解除阻止的內(nèi)容8.4.2信任中心設(shè)置8.5宏實(shí)例將宏對象轉(zhuǎn)換為VisualBasic代碼判斷空報表檢索數(shù)據(jù)8.6實(shí)例演練

本章的實(shí)例演練部分為創(chuàng)建嵌入宏這個綜合實(shí)例操作,用戶通過練習(xí)從而鞏固本章所學(xué)知識。ThankYou!第9章數(shù)據(jù)庫的

安全管理主要內(nèi)容9.4備份與還原數(shù)據(jù)庫

9.3數(shù)據(jù)庫的壓縮與修復(fù)9.2數(shù)據(jù)庫的保護(hù)9.1數(shù)據(jù)庫安全定義9.5數(shù)據(jù)的導(dǎo)入與導(dǎo)出

9.6Access中的安全機(jī)制

教學(xué)目標(biāo)通過本章的學(xué)習(xí)讀者應(yīng)該掌握數(shù)據(jù)庫的壓縮與備份的方法,掌握使用用戶級安全機(jī)制的方法,了解其他保護(hù)數(shù)據(jù)庫的措施。教學(xué)重點(diǎn)掌握數(shù)據(jù)庫的壓縮與備份的方法掌握使用用戶級安全機(jī)制的方法了解其他保護(hù)數(shù)據(jù)庫的措施9.1數(shù)據(jù)庫安全定義數(shù)據(jù)庫安全(DatabaseSecurity)本身具有兩個方面的含義:一是系統(tǒng)運(yùn)行安全方面的,系統(tǒng)運(yùn)行的安全受到影響就有可能導(dǎo)致系統(tǒng)無法正常運(yùn)行,一些網(wǎng)絡(luò)不法分子專門通過互聯(lián)網(wǎng)來入侵其他用戶計算機(jī),使得計算機(jī)系統(tǒng)出現(xiàn)故障,損壞計算機(jī)系統(tǒng)的CPU;二是計算機(jī)系統(tǒng)信息的安全,網(wǎng)絡(luò)不法分子侵入用戶系統(tǒng),主要是為了竊取用戶數(shù)據(jù)庫中的重要信息或者破壞系統(tǒng)數(shù)據(jù)庫內(nèi)的重要信息。數(shù)據(jù)庫系統(tǒng)的安全特性是針對數(shù)據(jù)而言的,主要包括數(shù)據(jù)安全性、數(shù)據(jù)獨(dú)立性、數(shù)據(jù)完整性、故障恢復(fù)等方面的內(nèi)容。9.2數(shù)據(jù)庫的保護(hù)9.2.1存儲隱患9.2.2安全性問題的解決策略9.2.1存儲隱患1.存儲路徑2.

加密方式3.

默認(rèn)權(quán)限引發(fā)的安全漏洞4.

平臺上的漏洞5.

消除安全漏洞的方法9.2.2安全性問題的解決策略1.通過編程改進(jìn)Access數(shù)據(jù)庫的加密算法2.

消除由Admin用戶引發(fā)的漏洞3.

改進(jìn)數(shù)據(jù)庫的加密機(jī)制4.

提高平臺的安全性5.

Access數(shù)據(jù)庫系統(tǒng)安全的新策略采用復(fù)雜加密算法對數(shù)據(jù)庫文件的文件特征說明部分和數(shù)據(jù)庫字段說明部分進(jìn)行加密用本地計算機(jī)的硬件信息作為密鑰的一部分,9.3數(shù)據(jù)庫的壓縮與修復(fù)9.3.1壓縮和修復(fù)數(shù)據(jù)庫9.3.2設(shè)置權(quán)限9.3.3設(shè)置密碼9.3.4使用密碼9.3.5撤銷密碼9.3.1壓縮和修復(fù)數(shù)據(jù)庫為了壓縮和恢復(fù)Access數(shù)據(jù)庫,執(zhí)行該操作的用戶必須具有相應(yīng)數(shù)據(jù)庫的“打開/運(yùn)行”和“以獨(dú)占方式打開”權(quán)限。壓縮和修復(fù)當(dāng)前Access數(shù)據(jù)庫的方法如下:

(1)打開要壓縮和修復(fù)的Access數(shù)據(jù)庫。如果該文件位于服務(wù)器或共享文件夾中,作為共享數(shù)據(jù)庫存在,在執(zhí)行壓縮和修復(fù)時請確保沒有其他用戶打開該數(shù)據(jù)庫。(

2)在菜單欄中選擇“工具”|“數(shù)據(jù)庫實(shí)用工具”|“壓縮和修復(fù)數(shù)據(jù)庫”命令。9.3.2設(shè)置權(quán)限Jet數(shù)據(jù)庫引擎使用基于工作組的安全模型(也稱為用戶級安全性)來判斷誰可以打開數(shù)據(jù)庫,并保護(hù)數(shù)據(jù)庫所包含對象的安全。無論是否明確設(shè)置了數(shù)據(jù)庫的安全性,用戶級安全性對所有Access數(shù)據(jù)庫始終處于打開狀態(tài)??梢酝ㄟ^操縱用戶和組帳戶的權(quán)限和成員身份來更改Access中的默認(rèn)安全級別。無論何時啟動Access,Jet數(shù)據(jù)庫引擎都要查找工作組信息文件,工作組信息文件包含組和用戶信息(包括密碼),這些信息決定了誰可以打開數(shù)據(jù)庫,以及他們對數(shù)據(jù)庫中的對象的權(quán)限。9.3.3設(shè)置密碼數(shù)據(jù)庫管理軟件打開文件要求用戶輸入密碼,如果用戶輸入密碼與數(shù)據(jù)庫文件中保存的密碼數(shù)據(jù)不一致,則拒絕打開數(shù)據(jù)庫文件。Access只是簡單運(yùn)用異或運(yùn)算修改頭文件中的若干位來達(dá)到加密的目的,數(shù)據(jù)庫系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行異或來形成一個加密串,并將其存儲在*.mdb文件中從地址“&H42”開始的區(qū)域內(nèi)。9.3.3設(shè)置密碼(續(xù))Access2021中的加密工具可以使數(shù)據(jù)無法被其他工具讀取,并強(qiáng)制用戶只有在輸入密碼后才能使用數(shù)據(jù)庫。使用Access2021加密工具時,需注意下列規(guī)則。新的加密功能只適用于.accdb文件格式的數(shù)據(jù)庫。Access2021加密工具使用的算法比早期的加密工具使用的算法更強(qiáng)。如果需要對舊版數(shù)據(jù)庫(.mdb文件)進(jìn)行編碼或應(yīng)用密碼,Access2021將使用Access2003中的編碼和密碼功能。9.3.4使用密碼9.3.5撤銷密碼Access2021在允許用戶加密數(shù)據(jù)庫的同時,也提供了修改與撤銷密碼的功能。要撤銷數(shù)據(jù)庫的密碼也需要以獨(dú)占方式打開數(shù)據(jù)庫,選擇“文件”選項(xiàng)卡中的“信息”選項(xiàng),然后選擇右側(cè)窗口中的“解密數(shù)據(jù)庫”命令。在“密碼”文本框中輸入之前為數(shù)據(jù)庫設(shè)置的密碼,單擊“確定”按鈕,即可撤銷數(shù)據(jù)庫的密碼。9.4備份與還原數(shù)據(jù)庫可以使用“MicrosoftWindows2021備份及故障恢復(fù)工具”或其他備份軟件備份Access數(shù)據(jù)庫。使用“MicrosoftWindows2021備份及故障恢復(fù)工具”的方法如下:(1)選擇“開始”|“所有程序”|“附件”|“系統(tǒng)工具”|“備份”命令,激活“MicrosoftWindows2021備份及故障恢復(fù)工具”。(2)用戶可以在主體框中選擇文件或文件夾,然后在左下部的“備份媒體或文件名”欄中輸入備份文件的名稱,然后單擊“開始備份”按鈕。(3)數(shù)據(jù)庫信息發(fā)生損失,就可以根據(jù)這個備份文件恢復(fù)數(shù)據(jù)庫的原態(tài),盡量減少系統(tǒng)的損失。方法是進(jìn)入“MicrosoftWindows2021備份及故障恢復(fù)工具”中,選擇“還原”選項(xiàng)卡,在其中設(shè)置還原文件。9.5數(shù)據(jù)的導(dǎo)入與導(dǎo)出9.5.1數(shù)據(jù)的導(dǎo)入9.5.2數(shù)據(jù)的導(dǎo)出9.6Access中的安全機(jī)制9.6.1

用戶級安全機(jī)制9.6.2

工作組信息文件9.6.3

用戶與組賬戶9.6.1用戶級安全機(jī)制在Access

2003或者更低版本的Access中提供了用戶級安全機(jī)制。但對于使用Access2007~2016新文件格式創(chuàng)建的數(shù)據(jù)庫(.accdb和.accde文件),Access2021不提供用戶級安全機(jī)制。如果在Access2021中打開早期版本創(chuàng)建的數(shù)據(jù)庫,并且該數(shù)據(jù)庫應(yīng)用了用戶級安全機(jī)制,則該安全功能對數(shù)據(jù)庫仍然有效。但是如果將該數(shù)據(jù)庫轉(zhuǎn)換成新格式后,Access2021將丟棄原有的用戶級安全機(jī)制。Access數(shù)據(jù)庫中的權(quán)限類型權(quán)限名稱允許的操作打開/運(yùn)行打開數(shù)據(jù)庫、窗體或報表或者運(yùn)行數(shù)據(jù)庫中的宏。以獨(dú)占方式打開以獨(dú)占訪問權(quán)限打開數(shù)據(jù)庫。讀取設(shè)計在“設(shè)計”視圖中查看表、查詢、窗體、報表或宏。修改設(shè)計查看和更改表、查詢、窗體、報表或宏的設(shè)計,或進(jìn)行刪除。管理員對于數(shù)據(jù)庫,設(shè)置數(shù)據(jù)庫密碼、復(fù)制數(shù)據(jù)庫并更改啟動屬性。對于表、查詢、窗體、報表和宏,具有對這些對象和數(shù)據(jù)的完全訪問權(quán)限。讀取數(shù)據(jù)查看表和查詢中的數(shù)據(jù)。更新數(shù)據(jù)查看和修改表和查詢中的數(shù)據(jù),但并不向其中插入數(shù)據(jù)或刪除其中的數(shù)據(jù)。插入數(shù)據(jù)查看表和查詢中的數(shù)據(jù),并向其中插入數(shù)據(jù),但不修改或刪除其中的數(shù)據(jù)。刪除數(shù)據(jù)查看和刪除表和查詢中的數(shù)據(jù),但不修改其中的數(shù)據(jù)或向其中插入數(shù)據(jù)新建MicrosoftAccess工作組信息文件管理人員可以自己創(chuàng)建MicrosoftAccess工作組信息文件來控制用戶的訪問權(quán)限。新建工作組信息文件的方法如下:(1)啟動MicorsoftAccess。(2)選擇“工具”|“安全”|“工作組管理員”命令。(3)在彈出的“工作組管理員”對話框中,單擊“創(chuàng)建”命令按鈕。(4)在“工作組所有者信息”對話框中,輸入相應(yīng)的姓名和組織名稱,然后輸入工作組ID。(5)接下來,在“工作組信息文件”對話框中輸入該信息文件(*.mdw)的具體保存路徑和名稱,作為存儲工作組信息的文件。用戶也可以通過“瀏覽”按鈕指定文件位置,然后單擊“確定”按鈕完成操作。9.6.2工作組信息文件安全賬戶定義了哪些用戶和組可以訪問數(shù)據(jù)庫中的對象,這一信息稱為工作組信息,并存儲在工作組信息文件中。Access依賴工作組信息文件來實(shí)行用戶級安全機(jī)制。Access工作組信息文件存儲了有關(guān)工作組成員的信息。Access會在打開數(shù)據(jù)庫時,讀取工作組信息文件中包含的工作組中的用戶信息,該信息包括用戶的賬戶名、密碼、所屬的組和權(quán)限,以確定哪些用戶可以訪問數(shù)據(jù)庫中的對象和他們對這些對象的權(quán)限。9.6.3

用戶與組賬戶Access工作組信息文件中包含以下幾個預(yù)定義的賬戶:管理員:默認(rèn)的用戶賬戶,具有管理Access數(shù)據(jù)庫的權(quán)限。管理員組:管理員的組賬戶。管理員組中至少有一個管理員權(quán)限的賬戶,組中所有成員都能夠管理Access數(shù)據(jù)庫。最初建立數(shù)據(jù)庫時,管理員組只包含一個管理員賬戶。用戶組:包含所有用戶賬戶的組賬戶。默認(rèn)情況下,該賬戶對所有新建對象都擁有完全權(quán)限。當(dāng)使用管理員賬戶新建一個賬戶時,該賬戶將被自動分配到用戶組中。9.6.3用戶與組賬戶帳戶功能管理員默認(rèn)的用戶帳戶。該帳戶對所用的MicrosoftAccess副本和其他可以使用MicrosoftJet數(shù)據(jù)庫引擎的應(yīng)用程序,如MicrosoftVisualBasicforApplications和MicrosoftExcel等都是完全一樣的。管理員組管理員的組帳戶。該帳戶對每個工作組信息文件是唯一的。在默認(rèn)情況下,“管理員”用戶位于“管理員”組中。在任何時刻“管理員”組中都必須至少要有一個用戶。用戶組包含所有用戶帳戶的組帳戶。當(dāng)“管理員”組的成員創(chuàng)建用戶帳戶時,MicrosoftAccess會自動將用戶帳戶添加到“用戶”組中。該帳戶對所有工作組信息文件都是相同的,但它只包含由該工作組的管理員組成員所創(chuàng)建的用戶帳戶。在默認(rèn)情況下,該帳戶對所有新建對象都擁有完全權(quán)限。要刪除用戶組中的用戶帳戶,只能由“管理員”組的成員進(jìn)行。通過向?qū)Ы⒂脩艚M安全機(jī)制

設(shè)置用戶組安全機(jī)制的操作步驟如下:

(1)打開要設(shè)置安全的數(shù)據(jù)庫。

(2)選擇菜單欄中“工具”|“安全”|“設(shè)置安全機(jī)制向?qū)А泵?,激活用戶級安全機(jī)制向?qū)А?/p>

(3)根據(jù)向?qū)υ捒虻奶崾具M(jìn)行設(shè)置,直到建立用戶組安全機(jī)制操作完畢為止。9.7本章小結(jié)數(shù)據(jù)庫安全是保證數(shù)據(jù)不被篡改、機(jī)密數(shù)據(jù)不被泄漏的重要機(jī)制,本章重點(diǎn)介紹了數(shù)據(jù)庫安全與管理相關(guān)的知識。首先介紹的是數(shù)據(jù)庫的壓縮與備份的操作方法;然后介紹了Access的安全機(jī)制,如何對數(shù)據(jù)庫進(jìn)行加密和解密操作。本章內(nèi)容比較簡短,通過本章的學(xué)習(xí),使讀者能夠加強(qiáng)數(shù)據(jù)庫的安全管理,提高安全意識。9.8思考和練習(xí)1.如何壓縮數(shù)據(jù)庫?2.簡述備份和還原數(shù)據(jù)庫的方法與步驟。3.如何為數(shù)據(jù)庫設(shè)置密碼?4.加密自己的Access數(shù)據(jù)庫。5.操作題:將提供的CSV客戶數(shù)據(jù)導(dǎo)入Access,并導(dǎo)出為PDF報告。6.如何實(shí)現(xiàn)每日自動備份數(shù)據(jù)庫到云端(結(jié)合VBA與API)?ThankYou!第10章數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例第10章應(yīng)用系統(tǒng)設(shè)計開發(fā)學(xué)習(xí)Access的目的不僅僅是為了使用,更為重要的是要學(xué)會如何進(jìn)行應(yīng)用系統(tǒng)的開發(fā)。這也是學(xué)習(xí)和使用Access數(shù)據(jù)庫管理系統(tǒng)軟件的最終目標(biāo),也是對本書學(xué)習(xí)過程的一個全面的綜合運(yùn)用和訓(xùn)練。本章以前面各章講到的“學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫為實(shí)例,前后呼應(yīng),貫穿一線,介紹如何設(shè)計一個Access數(shù)據(jù)庫應(yīng)用系統(tǒng)。同時,介紹數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的一般過程,實(shí)現(xiàn)學(xué)習(xí)本書的預(yù)期目標(biāo)。10.110.210.310.4數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計流程需求分析及主要功能模塊設(shè)計數(shù)據(jù)庫建立操作界面創(chuàng)建成績管理系統(tǒng)報表10.5實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)10.610.7維護(hù)學(xué)生成績管理系統(tǒng)10.1數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計流程數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)設(shè)計過程一般采用生命周期理論。生命周期理論是應(yīng)用系統(tǒng)從提出需求、形成概念開始,經(jīng)過分析論證、系統(tǒng)開發(fā)、使用維護(hù),直到淘汰或被新的應(yīng)用系統(tǒng)所取代的一個全過程。其設(shè)計過程可以分為6個階段:需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫實(shí)施和運(yùn)行、數(shù)據(jù)庫的使用和維護(hù)。結(jié)合Access自身的特點(diǎn),使用Access開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng),其系統(tǒng)設(shè)計步驟如下:首先用戶提出要求;初步調(diào)查,了解情況,進(jìn)行可行性分析;設(shè)計數(shù)據(jù)庫,建立系統(tǒng)功能模塊結(jié)構(gòu)圖;設(shè)計數(shù)據(jù)輸入界面,如窗體、數(shù)據(jù)訪問頁等;設(shè)計數(shù)據(jù)輸出界面,如報表、查詢界面等;設(shè)計宏操作及VBA程序代碼;設(shè)計系統(tǒng)菜單;系統(tǒng)測試和系統(tǒng)功能改進(jìn);打包,制作安裝程序和使用說明書;系統(tǒng)最后測試修正;交付用戶,發(fā)布完成。通常開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng)是由用戶提出的,開發(fā)人員到用戶處進(jìn)行初步調(diào)查,了解情況,擬訂初步方案,在征得用戶的同意后,開始系統(tǒng)的分析與設(shè)計?,F(xiàn)在就以“學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫系統(tǒng)為例,說明如何用Access完整地開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng)。10.2需求分析及主要功能模塊學(xué)生成績管理信息是學(xué)校的一項(xiàng)重要數(shù)據(jù)資源,因而學(xué)生成績管理必然成為學(xué)校的一項(xiàng)常規(guī)性的重要工作,是學(xué)校管理工作中不可缺少的一部分,為了適應(yīng)教育改革和推進(jìn)素質(zhì)教育發(fā)展的需要,學(xué)生成績管理從以前的手工管理逐漸被規(guī)范化的管理信息系統(tǒng)所代替是必然的趨勢。學(xué)生成績管理應(yīng)用系統(tǒng)功能模塊圖,如圖10-1所示。在數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的實(shí)施階段,一般采用“自頂向下”的設(shè)計思路和步驟來開發(fā)系統(tǒng),這樣,以功能模塊為單位將整個數(shù)據(jù)庫程序組成一個有層次的樹形結(jié)構(gòu)。該系統(tǒng)共有三層,我們只做出了學(xué)生信息管理的下層菜單,其他的如教師信息管理、選課信息管理、學(xué)生成績管理等的下層菜單省略。學(xué)生成績管理系統(tǒng)退出系統(tǒng)信息管理按姓名查分按課程查分學(xué)生平均成績班級平均成績課程平均成績選課信息管理學(xué)生成績管理打印報表基本信息管理圖10-1學(xué)生成績管理應(yīng)用系統(tǒng)功能模塊圖1.教師信息管理功能完成對教師檔案的管理,包括教師基本資料和授課信息的錄入、查詢、統(tǒng)計、預(yù)覽報表等功能。2.學(xué)生信息管理功能完成對學(xué)生檔案的管理,包括學(xué)生基本資料的錄入、修改、查詢、統(tǒng)計、預(yù)覽報表等功能。3.選課信息管理功能完成選課信息管理,包括學(xué)生選課信息和課程信息的錄入、查詢、瀏覽、統(tǒng)計、預(yù)覽報表等功能。4.學(xué)生成績管理功能完成學(xué)生成績的管理,包括成績的錄入、查詢、瀏覽、統(tǒng)計、預(yù)覽報表等功能。5.系統(tǒng)維護(hù)完成系統(tǒng)維護(hù),包括用戶密碼更改、數(shù)據(jù)備份等。10.3設(shè)計數(shù)據(jù)庫在進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)時,一定要設(shè)計好數(shù)據(jù)庫,設(shè)計好數(shù)據(jù)庫中應(yīng)有的數(shù)據(jù)表和數(shù)據(jù)表之間的關(guān)系、數(shù)據(jù)表的結(jié)構(gòu),然后再設(shè)計由數(shù)據(jù)表生成的查詢,設(shè)計窗體和報表,以及使用宏和VBA對成績管理系統(tǒng)的開發(fā)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的數(shù)據(jù)量越大,數(shù)據(jù)的來源越復(fù)雜,數(shù)據(jù)庫設(shè)計的好壞就越顯得重要,它將影響著整個系統(tǒng)的設(shè)計過程。10.3.1設(shè)計數(shù)據(jù)庫的過程設(shè)計數(shù)據(jù)庫要完成以下幾個工作:收集數(shù)據(jù):就是將與數(shù)據(jù)庫應(yīng)用系統(tǒng)相關(guān)的數(shù)據(jù)匯集到一起。分析數(shù)據(jù):根據(jù)數(shù)據(jù)庫應(yīng)用系統(tǒng)的需求,分析確定數(shù)據(jù)的來源,刪除重復(fù)數(shù)據(jù),刪除無關(guān)數(shù)據(jù)。規(guī)范數(shù)據(jù):按“數(shù)據(jù)規(guī)范化”原則,設(shè)計數(shù)據(jù)庫應(yīng)該使用多少個數(shù)據(jù)表,并合理定義每個數(shù)據(jù)表的結(jié)構(gòu)以及數(shù)據(jù)類型。建立關(guān)聯(lián):在數(shù)據(jù)庫中,確定表之間的關(guān)系。10.3.2創(chuàng)建數(shù)據(jù)庫創(chuàng)建Access數(shù)據(jù)庫,是創(chuàng)建數(shù)據(jù)庫應(yīng)用系統(tǒng)的第一步,第1章已經(jīng)介紹了數(shù)據(jù)庫的創(chuàng)建,這里就不再敘述建立數(shù)據(jù)庫的方法和步驟了。10.3.3建立數(shù)據(jù)表表是數(shù)據(jù)庫應(yīng)用系統(tǒng)的最基本的數(shù)據(jù)資源,是整個系統(tǒng)運(yùn)行過程中全部數(shù)據(jù)的來源,在”學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中,有學(xué)生表、教師表、教師授課表、選課成績表、課程表和專業(yè)表共6個表。通過表設(shè)計器在“學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建的數(shù)據(jù)表,如圖10-2所示。1.創(chuàng)建表本例根據(jù)分析確定系統(tǒng)要設(shè)置如下表:學(xué)生表,包括字段:

學(xué)號、姓名、性別、出生日期、入校日期、團(tuán)員否。學(xué)號為主鍵,為專業(yè)編號建立索引,通過該索引和專業(yè)基本表建立關(guān)聯(lián)。字段名類型寬度小數(shù)位數(shù)索引學(xué)號字符型12

主索引姓名字符型8

性別字符型2

出生日期日期型

是否團(tuán)員邏輯型

照片通用型

入學(xué)時間日期型

入學(xué)成績數(shù)值型30

專業(yè)編號字符型4

普通索引簡歷備注型

表10-1學(xué)生表結(jié)構(gòu)教師表,包括字段:教師編號、教師姓名、性別、職稱、通訊地址、郵政編碼、電話、電子信箱。教師編號為主索引。字段名類型寬度小數(shù)位數(shù)索引教師編號字符型4

主索引教師姓名字符型8

性別字符型2

職稱字符型8

通訊地址字符型40

郵政編碼字符型6

電話字符型20

電子信箱字符型40

表10-2教師表結(jié)構(gòu)課程表,包括字段:課程編號、課程名稱、學(xué)時、學(xué)分、課程性質(zhì)。課程編號為主索引。選課成績表,字段包括:學(xué)號、課程編號、開課時間、成績。分別為學(xué)號、課程編號、開課時間、成績建立索引,通過學(xué)號和學(xué)生表建立關(guān)聯(lián),通過課程編號和課程表建立關(guān)聯(lián),開課時間和成績索引用于做統(tǒng)計計算。教師任課表,包括字段:教師編號、課程編號。分別為教師編號和課程編號建立索引,通過教師編號和教師表建立關(guān)聯(lián),通過課程編號和課程表建立關(guān)聯(lián)。專業(yè)表,字段包括:專業(yè)編號、專業(yè)名稱、所屬系。為專業(yè)編號建立索引,通過專業(yè)編號和學(xué)生基本表建立關(guān)聯(lián)。其它各表都已在第2章中創(chuàng)建過了,這里也不再贅述。10.3.4建立表之間的關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)表創(chuàng)建完成后,便可以建立表之間的關(guān)系,這是數(shù)據(jù)庫建立的另一個重要環(huán)節(jié)。在建立表之間的關(guān)系時,必須注意兩點(diǎn),一是兩表必須存在共同的公共字段;二是將主(父)表中的公共字段設(shè)置為主鍵,然后再建立兩表之間的關(guān)系?!皩W(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫的“關(guān)系”窗口,如圖10-2所示。圖10-2各數(shù)據(jù)表之間的關(guān)系該窗口反映的是已創(chuàng)建好的數(shù)據(jù)表之間的關(guān)系。10.4建立操作界面數(shù)據(jù)庫應(yīng)用系統(tǒng)中的數(shù)據(jù)操作界面,都是通過不同功能的窗體來完成的,一個較全面的數(shù)據(jù)庫應(yīng)用系統(tǒng),應(yīng)有的數(shù)據(jù)窗體包括數(shù)據(jù)輸入、數(shù)據(jù)維護(hù)、數(shù)據(jù)瀏覽以及數(shù)據(jù)查詢等幾種類型的窗體。10.4.1“數(shù)據(jù)輸入”窗體“數(shù)據(jù)輸入”窗體是原始數(shù)據(jù)表輸入的操作界面,提供增加和保存數(shù)據(jù)的功能,保證數(shù)據(jù)輸入的準(zhǔn)確、快捷。在“學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中,學(xué)生表的“數(shù)據(jù)輸入”窗體,如圖10-3所示。圖10-3學(xué)生表的“數(shù)據(jù)輸入”窗體在“學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中,教師表的“數(shù)據(jù)輸入”窗體,如圖10-4所示圖10-4教師表的“數(shù)據(jù)輸入”窗體10.4.2“數(shù)據(jù)瀏覽”窗體“數(shù)據(jù)瀏覽”窗體是用來瀏覽系統(tǒng)全部資源的工作界面,“數(shù)據(jù)瀏覽”窗體應(yīng)有查看數(shù)據(jù)功能,“學(xué)生情況一覽表”窗體,如圖10-5所示。圖10-5“數(shù)據(jù)瀏覽”窗體10.4.3“數(shù)據(jù)維護(hù)”窗體 “數(shù)據(jù)維護(hù)”窗體是用來維護(hù)系統(tǒng)全部數(shù)據(jù)資源的工作界面,數(shù)據(jù)維護(hù)窗體應(yīng)有修改、刪除、增加以及保存數(shù)據(jù)等功能,學(xué)生檔案維護(hù)窗體,如圖10-6所示。圖10-6“數(shù)據(jù)維護(hù)”窗體10.4.4“數(shù)據(jù)查詢”窗體“數(shù)據(jù)查詢”窗體是系統(tǒng)進(jìn)行數(shù)據(jù)信息檢索的工作界面,“數(shù)據(jù)查詢”窗體應(yīng)有查找、發(fā)布、瀏覽以及輸出數(shù)據(jù)信息等功能。學(xué)生基本信息查詢窗體,如圖10-7所示。圖10-7“數(shù)據(jù)查詢”窗體10.5創(chuàng)建成績管理系統(tǒng)報表前面已經(jīng)介紹過如何在Access中創(chuàng)建報表,報表是利用數(shù)據(jù)表、查詢及控件,將數(shù)據(jù)庫中的數(shù)據(jù)信息提取出來,有結(jié)構(gòu)地分級顯示在用戶面前,然后按指定的格式打印輸出。10.5.1設(shè)計單表報表數(shù)據(jù)庫應(yīng)用系統(tǒng)的報表有許多是以原始的一個數(shù)據(jù)表為直接數(shù)據(jù)源的,這類報表比較簡單,在制作這類報表時,要注意設(shè)計好報表的布局、頁面附加標(biāo)題和各種說明信息。教師基本情況報表,如圖10-8所示。圖10-8教師基本情況報表10.5.2設(shè)計報表如果在設(shè)計數(shù)據(jù)庫應(yīng)用系統(tǒng)的報表時,報表的數(shù)據(jù)源是多個數(shù)據(jù)表,那么,首先要以多表創(chuàng)建查詢作為多表報表的數(shù)據(jù)源,事實(shí)上多表報表的數(shù)據(jù)源來自于查詢。學(xué)生成績單報表,如圖10-9所示。圖10-9學(xué)生成績單報表10.5.3設(shè)計統(tǒng)計匯總報表統(tǒng)計匯總報表是在設(shè)計報表時,對報表的數(shù)據(jù)源進(jìn)行統(tǒng)計分析,使報表輸出的數(shù)據(jù)不僅是數(shù)據(jù)源中原有的內(nèi)容,同時還有統(tǒng)計結(jié)果。學(xué)生成績匯總報表,如圖10-10所示。圖10-10學(xué)生成績匯總報表10.6實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)的功能包括:學(xué)生信息和教師信息的錄入、瀏覽、更新、查詢和打印。該系統(tǒng)的基本流程是啟動“學(xué)生成績管理系統(tǒng)”時,首先打開“系統(tǒng)登錄”窗體,要求輸入用戶密碼,若密碼正確,系統(tǒng)打開“主界面”窗體?!爸鹘缑姘濉贝绑w包含控制整個數(shù)據(jù)庫的各項(xiàng)功能。10.6.1創(chuàng)建“系統(tǒng)登錄”窗體雙擊“學(xué)生成績管理系統(tǒng).mdb”數(shù)據(jù)庫文件,進(jìn)入登陸界面,如圖

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論