




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章
窗體對象功能設計本章學習目標:學習Access2007窗體對象功能分析方法學習并掌握VBE的使用方法學習并掌握在窗體設計視圖中進行窗體對象功能程序設計的方法完成“零售商店管理信息系統”中三個主要窗體的功能設計模仿實例,自行完成“零售商店管理信息系統”中其他窗體的功能設計通過第6章的學習,我們掌握了Access2007數據庫中窗體對象的界面設計方法。同時,通過實踐實現了“商品進貨數據錄入”、“商品上柜數據錄入”、“銷售數據錄入”和“零售商店管理信息系統”等四個窗體對象的界面設計,但是它們的功能尚未實現。因此,本章先來分析一下這些窗體應該具備一些什么樣的功能。第7章窗體對象功能設計7.1窗體對象功能分析
Access2007數據庫應用系統中的窗體對象主要用于形成人機操作界面,操作者將在這個界面上完成自己份內的工作??梢跃偷?章中分析得到的三個窗體對象進行功能分析。7.1.1“商品進貨數據錄入”窗體功能分析這個窗體提供的操作界面供商店管理人員使用,商店管理人員通過在這個窗體界面上的操作,完成進貨數據(包括商品貨號、商品名稱、商品規格、計量單位、進貨單價、進貨數量等等)的錄入。每一項進貨數據輸入完畢,都必須根據本次進貨商品數據修改“庫存數據記錄”數據表中的對應數據(比如,庫存數量=原庫存數量+本次進貨數量),以保證“庫存數據記錄”數據表中數據的正確性。同時,還應該記錄的數據包括“進貨日期”、“收貨人”和“供貨商”等數據。基于上述分析,需要在“商品進貨數據錄入”窗體對象中編寫三段程序:“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”和“PrivateSubCommand47_Click()”。其中假定標簽為“進貨貨號”的文本框“名稱”屬性值為“Text19”,位于窗體頁腳中的“保存記錄”命令按鈕的“名稱”屬性值為“Command35”,位于窗體頁腳中的“退出”命令按鈕的“名稱”屬性值為“Command47”。7.1.1“商品進貨數據錄入”窗體功能分析這個窗體提供的操作界面也是供商店管理人員使用的,當商店管理人員在發現某些商品的柜存數量偏少時,必須將這些商品由庫存中搬至銷售柜臺上??疾焐唐窋祿鳎簿褪菧p少“庫存數據記錄”數據表中的對應商品庫存數據記錄,并增加“柜存數據記錄”數據表中的對應商品柜存數據記錄。商店管理人員通過在這個窗體界面上的操作,完成上柜商品數據(包括商品貨號、商品名稱、商品規格、計量單位、銷售單價、上柜數量等等)的錄入。每一項上柜數據輸入完畢,都必須根據實際輸入的數據修改“庫存數據記錄”數據表中的對應數據(庫存數量=原庫存數量-本次上柜數量),以保證“庫存數據記錄”數據表中數據的正確性。同時,還應該修改“柜存數據記錄”數據表中的對應數據(柜存數量=原柜存數量+本次上柜數量)。最后,還應該記錄的數據包括“上柜日期”、“上柜人”和“營業員”等數據。7.1.2“商品上柜數據錄入”窗體功能分析基于上述分析,需要在“商品上柜數據錄入”窗體對象中編寫四段程序:“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”、“PrivateSubCommand47_Click()”和“PrivateSubCommand63_Click()”。其中,假定標簽為“商品貨號”的文本框“名稱”屬性值為“Text19”,位于窗體頁腳中的“保存數據”命令按鈕的“名稱”屬性值為“Command35”,位于窗體頁腳中的“退出”命令按鈕的“名稱”屬性值為“Command47”,位于窗體頁腳中的“查閱庫存商品數據記錄”命令按鈕的“名稱”屬性值為“Command63”。7.1.2“商品上柜數據錄入”窗體功能分析
營業員出售商品并將其出售商品的種類與數量等信息記錄在“銷售數據記錄”數據表中,這一職責稱為“銷售數據錄入”。從管理職能上講,售貨員僅有權以銷售單價出售存放在銷售柜臺上的商品,無權訪問庫存商品記錄。而任一商品的銷售單價均由管理人員通過“商品上柜數據錄入”操作予以指定,售貨員無權更改。在為營業員設計操作方式時,可以這樣考慮,營業員首先必須在位于“銷售數據錄入”窗體頁眉中的標簽為“銷售日期”的文本框控件中輸入當天的日期,而后在位于“銷售數據錄入”窗體頁眉中的標簽為“營業員”的組合框控件中選定自己的姓名。此時,位于“銷售數據錄入”窗體主體中的子數據表中顯示該營業員當天的全部銷售數據。7.1.3“銷售數據錄入”窗體功能分析基于上述分析,需要在“銷售數據錄入”窗體對象中編寫五段程序:“PrivateSubCombo45_AfterUpdate()”、“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”、“PrivateSubCommand47_Click()”和“PrivateSubText27_LostFocus()”。其中,假定位于窗體頁眉中的標簽為“營業員”的組合框“名稱”屬性值為“Combo45”,位于窗體頁眉中的標簽為“商品貨號”的文本框“名稱”屬性值為“Text19”,位于窗體頁腳中的“現金收訖”命令按鈕的“名稱”屬性值為“Command35”,位于窗體頁腳中的“退出”命令按鈕的“名稱”屬性值為“Command47”,位于窗體頁眉中的標簽為“銷售數量”的文本框“名稱”屬性值為“Text27”。除此之外,還需要為位于窗體頁腳中的“柜存信息”命令按鈕編寫調用宏對象的方法,這將留待后續章節介紹。7.1.3“銷售數據錄入”窗體功能分析7.2Access2007編程環境
Access2007的編程環境為MicrosoftVisualBasicEditor(簡稱為VBE)。這是一個MicrosoftOffice套件軟件公用的一個程序編輯系統,具有豐富的功能。7.2.1啟動VBE
Access2007數據庫中包含的程序創建與編輯調試環境均為VBE,但是啟動VBE的方式可以不同。1.創建VBA程序模塊所謂VBA程序模塊是指包含在窗體、報表等數據庫基本對象之中的事件處理方法,這樣的程序模塊僅在本對象處于活動狀態下有效。例如,在上一節中分析得到的那些方法(程序)即屬于這一類型。現以“商品進貨數據錄入”窗體對象中包含的VBA程序模塊編寫為例,說明啟動VBE的方法。首先進入“商品進貨數據錄入”窗體設計視圖;接著選定需要對之編寫方法的對象,例如選定位于窗體頁眉中標簽為“進貨貨號”的文本框控件;單擊“工具”邏輯組中的“屬性標”按鈕,隨之出現這個文本框控件的屬性表對話框,如圖7-2-1所示。圖7-2-1Text19文本框控件屬性表對話框中的事件屬性卡1.創建VBA程序模塊由于Access2007中的程序實質上是處理相關事件的方法,因此需要選擇屬性對話框中的“事件”屬性卡。觀察圖7-2-1所示,可以看到文本框控件可以處理的事件包括“單擊”、“更新前”、“更新后”等等共17項,每一項事件的含義如同事件名稱所述。為了編寫位于“商品進貨數據錄入”窗體頁眉中標簽為“進貨貨號”的文本框控件處理“更新后”事件的VBA程序,應該在“Text19”文本框控件的“更新后”事件行右側單擊“生成器”按鈕
,出現“選擇生成器”對話框,如圖7-2-2所示。1.創建VBA程序模塊圖7-2-2“選擇生成器”對話框1.創建VBA程序模塊圖7-2-3VBE界面1.創建VBA程序模塊2.編輯VBA程序模塊如果已經在一個窗體中編寫了一些VBA程序,需要對之進行修改編輯,當然也可以采用上述方式啟動VBE。另外,還可以有一個更加方便的方式。在一個窗體對象設計視圖中,單擊“工具”邏輯組中的“查看代碼”按鈕,也可以啟動VBE。采用這樣的方式啟動VBE,在VBE代碼窗口中將顯示當前選中的窗體對象包含的代碼。在VBE代碼窗口中,即可針對這個窗體對象包含的VBA程序代碼實施編輯操作。7.2.2VBE界面在圖7-2-3所示VBE界面的頂部,包含三行工具欄。自上而下,這三行工具欄分別為:(1)“標準”工具欄“標準”工具欄包含幾個常用的菜單項快捷方式的按鈕。(2)“編輯”工具欄“編輯”工具欄包含幾個在編輯代碼時經常使用的常用菜單項快捷方式的按鈕。(3)“調試”工具欄“調試”工具欄包含了在調試代碼中常用的菜單快捷方式的按鈕。1.VBE工具欄2.VBE窗口
VBE使用多種不同窗口來顯示不同對象或是完成不同任務。VBE中的窗口有:代碼窗口、立即窗口、本地窗口、對象瀏覽器、工程資源管理器、屬性窗口、工具箱、用戶窗體窗口和監視窗口等。在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監視窗口2.VBE窗口(4)監視窗口圖7-2-11對象瀏覽器2.VBE窗口(5)對象瀏覽器圖7-2-12工程資源管理器2.VBE窗口(6)工程資源管理器圖7-2-13屬性窗口2.VBE窗口(7)屬性窗口7.3VBA程序設計基礎
VBA數據類型繼承了傳統的Basic語言(如MicrosoftQuickBasic)的特點,在VBA應用程序中,也需要對變量的數據類型進行說明。VBA提供了較為完備的數據類型,Access2007數據表中的字段使用的主要數據類型在VBA中都有與之對應的類型。
VBA數據類型、類型聲明符、數據類型和取值范圍如表7-3-1所示。7.3.1數據類型常量是指在程序運行的過程中,其值不能被改變的量。常量的使用可以增加代碼的可讀性,并且使代碼更加容易維護。此外,使用固有常量——MicrosoftAccess、MicrosoftforAccessApplications以及MicrosoftVisualBasic等支持的常量,可以保證即使常量所代表的基礎值在MicrosoftAccess版本升級換代后也能使代碼正常運行。除了直接常量(即通常的數值或字符串值常量,如:123,"Lee"等,也稱為字面常量)外,MicrosoftAccess2007還支持三種類型的常量。符號常量:用Const語句創建,并且在模塊中使用的常量。固有常量:是MicrosoftAccess2007或引用庫的一部分。系統定義常量:True、False和Null。1.常量7.3.2常量、變量與數組2.變量
變量實際上是一個符號地址,它代表了命名的存儲位置,包含在程序執行階段修改的數據。每個變量都有變量名,在其作用域范圍內可惟一識別。使用前可以指定數據類型(即采用顯式聲明),也可以不指定(即采用隱式聲明)。7.3.2常量、變量與數組變量名必須以字母字符開頭,在同一范圍內必須是惟一的,不能超過255個字符,而且中間不能包含句點或類型聲明字符。雖然在代碼中允許使用未經聲明的變量,但一個良好的編程習慣應該是在程序開始幾行聲明將用于本程序的所有變量。這樣做的目的是為了避免數據輸入的錯誤,提高應用程序的可維護性。對變量進行聲明可以使用類型說明符號、Dim語句和DefType語句。2.變量(1)變量的聲明2.變量表7-3-2DefType語句和相應的數據類型在聲明變量作用域時可以將變量聲明為Locate(本地)、Private(私有,Module模塊級)或Public(公共)。
本地變量:僅在聲明變量的過程中有效。在過程和函數內部所聲明的變量,不管是否使用Dim語句,都是本地變量。本地變量具有在本地使用的最高優先級,即當存在與本地變量同名的模塊級的私有或公共變量時,模塊級的變量則被屏蔽。
私有變量:在所聲明的模塊中的所有函數和過程都有效。私有變量必須在模塊的通用聲明部分使用“Private變量名As數據類型”進行聲明。
公共變量:在所有模塊的所有過程和函數都可以使用。在模塊通用聲明中使用“Public變量名As數據類型”聲明公共變量。2.變量(2)變量的作用域和生命周期2.變量模塊對象模塊APublicintA1asintegerPrivateintA2asintegerSubA1()本地變量私有變量intA2公共變量intA1,intB1EndSubSubA2()本地變量私有變量intA2公共變量intA1,intB1EndSub模塊BPublicintB1asintegerPrivateintB2asintegerSubB1()本地變量私有變量intB2公共變量intB1,intA1EndSubSubB2()本地變量私有變量inBt2公共變量intB1,intA1EndSub圖7-3-2變量作用域3.VBA數組
數組是由一組具有相同數據類型的變量(稱為數組元素)構成的集合。(1)數組的聲明在VBA中不允許隱式說明數組,用戶可用Dim語句來聲明數組,聲明方式為:
Dim數組名(數組下標上界)As數據類型(2)數組的使用數組聲明后,數組中的每個元素都可以當作單個變量來使用,其使用方法與相同類型的普通變量一樣。其元素引用格式為:數組名(下標值表)7.3.2常量、變量與數組7.3.3運算符與表達式運算是對數據的加工,最基本的運算形式常常可以用一些簡潔的符號來描述,這些符號稱為運算符或操作符。VBA提供了豐富的運算符,可以構成多種表達式。表達式是許多MicrosoftAccess2007操作的基本組成部分,是運算符、常量、文字值、函數和字段名、控件和屬性的任何組合,可以使用表達式作為很多屬性和操作參數的設置;在窗體、報表和數據訪問頁中定義計算控件;在查詢中設置準則或定義計算字段以及在宏中設置條件等等。算術運算符是常用的運算符,用來執行簡單的算術運算。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中,允許部分不同數據類型的量進行比較,但要注意其運算方法。關系運算符的優先次序如下:(1)=、<>或><的優先級別相同,<、>、>=、<=優先級別也相同,前兩種關系運算符的優先級別低于后四種關系運算符。(最好不要出現連續的關系運算,可以考慮將其轉化成多個關系表達式。)(2)關系運算符的優先級低于算術運算符。(3)關系運算符的優先級高于賦值運算符(=)。3.關系與邏輯運算符、邏輯表達式及其取值(2)邏輯運算符邏輯運算也稱布爾運算,由邏輯運算符連接兩個或多個關系式,組成一個布爾表達式。
VBA的邏輯運算符有表6-9所列6種:表6-10列出了邏輯運算真值表。3.關系與邏輯運算符、邏輯表達式及其取值3.關系與邏輯運算符、邏輯表達式及其取值表6-10邏輯運算真值表
3.關系與邏輯運算符、邏輯表達式及其取值(1)對象運算符對象運算表達式中使用!和.
兩種運算符,使用對象運算符指示隨后將出現的項目類型。①!運算符!運算符的作用是指出隨后為用戶定義的內容。使用!運算符可以引用一個開啟的窗體、報表或開啟窗體或報表上的控件。表9-7列出了3種引用方式。②.(點)運算符.(點)運算符通常指出隨后為MicrosoftAccess定義的內容。例如,使用.(點)運算符可引用窗體、報表或控件等對象的屬性。4.對象運算符與對象運算表達式(2)在表達式中引用對象在表達式中可以使用標識符來引用一個對象或對象的屬性。例如,可以引用一個開啟的報表的Visible屬性:Reports![發貨單]![貨主國家].Visible,[發貨單]引用“報表”集合中的“發貨單”報表,[貨主國家]引用“發貨單”報表上的“運貨商”控件。例如:將標簽0的顏色設置為紅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《智謀物流管理》課件
- 鐵道機車專業教學鄭州鐵路單紹平35課件
- 鐵道機車專業教學鄭州鐵路張中央70課件
- 天津海運職業于禎妮GroupTouristsBoardin
- 鐵道概論授課崔桂蘭64課件
- 鐵路信號與通信設備接發列車工作90課件
- 中醫文獻課件
- 個人介紹課件
- 設備融資租賃合同樣本
- 多式聯運貨物運輸保險合同主要條款
- 躲不開的食品添加劑講解課件
- 個體診所常見違法行為課件
- 地下車庫設計專題 停車位與柱網分析-76p
- stagetec產品介紹及-廣電版
- 新農村農房建設課件
- 非急救醫療轉運管理規范(醫院院前急救體系補充)
- 四年級下冊信息技術課件-7.文化瑰寶探秘|大連理工版 (共15張PPT)
- 依戀的發展PPT演示課件(PPT 76頁)
- 維修電工高級技師論文(6篇推薦范文)
- 六年級下冊數學課件--總復習《圖形的運動》北師大版.--共20張PPT
- 6SE70系列變頻器講解及Drive-Monitor調試(工程師培訓)課件
評論
0/150
提交評論