




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
網(wǎng)絡(luò)通信程序設(shè)計課程設(shè)計<2015春季學(xué)期>設(shè)計題目:賓館信息管理系統(tǒng)小組成員1:李星言小組成員2:何其平指導(dǎo)教師:賀剛
一.系統(tǒng)需求分析1.1設(shè)計前調(diào)查近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準(zhǔn),已成為賓館業(yè)發(fā)展的當(dāng)務(wù)之急。尤其是對于星級賓館,既需要完成前臺的一些服務(wù)工作,還需要完成后臺的管理工作。然而,傳統(tǒng)的人工管理模式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足有效、快捷地處理經(jīng)營中產(chǎn)生的大量信息數(shù)據(jù)的需要,從而使得企業(yè)決策層無法及時、準(zhǔn)確地掌握一線資料,繼而影響對市場進(jìn)行正確地分析和預(yù)測。像沿海城市三星級以上賓館引進(jìn)外方管理,使小部分賓館管理水準(zhǔn)幾乎接近或達(dá)到國際水平。但對占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取得優(yōu)勢,必須在經(jīng)營、管理、產(chǎn)品、服務(wù)等方面具備獨到之處。而對賓館的經(jīng)營狀況起決定作用的是客房的管理。簡單的服務(wù)標(biāo)準(zhǔn)已不是制勝的錦囊,只有管理做到最細(xì)微之處,才能讓顧客體會到賓館服務(wù)的高標(biāo)準(zhǔn)、高質(zhì)量,而準(zhǔn)確、快速、周全往往就是最基本的成功要素。傳統(tǒng)的管理方法已經(jīng)不能適應(yīng)現(xiàn)代社會的需要,因此采用電腦管理業(yè)務(wù)、財務(wù)等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)是各大中小型賓館所需要使用的一個管理系統(tǒng)。1.2用戶需求分析建立一套功能完善的管理信息系統(tǒng),既能滿足業(yè)務(wù)人員日常處理的需要,增強企業(yè)經(jīng)營全過程的數(shù)字化管理水平;又能滿足管理人員決策分析的需要,提高公司管理層對公司經(jīng)營反饋信息的響應(yīng)速度。從而大幅度提高工作效率,提高實施管理的準(zhǔn)確性、科學(xué)性,使擔(dān)負(fù)管理的工作人員從繁雜的手工勞作中解脫出來。因而程序需要實現(xiàn)的功能有如下主要六大功能:客房管理:客房登記,入住情況查詢,客房狀態(tài)查看。賓客入住管理:客房預(yù)定,登記入住,房間調(diào)整,退房結(jié)帳物資管理:物品登記,物品查詢,報修和維修,定時提醒。財務(wù)管理:追加押金,增刪財務(wù),日報表員工管理:增改員工,查刪員工系統(tǒng)管理:增刪管理員,修改密碼,以及預(yù)留的基于SQL的數(shù)據(jù)庫管理(該程序考慮到作為課程設(shè)計和信息系統(tǒng)不是很大,使用了單機(jī)版的ACCESS,以求方便寫程序)[客房登記表:Roomlogin]數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明房間編號(Rid)Char(12)Notnull房間名稱(Rname)Char(20)Notnull,primarykey房間描述(Rdescribe)Char(100)房間價格(Rprice)moneyNotnull房間狀態(tài)(Rstatue)Char(8)Notnull操作員(ruser)Char(12)Notnull[管理員表::pw]數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明用戶(user)Char(12)Notnull,primarykey密碼(pwd)Char(8)Notnull權(quán)限(power)Char(1)Notnull[財務(wù)管理表:Smanage]數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明財務(wù)ID(Sid)Char(15)Notnull,primarykey事由(Sreason)Char(20)Notnull收入(Sin)money支出(Sout)moneyNotnull總收入(ssum)moneyNotnull操作時間(Sdate)dateNotnull結(jié)帳人(sman)Char(12)Notnull掛帳單位(scomp)Char(12)操作員(suser)Char(12)Notnull[維修/報修表:fix]數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明登記ID(Fid)自動編號Notnull,primarykey登記日期(Fdate)dateNotnull物品名稱(Fname)Char(50)Notnull所屬房間(Froom)Char(20)Notnull維修狀態(tài)(Fstatue)Char(8)Notnull維修日期(Ffdate)date登記操作員(Fman)Char(12)Notnull維修員(Ffman)Char(12)所需費用(Fpay)money[提醒表:Reminder]數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明提醒ID(RemID)自動編號Notnull,primarykey提醒日期(Remdate)dateNotnull提醒類別(remtype)Char(20)Notnull提醒狀態(tài)(remstatue)Char(4)Notnull操作員(remuser)Char(12)Notnull價格編號名稱二、概念設(shè)計價格編號名稱狀態(tài)2.1局部E-R圖狀態(tài)描述類型客房電話性別姓名描述類型客房電話性別姓名住址入職時間證件客人住址[客房E-R]住址入職時間證件客人住址職員電話職員電話密碼職務(wù)[客人E-R][管理員E-R]密碼職務(wù)用戶名管理員姓名工資用戶名管理員姓名工資權(quán)限年齡性別[職員E-R]權(quán)限年齡性別事由收入支出類別名稱時間狀態(tài)費用狀態(tài)所屬房間登記日期結(jié)帳預(yù)定維修時間總收入帳目管理維修表提醒表用戶名管理員管理密碼權(quán)限職員年齡性別入職時間電話職務(wù)住址工資姓名客房描述狀態(tài)價格類型編號名稱證件電話性別住址姓名客人2.2全局E-R圖事由收入支出類別名稱時間狀態(tài)費用狀態(tài)所屬房間登記日期結(jié)帳預(yù)定維修時間總收入帳目管理維修表提醒表用戶名管理員管理密碼權(quán)限職員年齡性別入職時間電話職務(wù)住址工資姓名客房描述狀態(tài)價格類型編號名稱證件電話性別住址姓名客人入住入住n1111111nqpm11m[全局E-R圖]三、邏輯設(shè)計3.1開發(fā)環(huán)境開發(fā)語言:VisualBasic開發(fā)平臺:windowsxp,1G內(nèi)存,集成顯卡。開發(fā)工具:VisualBasic6.0企業(yè)版,SQLServer2000,Access20033.2關(guān)系模式形成以及規(guī)范3.2.1有以下關(guān)系模式:PW(user,pwd,power);Empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ejage);Fix(Fid,fname,froom,fstatue,ffdate,fpay,fman,fuser);Gmanage(Gid,gname,gtype,gnum,gprice,guse,gsum,gdate,guser,gdw);Roomlogin(Rid,rname,rtype,rdescribe,rprice,rstatue,ruser);Reminder(remid,remname,remdate,remtype,remstatue,remuser);Smanage(Sid,sreason,sin,sout,ssum,sdate,sman,scomp,suser);Cmanage(cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,cintype,coutdate,cya,cyaadd,cstatue,cchange,creason,cmtel,cmmeeting,cmcar,cmdamage,cmother,cmshould,cmpay,cmback,cuser);3.2.2分解分析:各分量都是不可分割的數(shù)據(jù)項。滿足第一范式;每一個關(guān)系中的非碼屬性都完全函數(shù)依賴于碼,符合第二范式;每個關(guān)系中的主屬性不傳遞依賴關(guān)系中的每個關(guān)系鍵,符合第三范式;關(guān)系中所有非主屬性對每個碼都是完全依賴,且所有主碼對于每個不包含它的碼也是完全函數(shù)依賴,沒有任何屬性完全函數(shù)依賴非碼的任何一組屬性四、創(chuàng)建數(shù)據(jù)庫1)創(chuàng)建數(shù)據(jù)庫,讓數(shù)據(jù)庫可以動態(tài)增長createdatabasehotelon(name=hotel_data,filename='E:\hotel.mdf',size=5mB,maxsize=20mb,filegrowth=10%)logon(name=hotel_log,filename='E:\hotel.ldf',size=2mb,maxsize=5mb,filegrowth=1mb)go2)創(chuàng)建PW用戶表usehotelgocreatetablepw(userchar(12)notnullprimarykey,Pwdchar(8)notnull,Powerchar(1)notnull)go3)創(chuàng)建客房登記表RoomLogincreatetableroomlogin(ridchar(12)notnull,Rnamechar(20)notnullprimarykey,Rtypechar(10)notnullRdescribechar(100),Rpricemoneynotnull,Rstatuechar(8)notnull,Ruserchar(12)notnull,)go4)同上創(chuàng)建提醒表Reminder、物品表Gmanage、維修表fix、員工表Empl、帳務(wù)表Smanage、客戶如住表Cmanage五、程序以及調(diào)試和使用說明5.1程序登陸界面[說明:進(jìn)入登陸界面后,系統(tǒng)會自動加載已有的用戶,讓用戶選擇自己的帳戶進(jìn)行登陸,密碼輸入三次后關(guān)閉窗口;用控件屬性設(shè)置來實現(xiàn)用戶定義的完整性:密碼最大長度為8。用戶名錯誤,或密碼錯誤,系統(tǒng)都會對其進(jìn)行提醒,以達(dá)到正確輸入,本程序設(shè)置一超級用戶:admin,權(quán)限為1,其他用戶的權(quán)限均為0。超級用戶能對押金進(jìn)行追加,其他用戶必須在超級用戶協(xié)助下才能完成押金追加]5.2主面板[說明:主界面用VB中的MDIForm,多入口提供給用戶操作,包括菜單欄、工具欄(可選擇顯示和不顯示)、側(cè)邊欄(可隱藏)、主面板Panel(提供操作員最常用的操作,節(jié)約時間),在狀態(tài)欄可以顯示系統(tǒng)時間和當(dāng)前用戶以及需要維修的房間數(shù)。實現(xiàn)了所有要求的功能][說明:提供兩種風(fēng)格供用戶選擇。在vb模塊里有一函數(shù)change(),一變量保存當(dāng)前風(fēng)格類型,當(dāng)每次show一窗口時,就會調(diào)用該函數(shù)通過變量判斷是顯示那種風(fēng)格]5.3具體介紹5.3.1房態(tài)查看[說明:在主面板上的快速入口上點擊房態(tài)查詢,顯示當(dāng)前房間入住圖形界面。直觀、方便。點擊房間能顯示在該房間入住過的客戶。嵌入的查詢語句為:"selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatuefromcmanagewherecroom='"&Command1(Index).Caption&"'",Command1(Index).Caption為當(dāng)前按下的要查詢的房間按鈕的名稱]5.3.2入住登記和預(yù)定房間[說明:點"登記",系統(tǒng)自動在roomlogin表中rstatue='空閑'的房間名字添加到房間號碼的下拉列表中,供客戶選擇房間,用戶可以選擇"現(xiàn)開/預(yù)定"當(dāng)用戶選擇下拉列表中的一個房間時,系統(tǒng)自動將roomlogin中該房間的標(biāo)準(zhǔn)類型,價格自動加載顯示,房間狀況一目了然。其他用戶自定義完整性約束都通過對控件的屬性設(shè)置來完成,當(dāng)用戶輸入數(shù)據(jù)破壞完整性時,系統(tǒng)會發(fā)出警告,以保持?jǐn)?shù)據(jù)庫的完整性]5.3.3調(diào)房,住宿、退宿查詢[說明:通過入口可以打開窗體。當(dāng)客戶需要調(diào)整房間時,點登記后,系統(tǒng)自動加載已入住客戶的房間和空閑的房間號碼,當(dāng)用戶選擇要調(diào)房的客戶時,系統(tǒng)自動加載客戶的信息。選擇目標(biāo)房間時候,系統(tǒng)自動加載房間信息。用戶確定調(diào)房后,系統(tǒng)修改數(shù)據(jù)庫:原房間狀態(tài)改為空閑,目標(biāo)房間改為入住。原住房產(chǎn)生的費用將加在新入住房間上,而提醒表中原房間改為現(xiàn)房間。因而需要修改三個表:Cmanage,roomlogin,reminder.而查詢?nèi)胱⌒畔⒌那度雜ql語句為:"selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatuefromcmanage",其他查詢語句雷同,此后不在贅述。在文本框里輸入要查詢的姓名,MSFlexGrid空間將會顯示查詢結(jié)果,嵌入的查詢語句為:"selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatuefromcmanagewherecnamelike'"&Text1.Text&"*'"]5.3.4掛帳,結(jié)帳,日報表,追加押金[說明:追加押金窗體.系統(tǒng)自動加載已入住客戶號碼,當(dāng)用戶選擇客戶號碼時候,系統(tǒng)自動加載客戶信息,用戶添加押金后,保存時系統(tǒng)對cmanage表進(jìn)行修改,保存數(shù)據(jù);結(jié)帳窗體。系統(tǒng)自動加載已入住還沒退房的房間號,用戶選擇要退房的房間號,系統(tǒng)加載客戶信息以需付款和明細(xì)供核對,確定結(jié)帳后,系統(tǒng)將對cmanage表,smanage,reminder,roomlogin進(jìn)行修改,以保持?jǐn)?shù)據(jù)庫的參照完整性。如果是掛帳,用戶可以選擇掛帳,在客戶結(jié)帳的時候,調(diào)出掛帳結(jié)帳窗體,系統(tǒng)自動加載掛帳的單位,用戶選擇掛帳單位,系統(tǒng)自動加載需還金額。掛帳結(jié)帳只對smanage表操作。而日報表顯示smange里的信息,提供按日期查找的方法,打印當(dāng)天的帳務(wù)明細(xì)。查詢的嵌入sql語句為:"selectsreason,sin,sout,ssum,sdate,sman,scomp,suserfromsmanagewheresdate=#"&DTPicker1.Value&"#"。在該處開始一直調(diào)試不出,后來發(fā)現(xiàn)在sql語句中對日期要加"#"來格式說明是日期型的。5.3.5報修和維修[說明:打開該窗體,左邊有一組option選項。當(dāng)選報修時候,系統(tǒng)自動加載空閑的房間號。如果為入住的房間報修,則需先調(diào)房退房后才能報修,總不能讓客戶住在需維修的房間中吧。確定報修后。系統(tǒng)將在reminder表中增加一條需提醒事項,即需維修事項,傳遞房間號和維修狀態(tài)給reminder表做為關(guān)鍵字。在主窗體中便會有提示需要維修的房間,可以通過房態(tài)查詢,查看需要維修的房間號。維修完后要進(jìn)行登記,選擇登記后,系統(tǒng)加載當(dāng)前狀態(tài)為維修的房間,記錄維修費用和維修員,確定后,系統(tǒng)將操作roomlogin和reminder表,保持?jǐn)?shù)據(jù)庫系統(tǒng)的參照完整性]5.3.6添加用戶,添加員工,修改密碼[說明:只有管理員,即超級用戶才能添加操作員和員工,但是普通擁護(hù)可以修改自己的密碼。添加操作員的代碼為:IfText1.Text<>""AndText2.Text<>""AndText2.Text=Puser.Fields("pwd")ThenIfText3.Text<>""ThenPuser.EditPuser.Fields("pwd")=Text3.TextMsgBox("密碼修改成功,退出操作員密碼修改!")Puser.Updatemain.Enabled=TrueUnloadMeElseMsgBox("請輸入新密碼!!")EndIfElseIfText1.Text=""ThenMsgBox("請輸入操作員!")Text1.SetFocusElseIfText1.Text<>Puser.Fields("user")ThenText1.SetFocusText1.Text=""MsgBox("無此操作員,請重新輸入!")EndIfEndIfIfText2.Text=""ThenMsgBox("請輸入操作員原密碼!")Text2.SetFocusElseIfText2.Text<>Puser.Fields("pwd")ThenMsgBox("原密碼錯誤,請重新輸入原密碼!")Text2.SetFocusEndIfEndIfEndIf這是才用DAO3.6對象來對數(shù)據(jù)庫進(jìn)行操作,這是另一種方法對數(shù)據(jù)庫操作cr="insertintopwvalues('"&text1.text&"','"&text2.text&"','0')"mydb.Executecr這是直接用嵌入sql語句來插入記錄。兩種效果都一樣]六、總結(jié)兩周的日日夜夜的奮戰(zhàn),終于達(dá)到了預(yù)定的效果,完成了該信息系統(tǒng)的設(shè)計和程序編寫。在專科學(xué)校,曾學(xué)過VB語言,也開發(fā)過很多程序,所以vb語言成為首選。雖然其編寫的應(yīng)用程序在不同的機(jī)器上需要解釋器,需要隨帶很多ocx控件和其他,但是在編寫信息管理系統(tǒng)這方面還是很有優(yōu)勢的。(1)可視畫編程,豐富的控件,隨用隨拖,對控件對象編程,很方便。(2)可以方便的利用API函數(shù)實現(xiàn)窗體的各種效果。有豐富的api接口。(3)語言簡單,實現(xiàn)功能很方便。在對數(shù)據(jù)庫操作方面,引用了DAO3.6對象,使用DAO編程連接和操作。所以很自然選擇了VB語言。在數(shù)據(jù)庫方面,考慮編程方便,采用從sql中導(dǎo)出成access文件來進(jìn)行操作。選定課題后,開始收集相關(guān)資料和設(shè)計軟件架構(gòu)。到賓館調(diào)查和到網(wǎng)上收集信息,以及參考了其他信息管理系統(tǒng),心里就有了輪廓。設(shè)計好軟件的幾大模塊,采用自頂向下的經(jīng)典設(shè)計方法,確定實現(xiàn)的功能,開始設(shè)計數(shù)據(jù)庫。運用相關(guān)的數(shù)據(jù)庫知識,設(shè)計好數(shù)據(jù)表,確定字段。并通過模式分解,確定其是無損的連接。有了數(shù)據(jù)庫作為整個設(shè)計的底層,就好象蓋房子有了骨架,而軟件就象是磚瓦,只是將骨架填充完善,給客戶一個好的外觀。因而數(shù)據(jù)庫的設(shè)計尤為重要,但是在設(shè)計之初,往往會有很多情況不能考慮周全,再加之一個人編寫,所以進(jìn)度一度很慢,后來通過列出所有可能的情況,以及同同學(xué)老師等交流,總結(jié)并重新設(shè)計了數(shù)據(jù)庫,終于是能有一個比較好的效果。通過將所有和客戶相關(guān)的財務(wù)信息都加到客戶信息里,避免了對多表的操作,避免了有可能會出現(xiàn)的參照完整性不一致的問題。繼而是軟件的設(shè)計,由于對vb還是算比較熟悉,因而有了數(shù)據(jù)庫的支撐,就得心應(yīng)手了??紤]到用戶使用的方便性,軟件主界面提供了很多入口,以及直觀的圖形顯示,方便用戶操作,因而也給客戶帶來方便,免去了客戶的很多等待時間,提升賓館的形象。同時提供了兩套外觀,春天里這套外觀可以避免用戶的審美疲勞。整個程序完成了,又花了大量的時間對其進(jìn)行調(diào)試。通過白盒黑盒測試,程序能正常的顯示結(jié)果和準(zhǔn)確報錯,達(dá)到了單機(jī)運行的效果。接著在不同機(jī)環(huán)境器上測試,有些控件因為沒有帶走,所以報錯,后來帶上控件后都能正常運行,在xp和win7上都能正常運行。由于公司規(guī)模和業(yè)務(wù)量大,因而信息系統(tǒng)不可能只在單機(jī)上運行,所以才用C/S,或B/S結(jié)構(gòu)比較合適。因時間關(guān)系所以沒能完成,只預(yù)留了接口,供以后開發(fā)擴(kuò)展用。當(dāng)然這次課程設(shè)計因為是數(shù)據(jù)庫的課程設(shè)計,重點在數(shù)據(jù)庫的設(shè)計,所以對于軟件體系結(jié)構(gòu)風(fēng)格,沒有考慮,只求能達(dá)到目的!在本次課程設(shè)計中,要感謝各位老師的指導(dǎo),也要感謝提供意見和建議的同學(xué),才得以大致完成該設(shè)計。本欲來讓老師答辯的,但因個人原因,在答辯那天趕回家了,所以沒得完成最終的答辯。但這不要緊,編程最大的喜事莫過于完成所有程序的那一刻,雖然后續(xù)還有很多維護(hù)和修改任務(wù),但是心里突然輕松下來那一刻的心情是無與倫比的。再次感謝老師的指導(dǎo)!七、部分代碼7.1模塊PublicNowUserAsString'當(dāng)前用戶名PublicnowpowerAsString'當(dāng)前用戶權(quán)限PublicmydbAsDAO.Database'定義數(shù)據(jù)庫PublicbgiAsInteger'判斷背景風(fēng)格PublicSubLoadAccess()Setmydb=DAO.OpenDatabase(App.Path&"\hotel.mdb")EndSubPublicSubbground()Ifbgi=1Thenmain.Picture=panel.Image1.Picturepanel.Picture=panel.Image1.Picturepanel.Picture1.Picture=panel.Image1.Picturemain.Picture1.Picture=panel.Image1.Picturemain.Picture2.Picture=panel.Image1.PictureUnloadfindEm:Unloadfindlogin:UnloadfingG:UnloadInLogin:UnloadLogoutBG:Unloadmanagekf:Unloadpayoff:UnloadViewUnloadchangelogin:UnloadfindLogout:Unloadfind:panel.resizemeElseIfbgi=0Thenmain.Picture=Nothingpanel.Picture=Nothingpanel.Picture1.Picture=Nothingmain.Picture1.Picture=Nothingmain.Picture2.Picture=NothingUnloadfindEm:Unloadfindlogin:UnloadfingG:UnloadInLogin:UnloadLogoutBG:Unloadmanagekf:Unloadpayoff:UnloadViewUnloadchangelogin:UnloadfindLogout:Unloadfind:panel.resizemeEndIfEndIfEndSub7.2添加員工PrivateDeclareFunctionReleaseCaptureLib"user32"()AsLong'獲取“變動”信息PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLongPrivateConstWM_SYSCOMMAND=&H112PrivateConstSC_MOVE=&HF010&PrivateConstHTCAPTION=2DimEmpAsRecordsetPrivateSubDTPicker1_Change()Text7.Text=Year(Date)-Year(DTPicker1.Value)EndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1Then'如果按下鼠標(biāo)左鍵DimReturnValAsLongX=ReleaseCapture()ReturnVal=SendMessage(addEm.hwnd,WM_SYSCOMMAND,SC_MOVE+HTCAPTION,0)EndIfEndSubPrivateSubForm_Load()LoadAccessSetEmp=mydb.OpenRecordset("select*fromempl")Text1.Text=Year(Date)&Month(Date)&Day(Date)&Hour(Time)&Minute(Time)Text7.Text=Year(Date)-Year(DTPicker1.Value)EndSubPrivateSubCommand1_Click()'================================================!!!!!!!!!!!!!!!!!!!!!!!!!!!'缺少判斷員工號是否存在的信息IfText1.Text=""OrText2.Text=""OrText4.Text=""Thenmsg$=MsgBox("請確認(rèn)員工號、員工姓名、職務(wù)已經(jīng)輸入",48,"Error")ElseEmp.AddNewEmp.Fields("emid")=Text1.TextEmp.Fields("ename")=Text2.TextEmp.Fields("esex")=Combo1.TextEmp.Fields("ejob")=Text4.TextEmp.Fields("eage")=Val(Text5.Text)Emp.Fields("etel")=Text6.TextEmp.Fields("ejtime")=DTPicker1.ValueEmp.Fields("ejage")=Text7.TextEmp.Update'更新記錄Emp.Closemsg$=MsgBox("添加成功",64,"Success!")UnloadMeEndIfEndSubPrivateSubCommand2_Click()Text1.Text="":Text2.Text="":Combo1.Text=""Text4.Text="":Text5.Text="":Text6.Text=""EndSubPrivateSubCommand3_Click()main.Enabled=TrueUnloadMeEndSub7.3賓客入住DimiAsInteger'定義一個整型變量DimInLogAsRecordsetDimRoomAsRecordsetDimRemindAsRecordsetPrivateSubCombo4_Click()SetRoom=mydb.OpenRecordset("select*fromroomloginwherername='"&Combo4.Text&"'")ZSDJ(4).Text=Room.Fields("rtype"):ZSDJ(5).Text=Room.Fields("rprice")EndSubPrivateSubCombo5_click()Label11.Caption=Combo5.TextEndSubPrivateSubDTP3_Change()ZSDJ(6).Text=DTP3.Value-DTP1.ValueEndSubPrivateSubForm_Load()Ifbgi=1ThenMe.Picture=panel.Image1.PictureIfbgi=0ThenMe.Picture=NothingDTP1.Value=Date:DTP2.Value=Date:DTP3.Value=Date'初始化日期及時間czy.Text=NowUser'賦值給czyLoadAccessEndSubPrivateSubForm_Unload(CancelAsInteger)main.Enabled=True'設(shè)置主窗體有效EndSubPrivateSubCombo2_Click()IfCombo2.Text="折扣"ThenZSDJ(8).Enabled=True'設(shè)置ZSDJ(8)有效ZSDJ(8).SetFocus'ZSDJ(8)獲得焦點EndIfIfCombo2.Text="招待"ThenZSDJ(8).Enabled=True'設(shè)置ZSDJ(8)有效ZSDJ(8).Text=0'賦值給ZSDJ(8)EndIfEndSubPrivateSubZSDJ_Change(IndexAsInteger)SelectCaseIndexCase6ZSDJ(7).Text=Format(Val(ZSDJ(6).Text)*Val(ZSDJ(5).Text),"0.00")'計算折前宿費ZSDJ(9).Text=ZSDJ(7).Text'賦值給ZSDJ(9)ZSDJ(8).Text=100DTP3.Value=DTP1.Value+Val(ZSDJ(6).Text)'計算退宿日期Case8ZSDJ(9).Text=Format(Val(ZSDJ(7).Text)*Val(ZSDJ(8).Text)/100,"0.00")'計算實際宿費Case10IfZSDJ(10).Text<>""ThenZSDJ(10).Text=Val(ZSDJ(10).Text)'用val函數(shù)將字符串轉(zhuǎn)換為數(shù)字DTP2.Value=DTP1.Value+Int(Val(ZSDJ(10).Text)/Val(ZSDJ(5).Text))'計算提醒日期EndIfEndSelectEndSubPrivateSubZSDJ_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)SelectCaseIndexCase0IfKeyCode=vbKeyReturnThenCombo1.SetFocus'按回車鍵Combo1獲得焦點Case1IfKeyCode=vbKeyReturnThenZSDJ(2).SetFocus'按回車鍵ZSDJ(2)獲得焦點Case2IfKeyCode=vbKeyReturnThenZSDJ(3).SetFocus'按回車鍵ZSDJ(3)獲得焦點Case3IfKeyCode=vbKeyReturnThenDBCombo1.SetFocus'按回車鍵ZSDJ(2)獲得焦點Case4IfKeyCode=vbKeyReturnThenZSDJ(5).SetFocus'按回車鍵ZSDJ(5)獲得焦點Case5IfKeyCode=vbKeyReturnThenZSDJ(6).SetFocus'按回車鍵ZSDJ(6)獲得焦點Case6IfKeyCode=vbKeyReturnThenZSDJ(10).SetFocusCase8IfKeyCode=vbKeyReturnThenZSDJ(10).SetFocus'按回車鍵ZSDJ(10)獲得焦點Case10IfKeyCode=vbKeyReturnThenZSDJ(11).SetFocus'ZSDJ(11)獲得焦點Case11IfKeyCode=vbKeyReturnThenComok.SetFocus'按回車鍵Comok獲得焦點EndSelectEndSubPrivateSubCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenZSDJ(1).SetFocus'按回車鍵ZSDJ(1)獲得焦點EndSubPrivateSubDBCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenZSDJ(5).SetFocus'ZSDJ(5)獲得焦點EndSubPrivateSubcomdj_Click()'查詢空閑房間信息SetRoom=mydb.OpenRecordset("select*fromroomloginwhererstatue='空閑'")'OnErrorGoTouRoom.MoveFirstCombo4.Text=Room.Fields("rname")ZSDJ(4).Text=Room.Fields("rtype")ZSDJ(5).Text=Room.Fields("rprice")SetRoom=mydb.OpenRecordset("select*fromroomlogin")WhileNotRoom.EOFIfRoom.Fields("rstatue")="空閑"ThenCombo4.AddItemRoom.Fields("rname")Room.MoveNextWendbh.Text=Year(Date)&Month(Date)&Day(Date)&Hour(Time)&Minute(Time)&Second(Time)'設(shè)置編號ZSDJ(8).Text="":ZSDJ(10).Text=""'設(shè)置控件有效或無效Comok.Enabled=True:Comdj.Enabled=False:Comprint.Enabled=False:ZSDJ(8).Enabled=TrueZSDJ(10).Enabled=True:Combo1.Enabled=True:DTP3.Enabled=TrueCombo2.Enabled=True:ZSDJ(0).Enabled=True:ZSDJ(0).SetFocusLabel11.Caption=Combo5.TextExitSub'u:h$=MsgBox("沒有空閑房間,客房已滿",48,"Error"):Comok.Enabled=False:Comprint.Enabled=False:Comcancel.Enabled=False:Comend.Enabled=True:Comdj.Enabled=TrueEndSubPrivateSubcomok_Click()'===========================!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11SetInLog=mydb.OpenRecordset("select*fromcmanage")IfZSDJ(0).Text<>""AndZSDJ(1).Text<>""AndText1.Text<>""AndZSDJ(6).Text<>""ThenInLog.AddNewIfbh.Text<>""ThenInLog.Fields("cnumber")=bh.TextIfZSDJ(0).Text<>""ThenInLog.Fields("cname")=ZSDJ(0).TextIfCombo1.Text<>""ThenInLog.Fields("cictype")=Combo1.TextIfZSDJ(1).Text<>""ThenInLog.Fields("cicnum")=ZSDJ(1).TextIfZSDJ(2).Text<>""ThenInLog.Fields("caddress")=ZSDJ(2).TextIfText2.Text<>""ThenInLog.Fields("ctel")=Text2.TextIfCombo4.Text<>""ThenInLog.Fields("croom")=Combo4.TextIfCombo5.Text<>""ThenInLog.Fields("cintype")=Combo5.TextIfCombo3.Text<>""ThenInLog.Fields("csex")=Combo3.TextIfText1.Text<>""ThenInLog.Fields("cmember")=Text1.TextIfZSDJ(4).Text<>""ThenInLog.Fields("ctype")=ZSDJ(4).TextIfDTP1.Value<>""ThenInLog.Fields("cindate")=DTP1.ValueIfZSDJ(5).Text<>""ThenInLog.Fields("cprice")=Val(ZSDJ(5).Text)IfZSDJ(9).Text<>""ThenInLog.Fields("cmshould")=ZSDJ(9).TextIfZSDJ(10).Text<>
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《Unit 5 Welcome》(教學(xué)設(shè)計)-2024-2025學(xué)年北師大版(一起)英語二年級上冊
- 河北工業(yè)職業(yè)技術(shù)大學(xué)《數(shù)據(jù)結(jié)構(gòu)實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- Unit 7 Outdoor fun Pronunciation 教學(xué)設(shè)計-2024-2025學(xué)年譯林版英語七年級下冊
- 廣東水利電力職業(yè)技術(shù)學(xué)院《建筑力學(xué)與結(jié)構(gòu)選型》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北財稅職業(yè)學(xué)院《智慧物流技術(shù)與裝備》2023-2024學(xué)年第二學(xué)期期末試卷
- 黔南民族幼兒師范高等??茖W(xué)?!峨娐穼嶒灐?023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古民族幼兒師范高等??茖W(xué)?!端姽こ淌┕ぁ?023-2024學(xué)年第二學(xué)期期末試卷
- 濟(jì)南2025年山東濟(jì)南市歷城區(qū)所屬事業(yè)單位招聘初級綜合類崗位50人筆試歷年參考題庫附帶答案詳解-1
- 焦作工貿(mào)職業(yè)學(xué)院《無人機(jī)行業(yè)應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《化學(xué)教學(xué)設(shè)計研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 加涅的信息加工理論-課件
- 400字作文稿紙(方格)A4打印模板
- 不領(lǐng)證的夫妻離婚協(xié)議書
- 鋁型材企業(yè)組織架構(gòu)及部門職能
- 華為BEM戰(zhàn)略解碼體系完整版
- Python商務(wù)數(shù)據(jù)分析與實戰(zhàn)PPT完整全套教學(xué)課件
- 利用“自然筆記”提高小學(xué)生科學(xué)素養(yǎng)獲獎科研報告
- 焓濕圖的應(yīng)用實例
- 2022-2023學(xué)年江蘇省揚州市普通高校高職單招綜合素質(zhì)測試題(含答案)
- 小學(xué)科學(xué)教科版三年級下冊全冊課課練習(xí)題(2023春)(附參考答案)
- 《是誰覺醒了中國》
評論
0/150
提交評論