版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章
窗體對象功能設計本章學習目標:學習Access2007窗體對象功能分析方法學習并掌握VBE的使用方法學習并掌握在窗體設計視圖中進行窗體對象功能程序設計的方法完成“零售商店管理信息系統(tǒng)”中三個主要窗體的功能設計模仿實例,自行完成“零售商店管理信息系統(tǒng)”中其他窗體的功能設計通過第6章的學習,我們掌握了Access2007數(shù)據(jù)庫中窗體對象的界面設計方法。同時,通過實踐實現(xiàn)了“商品進貨數(shù)據(jù)錄入”、“商品上柜數(shù)據(jù)錄入”、“銷售數(shù)據(jù)錄入”和“零售商店管理信息系統(tǒng)”等四個窗體對象的界面設計,但是它們的功能尚未實現(xiàn)。因此,本章先來分析一下這些窗體應該具備一些什么樣的功能。第7章窗體對象功能設計7.1窗體對象功能分析
Access2007數(shù)據(jù)庫應用系統(tǒng)中的窗體對象主要用于形成人機操作界面,操作者將在這個界面上完成自己份內的工作??梢跃偷?章中分析得到的三個窗體對象進行功能分析。7.1.1“商品進貨數(shù)據(jù)錄入”窗體功能分析這個窗體提供的操作界面供商店管理人員使用,商店管理人員通過在這個窗體界面上的操作,完成進貨數(shù)據(jù)(包括商品貨號、商品名稱、商品規(guī)格、計量單位、進貨單價、進貨數(shù)量等等)的錄入。每一項進貨數(shù)據(jù)輸入完畢,都必須根據(jù)本次進貨商品數(shù)據(jù)修改“庫存數(shù)據(jù)記錄”數(shù)據(jù)表中的對應數(shù)據(jù)(比如,庫存數(shù)量=原庫存數(shù)量+本次進貨數(shù)量),以保證“庫存數(shù)據(jù)記錄”數(shù)據(jù)表中數(shù)據(jù)的正確性。同時,還應該記錄的數(shù)據(jù)包括“進貨日期”、“收貨人”和“供貨商”等數(shù)據(jù)?;谏鲜龇治觯枰凇吧唐愤M貨數(shù)據(jù)錄入”窗體對象中編寫三段程序:“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”和“PrivateSubCommand47_Click()”。其中假定標簽為“進貨貨號”的文本框“名稱”屬性值為“Text19”,位于窗體頁腳中的“保存記錄”命令按鈕的“名稱”屬性值為“Command35”,位于窗體頁腳中的“退出”命令按鈕的“名稱”屬性值為“Command47”。7.1.1“商品進貨數(shù)據(jù)錄入”窗體功能分析這個窗體提供的操作界面也是供商店管理人員使用的,當商店管理人員在發(fā)現(xiàn)某些商品的柜存數(shù)量偏少時,必須將這些商品由庫存中搬至銷售柜臺上??疾焐唐窋?shù)據(jù)流,也就是減少“庫存數(shù)據(jù)記錄”數(shù)據(jù)表中的對應商品庫存數(shù)據(jù)記錄,并增加“柜存數(shù)據(jù)記錄”數(shù)據(jù)表中的對應商品柜存數(shù)據(jù)記錄。商店管理人員通過在這個窗體界面上的操作,完成上柜商品數(shù)據(jù)(包括商品貨號、商品名稱、商品規(guī)格、計量單位、銷售單價、上柜數(shù)量等等)的錄入。每一項上柜數(shù)據(jù)輸入完畢,都必須根據(jù)實際輸入的數(shù)據(jù)修改“庫存數(shù)據(jù)記錄”數(shù)據(jù)表中的對應數(shù)據(jù)(庫存數(shù)量=原庫存數(shù)量-本次上柜數(shù)量),以保證“庫存數(shù)據(jù)記錄”數(shù)據(jù)表中數(shù)據(jù)的正確性。同時,還應該修改“柜存數(shù)據(jù)記錄”數(shù)據(jù)表中的對應數(shù)據(jù)(柜存數(shù)量=原柜存數(shù)量+本次上柜數(shù)量)。最后,還應該記錄的數(shù)據(jù)包括“上柜日期”、“上柜人”和“營業(yè)員”等數(shù)據(jù)。7.1.2“商品上柜數(shù)據(jù)錄入”窗體功能分析基于上述分析,需要在“商品上柜數(shù)據(jù)錄入”窗體對象中編寫四段程序:“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”、“PrivateSubCommand47_Click()”和“PrivateSubCommand63_Click()”。其中,假定標簽為“商品貨號”的文本框“名稱”屬性值為“Text19”,位于窗體頁腳中的“保存數(shù)據(jù)”命令按鈕的“名稱”屬性值為“Command35”,位于窗體頁腳中的“退出”命令按鈕的“名稱”屬性值為“Command47”,位于窗體頁腳中的“查閱庫存商品數(shù)據(jù)記錄”命令按鈕的“名稱”屬性值為“Command63”。7.1.2“商品上柜數(shù)據(jù)錄入”窗體功能分析
營業(yè)員出售商品并將其出售商品的種類與數(shù)量等信息記錄在“銷售數(shù)據(jù)記錄”數(shù)據(jù)表中,這一職責稱為“銷售數(shù)據(jù)錄入”。從管理職能上講,售貨員僅有權以銷售單價出售存放在銷售柜臺上的商品,無權訪問庫存商品記錄。而任一商品的銷售單價均由管理人員通過“商品上柜數(shù)據(jù)錄入”操作予以指定,售貨員無權更改。在為營業(yè)員設計操作方式時,可以這樣考慮,營業(yè)員首先必須在位于“銷售數(shù)據(jù)錄入”窗體頁眉中的標簽為“銷售日期”的文本框控件中輸入當天的日期,而后在位于“銷售數(shù)據(jù)錄入”窗體頁眉中的標簽為“營業(yè)員”的組合框控件中選定自己的姓名。此時,位于“銷售數(shù)據(jù)錄入”窗體主體中的子數(shù)據(jù)表中顯示該營業(yè)員當天的全部銷售數(shù)據(jù)。7.1.3“銷售數(shù)據(jù)錄入”窗體功能分析基于上述分析,需要在“銷售數(shù)據(jù)錄入”窗體對象中編寫五段程序:“PrivateSubCombo45_AfterUpdate()”、“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”、“PrivateSubCommand47_Click()”和“PrivateSubText27_LostFocus()”。其中,假定位于窗體頁眉中的標簽為“營業(yè)員”的組合框“名稱”屬性值為“Combo45”,位于窗體頁眉中的標簽為“商品貨號”的文本框“名稱”屬性值為“Text19”,位于窗體頁腳中的“現(xiàn)金收訖”命令按鈕的“名稱”屬性值為“Command35”,位于窗體頁腳中的“退出”命令按鈕的“名稱”屬性值為“Command47”,位于窗體頁眉中的標簽為“銷售數(shù)量”的文本框“名稱”屬性值為“Text27”。除此之外,還需要為位于窗體頁腳中的“柜存信息”命令按鈕編寫調用宏對象的方法,這將留待后續(xù)章節(jié)介紹。7.1.3“銷售數(shù)據(jù)錄入”窗體功能分析7.2Access2007編程環(huán)境
Access2007的編程環(huán)境為MicrosoftVisualBasicEditor(簡稱為VBE)。這是一個MicrosoftOffice套件軟件公用的一個程序編輯系統(tǒng),具有豐富的功能。7.2.1啟動VBE
Access2007數(shù)據(jù)庫中包含的程序創(chuàng)建與編輯調試環(huán)境均為VBE,但是啟動VBE的方式可以不同。1.創(chuàng)建VBA程序模塊所謂VBA程序模塊是指包含在窗體、報表等數(shù)據(jù)庫基本對象之中的事件處理方法,這樣的程序模塊僅在本對象處于活動狀態(tài)下有效。例如,在上一節(jié)中分析得到的那些方法(程序)即屬于這一類型?,F(xiàn)以“商品進貨數(shù)據(jù)錄入”窗體對象中包含的VBA程序模塊編寫為例,說明啟動VBE的方法。首先進入“商品進貨數(shù)據(jù)錄入”窗體設計視圖;接著選定需要對之編寫方法的對象,例如選定位于窗體頁眉中標簽為“進貨貨號”的文本框控件;單擊“工具”邏輯組中的“屬性標”按鈕,隨之出現(xiàn)這個文本框控件的屬性表對話框,如圖7-2-1所示。圖7-2-1Text19文本框控件屬性表對話框中的事件屬性卡1.創(chuàng)建VBA程序模塊由于Access2007中的程序實質上是處理相關事件的方法,因此需要選擇屬性對話框中的“事件”屬性卡。觀察圖7-2-1所示,可以看到文本框控件可以處理的事件包括“單擊”、“更新前”、“更新后”等等共17項,每一項事件的含義如同事件名稱所述。為了編寫位于“商品進貨數(shù)據(jù)錄入”窗體頁眉中標簽為“進貨貨號”的文本框控件處理“更新后”事件的VBA程序,應該在“Text19”文本框控件的“更新后”事件行右側單擊“生成器”按鈕
,出現(xiàn)“選擇生成器”對話框,如圖7-2-2所示。1.創(chuàng)建VBA程序模塊圖7-2-2“選擇生成器”對話框1.創(chuàng)建VBA程序模塊圖7-2-3VBE界面1.創(chuàng)建VBA程序模塊2.編輯VBA程序模塊如果已經(jīng)在一個窗體中編寫了一些VBA程序,需要對之進行修改編輯,當然也可以采用上述方式啟動VBE。另外,還可以有一個更加方便的方式。在一個窗體對象設計視圖中,單擊“工具”邏輯組中的“查看代碼”按鈕,也可以啟動VBE。采用這樣的方式啟動VBE,在VBE代碼窗口中將顯示當前選中的窗體對象包含的代碼。在VBE代碼窗口中,即可針對這個窗體對象包含的VBA程序代碼實施編輯操作。7.2.2VBE界面在圖7-2-3所示VBE界面的頂部,包含三行工具欄。自上而下,這三行工具欄分別為:(1)“標準”工具欄“標準”工具欄包含幾個常用的菜單項快捷方式的按鈕。(2)“編輯”工具欄“編輯”工具欄包含幾個在編輯代碼時經(jīng)常使用的常用菜單項快捷方式的按鈕。(3)“調試”工具欄“調試”工具欄包含了在調試代碼中常用的菜單快捷方式的按鈕。1.VBE工具欄2.VBE窗口
VBE使用多種不同窗口來顯示不同對象或是完成不同任務。VBE中的窗口有:代碼窗口、立即窗口、本地窗口、對象瀏覽器、工程資源管理器、屬性窗口、工具箱、用戶窗體窗口和監(jiān)視窗口等。在VBE窗口的“視圖”菜單中包括了用于打開各種窗口的菜單命令。下面分別介紹各種窗口的使用。7.2.2VBE界面(1)代碼窗口圖7-2-7VBE代碼窗口2.VBE窗口圖7-2-8立即窗口示例2.VBE窗口(2)立即窗口圖7-2-9本地窗口2.VBE窗口(3)本地窗口圖7-2-10監(jiān)視窗口2.VBE窗口(4)監(jiān)視窗口圖7-2-11對象瀏覽器2.VBE窗口(5)對象瀏覽器圖7-2-12工程資源管理器2.VBE窗口(6)工程資源管理器圖7-2-13屬性窗口2.VBE窗口(7)屬性窗口7.3VBA程序設計基礎
VBA數(shù)據(jù)類型繼承了傳統(tǒng)的Basic語言(如MicrosoftQuickBasic)的特點,在VBA應用程序中,也需要對變量的數(shù)據(jù)類型進行說明。VBA提供了較為完備的數(shù)據(jù)類型,Access2007數(shù)據(jù)表中的字段使用的主要數(shù)據(jù)類型在VBA中都有與之對應的類型。
VBA數(shù)據(jù)類型、類型聲明符、數(shù)據(jù)類型和取值范圍如表7-3-1所示。7.3.1數(shù)據(jù)類型常量是指在程序運行的過程中,其值不能被改變的量。常量的使用可以增加代碼的可讀性,并且使代碼更加容易維護。此外,使用固有常量——MicrosoftAccess、MicrosoftforAccessApplications以及MicrosoftVisualBasic等支持的常量,可以保證即使常量所代表的基礎值在MicrosoftAccess版本升級換代后也能使代碼正常運行。除了直接常量(即通常的數(shù)值或字符串值常量,如:123,"Lee"等,也稱為字面常量)外,MicrosoftAccess2007還支持三種類型的常量。符號常量:用Const語句創(chuàng)建,并且在模塊中使用的常量。固有常量:是MicrosoftAccess2007或引用庫的一部分。系統(tǒng)定義常量:True、False和Null。1.常量7.3.2常量、變量與數(shù)組2.變量
變量實際上是一個符號地址,它代表了命名的存儲位置,包含在程序執(zhí)行階段修改的數(shù)據(jù)。每個變量都有變量名,在其作用域范圍內可惟一識別。使用前可以指定數(shù)據(jù)類型(即采用顯式聲明),也可以不指定(即采用隱式聲明)。7.3.2常量、變量與數(shù)組變量名必須以字母字符開頭,在同一范圍內必須是惟一的,不能超過255個字符,而且中間不能包含句點或類型聲明字符。雖然在代碼中允許使用未經(jīng)聲明的變量,但一個良好的編程習慣應該是在程序開始幾行聲明將用于本程序的所有變量。這樣做的目的是為了避免數(shù)據(jù)輸入的錯誤,提高應用程序的可維護性。對變量進行聲明可以使用類型說明符號、Dim語句和DefType語句。2.變量(1)變量的聲明2.變量表7-3-2DefType語句和相應的數(shù)據(jù)類型在聲明變量作用域時可以將變量聲明為Locate(本地)、Private(私有,Module模塊級)或Public(公共)。
本地變量:僅在聲明變量的過程中有效。在過程和函數(shù)內部所聲明的變量,不管是否使用Dim語句,都是本地變量。本地變量具有在本地使用的最高優(yōu)先級,即當存在與本地變量同名的模塊級的私有或公共變量時,模塊級的變量則被屏蔽。
私有變量:在所聲明的模塊中的所有函數(shù)和過程都有效。私有變量必須在模塊的通用聲明部分使用“Private變量名As數(shù)據(jù)類型”進行聲明。
公共變量:在所有模塊的所有過程和函數(shù)都可以使用。在模塊通用聲明中使用“Public變量名As數(shù)據(jù)類型”聲明公共變量。2.變量(2)變量的作用域和生命周期2.變量模塊對象模塊APublicintA1asintegerPrivateintA2asintegerSubA1()本地變量私有變量intA2公共變量intA1,intB1EndSubSubA2()本地變量私有變量intA2公共變量intA1,intB1EndSub模塊BPublicintB1asintegerPrivateintB2asintegerSubB1()本地變量私有變量intB2公共變量intB1,intA1EndSubSubB2()本地變量私有變量inBt2公共變量intB1,intA1EndSub圖7-3-2變量作用域3.VBA數(shù)組
數(shù)組是由一組具有相同數(shù)據(jù)類型的變量(稱為數(shù)組元素)構成的集合。(1)數(shù)組的聲明在VBA中不允許隱式說明數(shù)組,用戶可用Dim語句來聲明數(shù)組,聲明方式為:
Dim數(shù)組名(數(shù)組下標上界)As數(shù)據(jù)類型(2)數(shù)組的使用數(shù)組聲明后,數(shù)組中的每個元素都可以當作單個變量來使用,其使用方法與相同類型的普通變量一樣。其元素引用格式為:數(shù)組名(下標值表)7.3.2常量、變量與數(shù)組7.3.3運算符與表達式運算是對數(shù)據(jù)的加工,最基本的運算形式常??梢杂靡恍┖啙嵉姆杹砻枋?,這些符號稱為運算符或操作符。VBA提供了豐富的運算符,可以構成多種表達式。表達式是許多MicrosoftAccess2007操作的基本組成部分,是運算符、常量、文字值、函數(shù)和字段名、控件和屬性的任何組合,可以使用表達式作為很多屬性和操作參數(shù)的設置;在窗體、報表和數(shù)據(jù)訪問頁中定義計算控件;在查詢中設置準則或定義計算字段以及在宏中設置條件等等。算術運算符是常用的運算符,用來執(zhí)行簡單的算術運算。VBA提供了8個算術運算符,表6-7列出了這些算術運算符。在8個算術運算符中,除取負(-)是單目運算符外,其它均為雙目運算符。加(+),減(-),乘(*),取負(-)等1.算術運算符與算術表達式
表6-7算術運算符
1.算術運算符與算術表達式
字符串連接(&)用來連接多個字符串(字符串相加)。例如:A$="My"B$="Home"C$=A$+B$運算結果為:變量C$的值為"MyHome"。在VBA中,“+”既可用作加法運算符,還可以用作字符串連接符,但“&”專門用作字符串連接運算符,其作用與“+”相同。在有些情況下,用“&”比用“+”可能更安全。2.字符串連接符與字符串表達式(1)關系運算符與關系表達式關系運算符也稱比較運算符,用來對兩個表達式的值進行比較,比較的結果是一個邏輯值,即真(True)或假(False)。用關系運算符連接兩個算術表達式所組成的表達式叫做關系表達式。VBA提供了6個關系運算符,如表6-8所示。3.關系與邏輯運算符、邏輯表達式及其取值3.關系與邏輯運算符、邏輯表達式及其取值在VBA中,允許部分不同數(shù)據(jù)類型的量進行比較,但要注意其運算方法。關系運算符的優(yōu)先次序如下:(1)=、<>或><的優(yōu)先級別相同,<、>、>=、<=優(yōu)先級別也相同,前兩種關系運算符的優(yōu)先級別低于后四種關系運算符。(最好不要出現(xiàn)連續(xù)的關系運算,可以考慮將其轉化成多個關系表達式。)(2)關系運算符的優(yōu)先級低于算術運算符。(3)關系運算符的優(yōu)先級高于賦值運算符(=)。3.關系與邏輯運算符、邏輯表達式及其取值(2)邏輯運算符邏輯運算也稱布爾運算,由邏輯運算符連接兩個或多個關系式,組成一個布爾表達式。
VBA的邏輯運算符有表6-9所列6種:表6-10列出了邏輯運算真值表。3.關系與邏輯運算符、邏輯表達式及其取值3.關系與邏輯運算符、邏輯表達式及其取值表6-10邏輯運算真值表
3.關系與邏輯運算符、邏輯表達式及其取值(1)對象運算符對象運算表達式中使用!和.
兩種運算符,使用對象運算符指示隨后將出現(xiàn)的項目類型。①!運算符!運算符的作用是指出隨后為用戶定義的內容。使用!運算符可以引用一個開啟的窗體、報表或開啟窗體或報表上的控件。表9-7列出了3種引用方式。②.(點)運算符.(點)運算符通常指出隨后為MicrosoftAccess定義的內容。例如,使用.(點)運算符可引用窗體、報表或控件等對象的屬性。4.對象運算符與對象運算表達式(2)在表達式中引用對象在表達式中可以使用標識符來引用一個對象或對象的屬性。例如,可以引用一個開啟的報表的Visible屬性:Reports![發(fā)貨單]![貨主國家].Visible,[發(fā)貨單]引用“報表”集合中的“發(fā)貨單”報表,[貨主國家]引用“發(fā)貨單”報表上的“運貨商”控件。例如:將標簽0的顏色設置為紅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高考數(shù)學一輪知識點復習-計數(shù)原理與二項式定理(解析版)
- 2025年度租賃房屋維修保養(yǎng)責任合同4篇
- 建筑物消防安全的規(guī)劃與布局
- 二零二五版房產(chǎn)中介公司擔保貸款服務合同范本3篇
- 2024年09月江蘇2024年江都農(nóng)商銀行校園招考筆試歷年參考題庫附帶答案詳解
- 加油站能效管理
- 2024年09月全國2024年中國銀行中銀國際證券校園招考筆試歷年參考題庫附帶答案詳解
- 2024年09月2024中國建設銀行江西省分行校園招聘500人筆試歷年參考題庫附帶答案詳解
- 二零二五年度道路危險貨物運輸合同標的運輸資質審核合同4篇
- 2025年度綠色辦公空間植物租賃與空氣質量改善合同4篇
- 中國大百科全書(第二版全32冊)08
- 初中古詩文言文背誦內容
- 天然氣分子篩脫水裝置吸附計算書
- 檔案管理項目 投標方案(技術方案)
- 蘇教版六年級上冊100道口算題(全冊完整版)
- 2024年大學試題(宗教學)-佛教文化筆試考試歷年典型考題及考點含含答案
- 計算機輔助設計智慧樹知到期末考試答案章節(jié)答案2024年青島城市學院
- 知識庫管理規(guī)范大全
- 電腦耗材實施方案、供貨方案、售后服務方案
- 環(huán)衛(wèi)項目年終工作總結
- 弘揚教育家精神爭做四有好老師心得10篇
評論
0/150
提交評論