窗體對(duì)象功能設(shè)計(jì).ppt
《窗體對(duì)象功能設(shè)計(jì).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《窗體對(duì)象功能設(shè)計(jì).ppt(46頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第7章窗體對(duì)象功能設(shè)計(jì),教學(xué)目標(biāo):通過(guò)本章學(xué)習(xí),使讀者能夠完成“迷你超市業(yè)務(wù)信息管理系統(tǒng)”的窗體對(duì)象功能設(shè)計(jì),主要能力目標(biāo):能夠掌握VBE的使用方法。能夠掌握在窗體設(shè)計(jì)視圖中進(jìn)行窗體對(duì)象功能程序設(shè)計(jì)的方法。工作任務(wù):上章我們掌握了Access數(shù)據(jù)庫(kù)中窗體對(duì)象的界面設(shè)計(jì)方法,并創(chuàng)建了窗體對(duì)象的界面設(shè)計(jì),本章完成“商品進(jìn)貨數(shù)據(jù)錄入”和“商品銷售錄入”的窗體功能程序的設(shè)計(jì)。,理論知識(shí),一、VBA模塊概述建立完用戶窗體只是實(shí)現(xiàn)功能的一半,還需要為窗體中的控件編寫(xiě)VBA來(lái)真正實(shí)現(xiàn)其功能。VBA(VisualBasicforApplications)是MicrosoftOffice系列的內(nèi)置編程語(yǔ)言,功能強(qiáng)大,面向?qū)ο螅渌魏蚊嫦驅(qū)ο蟮木幊陶Z(yǔ)言一樣,VBA里也有對(duì)象、屬性、方法和事件。1.對(duì)象:就是代碼和數(shù)據(jù)的組合,可將它看作單元,如表、窗體和文本框等是對(duì)象。每個(gè)對(duì)象由類來(lái)定義。2.屬性:是指定義了對(duì)象的特性,如大小、顏色、對(duì)象狀態(tài)等。3.方法:指對(duì)象能執(zhí)行的動(dòng)作,如刷新、獲得焦點(diǎn)等。4.事件:是一個(gè)對(duì)象可以識(shí)別的動(dòng)作,如鼠標(biāo)單擊或按下某鍵等,并且可以寫(xiě)某些代碼針對(duì)此動(dòng)作來(lái)做出響應(yīng)。,,二、VBA編程基礎(chǔ)1、VBA代碼的實(shí)現(xiàn)方法所有VBA代碼都以模塊的方式保存在數(shù)據(jù)庫(kù)里。創(chuàng)建模塊有兩種方法:(1)作為模塊對(duì)象(2)作為窗體和報(bào)表對(duì)象的一部分(1)模塊對(duì)象創(chuàng)建模塊對(duì)象,方法如下:1)單擊“數(shù)據(jù)庫(kù)”窗口的“模塊”按鈕可查看模塊對(duì)象;2)單擊“新建”按鈕創(chuàng)建一個(gè)新模塊;3)單擊完“新建”按鈕后,彈出MicrosoftVisualBasic代碼設(shè)計(jì)窗口,在代碼窗口中輸入代碼,以實(shí)現(xiàn)模塊的功能。(2)窗體和報(bào)表模塊在窗體和報(bào)表類模塊中,可以創(chuàng)建特別命名的事件過(guò)程來(lái)響應(yīng)事件??梢酝ㄟ^(guò)在“設(shè)計(jì)”視圖中打開(kāi)窗體或報(bào)表,從“視圖”菜單中選擇“代碼”來(lái)編輯該窗體或報(bào)表的模塊。,,2、注釋語(yǔ)句注釋語(yǔ)句用于對(duì)程序或語(yǔ)句的功能給出解釋和說(shuō)明。在VBA程序中,注釋內(nèi)容被顯示成綠色文本。可以通過(guò)兩種方式添加注釋:使用Rem語(yǔ)句,格式如下:Rem注釋語(yǔ)句注釋語(yǔ)句可以放在其他語(yǔ)句之后,但需要用冒號(hào)隔開(kāi)。使用“’”,格式如下:‘注釋語(yǔ)句注釋語(yǔ)句可以直接放在其他語(yǔ)句之后而無(wú)需分隔符。3、連寫(xiě)和換行程序語(yǔ)句一般一句一行,但有時(shí)候可能需要在一行中寫(xiě)幾句代碼,這時(shí)需要用到“:”來(lái)分開(kāi)不同用途的幾個(gè)語(yǔ)句。有時(shí)一句代碼太,書(shū)寫(xiě)起來(lái)不方便,看上去也不美觀,希望將一句代碼分開(kāi)寫(xiě)成幾行,這時(shí)需要用到空格加下劃線“_”。,,4、賦值語(yǔ)句賦值語(yǔ)句指定一個(gè)值或表達(dá)式給變量。賦值語(yǔ)句通常會(huì)包含一個(gè)等號(hào)“=”語(yǔ)法格式如下:Let=Set=Let語(yǔ)句賦值,對(duì)應(yīng)的數(shù)據(jù)類型為字符、數(shù)值類型等,Let通??梢允÷許et語(yǔ)句賦值,對(duì)應(yīng)的是復(fù)雜數(shù)據(jù)類型,可以是用戶自定義的數(shù)據(jù)類型或?qū)ο箢愋偷臄?shù)據(jù)。5、常量和變量(1)聲明常量和變量常量是指在程序過(guò)程中始終固定不變的量。VBA的常量包括數(shù)值常量、字符常量、日期常量、符號(hào)常量、固有常量和系統(tǒng)定義常量等。變量是指在程序運(yùn)行過(guò)程期間取值可以變化的量,除了使用VBA代碼來(lái)操作各種打開(kāi)的窗體或報(bào)表的控件外,還可以在VBA代碼中聲明和使用指定的變量來(lái)臨時(shí)存儲(chǔ)值、計(jì)算結(jié)果或操作數(shù)據(jù)庫(kù)中的任意對(duì)象。,,(2)常量和變量的作用域常量或變量的作用域決定了這個(gè)常量或變量是只能在一個(gè)過(guò)程中使用,還是在一個(gè)模塊中所有過(guò)程中使用,還是可以在數(shù)據(jù)庫(kù)的所有過(guò)程中使用。如果希望一個(gè)變量能被數(shù)據(jù)庫(kù)中所有過(guò)程(即公共作用域)所訪問(wèn),需要在聲明時(shí)加上關(guān)鍵字Public。也可以用關(guān)鍵字Private將一個(gè)變量的適用范圍顯式聲明為模塊內(nèi)(私有作用域)。6、數(shù)據(jù)類型VBA一般用變量保存計(jì)算的結(jié)果、進(jìn)行屬性的設(shè)置、指定方法的參數(shù)以及在過(guò)程間傳遞數(shù)值。為了提高執(zhí)行效率,VBA為變量定義了一個(gè)數(shù)據(jù)類型的集合,VBA支持多種數(shù)據(jù)類型,下表列出了VBA程序中基本數(shù)據(jù)類型,以及它所占用的存儲(chǔ)空間、取值范圍和默認(rèn)值。,,,7、流程控制語(yǔ)句8、過(guò)程和函數(shù)過(guò)程和函數(shù)就是能執(zhí)行特定功能的語(yǔ)句塊。過(guò)程是用VBA語(yǔ)言的聲明和語(yǔ)句組成的單元,作為一個(gè)命名單位的程序段,它可以包含一系列執(zhí)行操作或計(jì)算值的語(yǔ)句和方法。函數(shù)也是過(guò)程,不過(guò)它是一種特殊的、能夠返回值的Function過(guò)程。能否返回值,也是過(guò)程和函數(shù)之間最大的區(qū)別。過(guò)程在一個(gè)地方寫(xiě)了一個(gè)功能模塊之后,如果要在其他地方實(shí)現(xiàn)同樣的功能,不必將該代碼重新寫(xiě)一遍,只要直接調(diào)用就行。當(dāng)功能模塊有錯(cuò)誤時(shí),不必在整個(gè)應(yīng)用程序中查找錯(cuò)誤,只需要改正過(guò)程和函數(shù)調(diào)試成功即可。,9、事件過(guò)程事件過(guò)程用于響應(yīng)由用戶或系統(tǒng)引發(fā)的事件。當(dāng)事件被觸發(fā)時(shí),應(yīng)用程序啟動(dòng)相應(yīng)的模塊處理當(dāng)前事件,然后等待下一個(gè)事件的發(fā)生。在Access系統(tǒng)中,不同對(duì)象可以觸發(fā)的事件不同,主要有鍵盤事件、鼠標(biāo)事件、窗口事件、對(duì)象事件和操作事件等。10、事件過(guò)程編寫(xiě)格式例如:“單擊”事件當(dāng)在某對(duì)象上按下并釋放鼠標(biāo)左鍵時(shí)將觸發(fā)該事件,其事件處理程序的定義格式如下:PrivateSub對(duì)象名_Click()過(guò)程代碼……EndSub,7.1窗體的常用控件與編程設(shè)計(jì),7.1.1“商品進(jìn)貨數(shù)據(jù)錄入”窗體頁(yè)眉功能設(shè)計(jì)7.1.2“商品進(jìn)貨數(shù)據(jù)錄入”窗體頁(yè)腳功能設(shè)計(jì)7.1.3“商品進(jìn)貨數(shù)據(jù)錄入”窗體主體功能設(shè)計(jì)7.1.4“銷售數(shù)據(jù)錄入”窗體功能設(shè)計(jì)7.1.5“銷售數(shù)據(jù)錄入”窗體頁(yè)眉功能設(shè)計(jì)7.1.6“銷售數(shù)據(jù)錄入”窗體主體功能設(shè)計(jì)7.1.7“銷售數(shù)據(jù)錄入”窗體頁(yè)腳功能設(shè)計(jì),7.1.1“商品進(jìn)貨數(shù)據(jù)錄入”窗體頁(yè)眉功能設(shè)計(jì),,7.1.1“商品進(jìn)貨數(shù)據(jù)錄入”窗體頁(yè)眉功能設(shè)計(jì),在頁(yè)眉中有“進(jìn)貨貨號(hào)”文本框、“進(jìn)貨日期”文本框、“進(jìn)貨名稱”文本框、“規(guī)格”文本框、“計(jì)量單位”文本框、“進(jìn)貨單位”文本框、“進(jìn)貨數(shù)量”文本框,“收貨人”組合框和“供貨商”組合框。功能要求:當(dāng)用戶在“進(jìn)貨貨號(hào)”文本框輸入了貨號(hào)后,系統(tǒng)會(huì)在“庫(kù)存數(shù)據(jù)記錄”表中查找該貨號(hào)的商品,如果找不到,說(shuō)明用戶輸入了一個(gè)新的貨號(hào),此時(shí)會(huì)彈出一個(gè)對(duì)話框提示,并在“庫(kù)存數(shù)據(jù)記錄”表中插入一個(gè)新記錄,同時(shí)會(huì)將新的貨號(hào)保存在新記錄中;如果找到了該貨號(hào)的商品,則在窗體頁(yè)眉中的控件除了“收貨日期”、“收貨人”組合框和“供貨商”組合框以外,其余的文本框中會(huì)顯示出該商品的相應(yīng)信息。這樣既防止用戶貨號(hào)輸入錯(cuò)誤,也能減少用戶輸入信息的工作量。當(dāng)然各個(gè)文本框的內(nèi)容是可以被用戶修改的?!笆肇浫掌凇睍?huì)自動(dòng)讀取系統(tǒng)當(dāng)前的日期?!笆肇浫恕苯M合框和“供貨商”組合框需要用戶自己選擇其內(nèi)容,如果不選擇,那么在最后保存數(shù)據(jù)時(shí)會(huì)有提示。,演示操作步驟,代碼講解:,PrivateSubText12_LostFocus()當(dāng)“Text12”控件失去焦點(diǎn)時(shí)將執(zhí)行的代碼Me![貨號(hào)].SetFocus本窗體中“貸號(hào)”控件獲得焦點(diǎn)IfMe![Text12]=""Then如果“Text12”控件的值為空字符串值,則執(zhí)行MsgBox("請(qǐng)輸入進(jìn)貨貨號(hào)!")彈出一個(gè)對(duì)話框,給出提示:請(qǐng)輸入進(jìn)貨貨號(hào)!Me![Text12].SetFocus“Text12”控件獲得焦點(diǎn),讓用戶重新輸入進(jìn)貨貨號(hào)Else否則(即用戶已經(jīng)輸入了貨號(hào))DoCmd.FindRecordMe![Text12],,True,,True查找數(shù)據(jù)源中第一個(gè)當(dāng)前字段(貨號(hào))為“Text12”控件的值的記錄IfMe![貨號(hào)]Me![Text12]Then如果貨號(hào)字段的值不等于“Text12”控件的值(即沒(méi)有找到記錄)IfMsgBox("增加一種新商品?",vbOKCancel,"請(qǐng)確定!")=vbOKThen彈出一個(gè)提示對(duì)話框“增加一種新商品?”,并要求用戶判斷是否確定。如果用戶點(diǎn)擊了“請(qǐng)確定”按鈕,則執(zhí)行下面語(yǔ)句DoCmd.GoToRecord,,acNewRec增加一條新記錄,即增加一個(gè)新的貨物,代碼講解:,Me![貨號(hào)]=Me![Text12]新記錄中,貨號(hào)字段的值為“Text12”控件的值Me![庫(kù)存數(shù)量]=0庫(kù)存數(shù)據(jù)字段的值為“0”Else否則(用戶選擇取消,不增加一個(gè)新的貨物)ExitSub退出程序,即不增加新記錄EndIf結(jié)束IF語(yǔ)句EndIf結(jié)束IF語(yǔ)句。此時(shí)狀態(tài)為貨號(hào)字段的值等于“Text12”控件的值(即找到記錄)Me![Text20]=Me![貨名]將記錄中貨名字段的值賦值給“Text20”控件Me![Text22]=Me![規(guī)格]將記錄中規(guī)格字段的值賦值給“Text22”控件Me![Text24]=Me![計(jì)量單位]將記錄中計(jì)量單位字段的值賦值給“Text24”控件Me![Text26]=Me![進(jìn)貨單價(jià)]將記錄中進(jìn)貨單價(jià)字段的值賦值給“Text26”控件Me![Text28]=0將“0”賦值給“Text28”控件(進(jìn)貨數(shù)量)Me.Refresh刷新本窗體,刷新后“Text20”等控件的值就會(huì)顯示出來(lái)EndIf結(jié)束IF語(yǔ)句EndSub結(jié)束程序,,本窗體所有代碼中涉及到的各控件名稱列于下表(若讀者所建各控件名稱不同,請(qǐng)用正確的控件名稱替換上述各控件名稱):,表“商品進(jìn)貨數(shù)據(jù)錄入”窗體各控件名稱列表,7.1.2“商品進(jìn)貨數(shù)據(jù)錄入”窗體頁(yè)腳功能設(shè)計(jì),“保存記錄”按鈕中我們需要添加代碼。PrivateSubCommand35_Click()OnErrorGoToErr_Command35_ClickIfMe![Text28].Value=0ThenMsgBox("請(qǐng)檢查您的數(shù)據(jù)!")ElseIfMsgBox("確定嗎?",vbOKCancel,"請(qǐng)確定!")=vbOKThenMe![貨名]=Me![Text20]Me![規(guī)格]=Me![text22]Me![計(jì)量單位]=Me![text24]Me![庫(kù)存數(shù)量]=Me![庫(kù)存數(shù)量]+Me![Text28]Me![進(jìn)貨單價(jià)]=Me![Text26]Me![收貨人]=Me![Combo16]Me![供貨商]=Me![Combo18]Me![進(jìn)貨日期]=Me![Text14],演示操作步驟,代碼講解:,DoCmd.DoMenuItemacFormBar,acRecordsMenu,acSaveRecord,,acMenuVer70Me.RefreshElseExitSubEndIfEndIfExit_Command35_Click:ExitSubErr_Command35_Click:MsgBoxErr.DescriptionResumeExit_Command35_ClickEndSub,7.1.3“商品進(jìn)貨數(shù)據(jù)錄入”窗體主體功能設(shè)計(jì),為了數(shù)據(jù)的安全性,設(shè)定主體中各個(gè)控件為只讀。選定主體中的各個(gè)控件,單擊工具欄的“屬性”按鈕,進(jìn)入“數(shù)據(jù)”選項(xiàng)卡,將“是否鎖定”的屬性值改為“是”。注意:因?yàn)橹黧w中的各個(gè)控件是與數(shù)據(jù)庫(kù)綁定的,用戶在修改了控件中的值以后,數(shù)據(jù)庫(kù)中相應(yīng)記錄的值也會(huì)隨之更改。這樣是極不安全的。我們的目的是用戶只能通過(guò)在窗體頁(yè)眉中輸入數(shù)據(jù),并經(jīng)過(guò)“保存記錄”按鈕進(jìn)行保存之后,才能更改數(shù)據(jù)庫(kù)中的數(shù)據(jù)。,7.1.4“銷售數(shù)據(jù)錄入”窗體功能設(shè)計(jì),,,功能講解:,必要功能:1.它能夠?qū)崿F(xiàn)銷售數(shù)據(jù)的錄入,因此它應(yīng)當(dāng)提供用戶對(duì)商品“銷售數(shù)據(jù)記錄”表中所有字段數(shù)據(jù)的錄入;2.在用戶輸入一種銷售商品的信息之后,系統(tǒng)應(yīng)當(dāng)對(duì)該信息進(jìn)行檢查,如果在“柜存數(shù)據(jù)記錄”表中沒(méi)有該種商品,則需給出錯(cuò)誤提示;3.在用戶輸入過(guò)程中應(yīng)對(duì)輸入信息的合法性作出判斷;4.在向“銷售數(shù)據(jù)記錄”表中添加記錄的同時(shí),應(yīng)在“柜存數(shù)據(jù)記錄”表中的“柜存數(shù)量”字段值上減去相應(yīng)的銷售數(shù)量值。,功能講解:,輔助功能:1.為簡(jiǎn)化用戶輸入,在打開(kāi)窗體時(shí)即要求用戶在“商品貨號(hào)”組合框中進(jìn)行選擇,“商品貨號(hào)”組合框數(shù)據(jù)源為“柜存數(shù)據(jù)記錄”表中的貨號(hào)字段;用戶選擇后,系統(tǒng)會(huì)自動(dòng)從“柜存數(shù)據(jù)記錄”表中讀取該商品的“商品名稱”、“規(guī)格”、“計(jì)量單位”和“銷售單價(jià)”等信息并顯示(這些信息為只讀顯示);“銷售員”和“銷售數(shù)量”則要求用戶必須手工輸入;2.為保證用戶輸入的正確性,在用戶輸入完一件商品的銷售信息后,單擊“確認(rèn)”按鈕,信息會(huì)添加到窗體中間的列表中,用戶可進(jìn)行檢查;用戶可以輸入多條銷售信息;在全部信息輸入完成后單擊“現(xiàn)金收訖”按鈕,信息才會(huì)被寫(xiě)入“銷售數(shù)據(jù)記錄”表中;3.窗體中增加一個(gè)“柜存信息”按鈕,以方便用戶查詢商品相關(guān)的柜存數(shù)據(jù);4.在窗體下方有兩個(gè)文本框,用于顯示本次用戶錄入的商品銷售數(shù)據(jù)之和,即本次錄入的商品銷售數(shù)量和銷售總金額。,操作演示及代碼解讀:,,表“銷售數(shù)據(jù)錄入”窗體各控件名稱列表,7.1.5“銷售數(shù)據(jù)錄入”窗體頁(yè)眉功能設(shè)計(jì),代碼講解:IfIsNull(Me![Combo3])Then如果Combo3組合框值為空,即用戶未選擇商品貨號(hào)MsgBox("請(qǐng)選擇商品貨號(hào)!")彈出警告窗口“請(qǐng)選擇商品貨號(hào)!”Me![Combo3].SetFocusCombo3組合框獲得焦點(diǎn)以便用戶選擇商品貨號(hào)ElseMe![Text5].ControlSource="貨名"將表單中Text5文本框的ControlSource屬性值設(shè)為“貨名”,這樣Text5文本框便與貨名字段綁定了Me![text7].ControlSource="規(guī)格"Me![Text9].ControlSource="計(jì)量單位"Me![Text11].ControlSource="銷售單價(jià)"Me![Text19].SetFocusText19文本框獲得焦點(diǎn)以便用戶選擇銷售員DoCmd.FindRecordMe![Combo3],,True,,True查找數(shù)據(jù)源中第一個(gè)當(dāng)前字段(貨號(hào))等于“Combo3”控件的值的記錄Me.RefreshMe![Combo15].SetFocusEndIf,演示操作步驟,更新銷售記錄:,IfIsNull(Me![Combo15])ThenMsgBox("請(qǐng)選擇商品貨號(hào)!")Me![Combo15].SetFocusElseMe![Text17].SetFocusEndIf在“事件”選項(xiàng)卡中的“不在列表中”項(xiàng)中選擇“代碼生成器”,輸入以下代碼:Response=acDataErrContinueMsgBox("請(qǐng)選擇正確的售貨員!"),確認(rèn)按鈕代碼講解:,IfIsNull(Me![Text17])Then一步如果控件Text17的值為空,即用戶未輸入銷售數(shù)量Me![Text17].SetFocusMsgBox("請(qǐng)輸入銷售數(shù)量!")ElseIfMe![Text17]=0Then如果控件Text17的值為0,即用戶輸入的銷售數(shù)量非法Me![Text17].SetFocusMsgBox("銷售數(shù)量輸入錯(cuò)誤!")ElseIfMe![Text17]-Me![text20]>0Then如果控件Text17的值大于控件Text20的值Me![Text17].SetFocusMsgBox("您輸入的銷售數(shù)量超過(guò)了本商品的柜存數(shù)量!")ElseIfMe![Text17]<0Then如果控件Text17的值小于0,由于主體中子窗體內(nèi)的臨時(shí)表禁用戶進(jìn)行刪除操作,所以用戶可輸入負(fù)數(shù)來(lái)對(duì)沖錯(cuò)誤的銷售記錄IfMsgBox("您輸入的銷售數(shù)量是負(fù)值!"”。設(shè)置窗體主體中所有的文本框控件的屬性對(duì)話框中“數(shù)據(jù)”選項(xiàng)卡內(nèi)“是否鎖定”屬性值為“是”。打開(kāi)窗體頁(yè)腳中的Text28文本框的屬性對(duì)話框,設(shè)置“數(shù)據(jù)”選項(xiàng)卡中“控件來(lái)源”屬性值為“=Sum([銷售記錄臨時(shí)表]![銷售數(shù)量])”;打開(kāi)Text29文本框的屬性對(duì)話框,設(shè)置“數(shù)據(jù)”選項(xiàng)卡中“控件來(lái)源”屬性值為“=Sum([銷售記錄臨時(shí)表]![銷售數(shù)量]*[銷售記錄臨時(shí)表]![銷售單價(jià)])”,,PrivateSubCommand26_Click()OnErrorGoToErr_Command26_ClickDoCmd.SetWarningsFalseDoCmd.OpenQuery"銷售記錄臨時(shí)表刪除查詢",acViewNormal,acReadOnlyDoCmd.SetWarningsTrueDoCmd.CloseExit_Command26_Click:ExitSubErr_Command26_Click:MsgBoxErr.DescriptionResumeExit_Command26_ClickEndSub,,4.將“銷售數(shù)據(jù)記錄查詢子窗體”添加到“銷售數(shù)據(jù)錄入”窗體的主體中。設(shè)置子窗體屬性,將“數(shù)據(jù)”選項(xiàng)卡中的“允許刪除”項(xiàng)設(shè)置為“否”。注意:將主體中各控件設(shè)為鎖定,而子窗體設(shè)為不允許刪除,是為了防止用戶直接修改其數(shù)據(jù)從而造成銷售數(shù)據(jù)錄入時(shí)的混亂。,7.1.7“銷售數(shù)據(jù)錄入”窗體頁(yè)腳功能設(shè)計(jì),窗體頁(yè)腳中有兩個(gè)文本框控件和三個(gè)按鈕控件。操作步驟(包含準(zhǔn)備工作)如下:1.創(chuàng)建“銷售記錄臨時(shí)表追加查詢”,其設(shè)計(jì)視圖如圖所示。其數(shù)據(jù)源為“銷售記錄臨時(shí)表”,追加的目的表為“銷售數(shù)據(jù)記錄”表。查詢執(zhí)行后將把“銷售記錄臨時(shí)表”中的數(shù)據(jù)添加到“銷售數(shù)據(jù)記錄”表中。,“銷售記錄臨時(shí)表追加查詢”設(shè)計(jì)視圖,,2.創(chuàng)建“銷售記錄臨時(shí)表刪除查詢”,其設(shè)計(jì)視圖如圖所示。查詢執(zhí)行后將刪除“銷售記錄臨時(shí)表”中所有的記錄。,,“銷售記錄臨時(shí)表刪除查詢”設(shè)計(jì)視圖,,3.設(shè)置好相應(yīng)地大小及位置。4.打開(kāi)Command25(現(xiàn)金收訖)按鈕控件的屬性對(duì)話框,設(shè)置“事件”選項(xiàng)卡中“單擊”屬性,打開(kāi)代碼生成器,輸入以下代碼(右側(cè)斜體文字為代碼的說(shuō)明,不可以輸入):PrivateSubCommand25_Click()OnErrorGoToErr_Command25_ClickIfMsgBox("您確定要將這些銷售數(shù)據(jù)輸入銷售記錄表中嗎?",vbOKCancel,"請(qǐng)確認(rèn)")=vbOKThen彈出對(duì)話框要求用戶確認(rèn)現(xiàn)金已收訖,如果用戶確認(rèn),則DoCmd.SetWarningsFalse屏蔽系統(tǒng)提示信息Me![Text22]=0文本框值歸零Me![Text24]=0,,DoCmd.OpenQuery"銷售記錄臨時(shí)表追加查詢",acViewNormal,acReadOnly執(zhí)行“銷售記錄臨時(shí)表追加查詢”DoCmd.OpenQuery"銷售記錄臨時(shí)表刪除查詢",acViewNormal,acReadOnly執(zhí)行“銷售記錄臨時(shí)表刪除查詢”DoCmd.SetWarningsTrue打開(kāi)系統(tǒng)提示信息Me![Text5].ControlSource=""銷售記錄添加到銷售數(shù)據(jù)記錄表中后,窗體各控件數(shù)值清空Me![text7].ControlSource=""Me![Text9].ControlSource=""Me![Text11].ControlSource=""Me![Combo3]=""Me![Combo15]=""Me![Text17]=""Me![Combo3].SetFocusMe.Refresh刷新表單Else如果用戶選擇了取消,則,,Me![Combo3].SetFocusCombo3控件獲得焦點(diǎn),用戶繼續(xù)輸入銷售數(shù)據(jù)EndIfExit_Command25_Click:ExitSubErr_Command25_Click:MsgBoxErr.DescriptionResumeExit_Command25_ClickEndSub5.打開(kāi)Command26(退出)按鈕控件的屬性對(duì)話框,設(shè)置“事件”選項(xiàng)卡中“單擊”屬性,打開(kāi)代碼生成器,輸入以下代碼:,,6.打開(kāi)柜存信息按鈕控件的屬性對(duì)話框,設(shè)置“事件”選項(xiàng)卡中“單擊”屬性,使用宏來(lái)打開(kāi)一個(gè)窗體。在“單擊”屬性右側(cè)的文本框內(nèi)單擊后,選擇“宏生成器”,此時(shí)會(huì)打開(kāi)宏生成器窗口。在第一行中的“操作”列中選擇MsgBox,在下方的“消息”中輸入“進(jìn)入柜存記錄查詢”,在“標(biāo)題”中輸入“柜存信息”,為加強(qiáng)程序的可讀性,在“注釋”列中輸入“給出進(jìn)入柜存數(shù)據(jù)查詢的提示”。在第二行中的“操作”列中選擇OpenForm,在下方的“窗體名稱”中選擇“商品柜存數(shù)據(jù)查詢”(此查詢應(yīng)事先做好),在“數(shù)據(jù)模式”中選擇“只讀”,在“注釋”列中輸入“打開(kāi)‘商品柜存數(shù)據(jù)查詢’窗體”。完成后如圖7.11所示:,,,,完成后的宏生成器窗口,7.2窗體的修飾,7.2.1安排控件的空間布局7.2.2修改控件外觀7.2.3改善窗體的外觀,7.2.1安排控件的空間布局,在設(shè)計(jì)窗體時(shí),當(dāng)拖動(dòng)字段到窗體上使其成為窗體的控件時(shí),是不大可能精確地控制其放置位置、字段大小的。這就需要我們修改各控件的大小、間距以及它們的排列方式。在“窗體對(duì)象集合”中新建一個(gè)窗體,并在其中新建一些控件對(duì)象。操作方法如下:1.選取控件在窗體的“設(shè)計(jì)視圖”中,單擊控件中的任何位置,控件就會(huì)被選取。在“設(shè)計(jì)視圖”中,以任何一點(diǎn)開(kāi)始,用鼠標(biāo)左鍵拖出一個(gè)矩形區(qū),則被矩形框碰到的所有控件都將被選中。如果要選擇的多個(gè)控件不相鄰無(wú)法通過(guò)拖動(dòng)鼠標(biāo)來(lái)同時(shí)選擇,則可按下Shift鍵,然后逐一單擊要選擇的每一個(gè)控件。,,2.移動(dòng)控件很多控件都是由兩個(gè)部分組成的,例如文本框控件,由標(biāo)簽和文本框組成。如果要同時(shí)移動(dòng)控件和附加標(biāo)簽,應(yīng)在選取控件之后,將鼠標(biāo)移動(dòng)到控件和附加標(biāo)簽的邊框(不是移動(dòng)點(diǎn))上,鼠標(biāo)將會(huì)變成手掌圖標(biāo)。按住鼠標(biāo)左鍵不放,此時(shí)就可以同時(shí)拖動(dòng)標(biāo)簽和文本框了。如果要分別移動(dòng)控件的標(biāo)簽和文本框,則在選取控件之后,將鼠標(biāo)移到其標(biāo)簽或文本框的左上角的最大的移動(dòng)控點(diǎn)上。當(dāng)鼠標(biāo)變成手指圖標(biāo)時(shí),就可以單獨(dú)拖動(dòng)文本框或標(biāo)簽。,,3.縮放控件選取要調(diào)整大小的控件,將鼠標(biāo)指向控件邊緣的七個(gè)較小的控點(diǎn)上,當(dāng)它變成某一方向的雙向箭頭時(shí),按住鼠標(biāo),拖動(dòng)控點(diǎn),就可以調(diào)整控件在此方向上的大小。如果確定精確地調(diào)整一個(gè)控件的大小,可以在這個(gè)控件的屬性中修改它的寬度和高度值即可,數(shù)值以厘米為單位。如圖所示為某個(gè)控件的屬性對(duì)話框。4.對(duì)齊控件在Access的“格式”菜單中有“對(duì)齊”、“大小”、“水平間距”和“垂直間距”等命令,它們是用來(lái)排列所選取的控件的。如圖7.14所示。首先選取要排列的各控件,再執(zhí)行“格式”菜單中的各個(gè)命令。,7.2.2修改控件外觀,排列完控件的布局,下面我們來(lái)介紹修改控件外觀方法。1.修改標(biāo)簽屬性單擊選取某個(gè)標(biāo)簽,選取標(biāo)簽后的工具欄在這里可以修改標(biāo)簽中文字的字體,字號(hào),樣式,對(duì)齊方式,顏色,下劃線等屬性;以及標(biāo)簽的邊框線顏色,邊框樣式,邊框特殊效果等屬性。2.修改文本框控件的背景樣式屬性選取一個(gè)文本框控件,單擊工具欄上的“屬性”按鈕,在“屬性”對(duì)話框中單擊“背景樣式”屬性下拉列表框,我們可以看到其中有“常規(guī)”,“透明”兩個(gè)選擇項(xiàng)。還可以設(shè)定其背景色,特殊效果,邊框樣式,邊框線顏色,邊框線寬度等屬性的值。,7.2.3改善窗體的外觀,為了美化窗體,我們可以為窗體加上直線或矩形,添加輔助圖片、日期;還可以給窗體添加背景圖片;并可以對(duì)滾動(dòng)條、記錄選定器、導(dǎo)航按鈕及分隔線等進(jìn)行設(shè)置;除此之外,還可以將窗體運(yùn)行后標(biāo)題欄上的“最大化”、“最小化”、“關(guān)閉”按鈕去除,并設(shè)定窗體邊框不可調(diào)整等等。,演示操作步驟,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 窗體 對(duì)象 功能設(shè)計(jì)
鏈接地址:http://www.3dchina-expo.com/p-3239804.html