版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)據(jù)庫(kù)原理程序設(shè)計(jì)</b></p><p><b> 賓館客房管理系統(tǒng)</b></p><p><b> 目 錄</b></p><p> 1、系統(tǒng)需求分析……………………………………………………………………3</p><p> 1.1
2、設(shè)計(jì)前調(diào)查…………………………………………………………………3</p><p> 1.2 用戶需求分析………………………………………………………………3</p><p> 1.3 核心數(shù)據(jù)流圖………………………………..……………………………4</p><p> 1.3.1 部分?jǐn)?shù)據(jù)流圖…………………………………………………………4</p>&l
3、t;p> 1.3.2 核心數(shù)據(jù)字典…………………………………………………………5</p><p> 2、概念設(shè)計(jì)…………………………………………………………………………6</p><p> 2.1 局部E-R圖…………………………………………………………………6</p><p> 2.2 全局E-R圖…………………………………………………………………7
4、</p><p> 3、邏輯設(shè)計(jì)…………………………………………………………………………8</p><p> 3.1開發(fā)環(huán)境……………………………………………………………………8</p><p> 3.2關(guān)系模式形成以及規(guī)范……………………………………………………8</p><p> 3.2.1關(guān)系模式…………………………………………
5、……………………8</p><p> 3.2.2分解分析………………………………………………………………8</p><p> 4、詳細(xì)設(shè)計(jì)說明……………………………………………………………………8</p><p> 4.1創(chuàng)建數(shù)據(jù)庫(kù)…………………………………………………………………8</p><p> 4.2程序調(diào)試和使用說明…………
6、……………………………………………8</p><p> 4.2.1程序登陸界面…………………………………………………………10</p><p> 4.2.2主面板…………………………………………………………………11</p><p> 4.2.3具體介紹………………………………………………………………12</p><p> 5、課程設(shè)
7、計(jì)心得與體會(huì)……………………………………………………………15</p><p><b> 附錄·程序源代碼</b></p><p><b> 參考文獻(xiàn)</b></p><p><b> 系統(tǒng)需求分析</b></p><p><b> 1.1 設(shè)計(jì)前調(diào)
8、查</b></p><p> 近年來,賓館業(yè)迅猛發(fā)展,市場(chǎng)的競(jìng)爭(zhēng)日趨激烈,全面提高賓館的軟件管理水準(zhǔn),已成為賓館業(yè)發(fā)展的當(dāng)務(wù)之急。尤其是對(duì)于星級(jí)賓館,既需要完成前臺(tái)的一些服務(wù)工作,還需要完成后臺(tái)的管理工作。然而,傳統(tǒng)的人工管理模式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足有效、快捷地處理經(jīng)營(yíng)中產(chǎn)生的大量信息數(shù)據(jù)的需要,從而使得企業(yè)決策層無法及時(shí)、準(zhǔn)確地掌握一線資料,繼而影響對(duì)市場(chǎng)進(jìn)行正確地分析和預(yù)測(cè)。像沿海城市三星級(jí)以上賓館
9、引進(jìn)外方管理,使小部分賓館管理水準(zhǔn)幾乎接近或達(dá)到國(guó)際水平。但對(duì)占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在競(jìng)爭(zhēng)中甩開對(duì)手,取得優(yōu)勢(shì),必須在經(jīng)營(yíng)、管理、產(chǎn)品、服務(wù)等方面具備獨(dú)到之處。而對(duì)賓館的經(jīng)營(yíng)狀況起決定作用的是客房的管理。簡(jiǎn)單的服務(wù)標(biāo)準(zhǔn)已不是制勝的錦囊,只有管理做到最細(xì)微之處,才能讓顧客體會(huì)到賓館服務(wù)的高標(biāo)準(zhǔn)、高質(zhì)量,而準(zhǔn)確、快速、周全往往就是最基本的成功要素。傳統(tǒng)的管理方法已經(jīng)不能適應(yīng)現(xiàn)代社會(huì)的需要,因此采用電腦管理業(yè)
10、務(wù)、財(cái)務(wù)等諸多環(huán)節(jié)已成為推動(dòng)賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)是各大中小型賓館所需要使用的一個(gè)管理系統(tǒng)。</p><p> 1.2 用戶需求分析</p><p> 根據(jù)賓館管理系統(tǒng)的理念,賓館管理系統(tǒng)必須滿足一下需要: </p><p> ?。?)具有方便的登記、結(jié)帳功能和預(yù)訂客房的功能,能夠支持團(tuán)體登記和團(tuán)體報(bào)帳; </p><
11、p> ?。?)能快速、準(zhǔn)確地了解賓館內(nèi)的客房狀態(tài),以便管理者決策; </p><p> (3)提供多種手段查詢客人的信息; </p><p> ?。?)具備一定的維護(hù)手段,有一定權(quán)利的操作員在密碼的支持下才可以更改房?jī)r(jià)、房間類型、增減客房; </p><p> ?。?)完善的結(jié)帳報(bào)表系統(tǒng); </p><p> ?。?)系統(tǒng)維護(hù):如數(shù)據(jù)
12、安全管理(含備份與恢復(fù)) 、操作員管理、權(quán)限設(shè)置等。 </p><p> 根據(jù)系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下: </p><p> 1. 系統(tǒng)管理: 管理登陸系統(tǒng)的用戶 </p><p> 2. 訂房信息的管理:管理訂房信息,對(duì)訂房信息進(jìn)行查詢和添加新的訂房信息。 </p><p> 3. 基礎(chǔ)數(shù)據(jù)庫(kù)管理: 設(shè)置房的基本屬性
13、,如等級(jí),價(jià)格等。 </p><p> 4. 顧客信息管理: 管理顧客的信息,查詢居住記錄等。 1.3 核心數(shù)據(jù)流圖 </p><p><b> 維修信息</b></p><p> 客房信息 </p><p> 客房信息 客房狀態(tài)<
14、;/p><p> 客人信息 入住登記</p><p><b> 帳務(wù)信息</b></p><p> 入住信息 </p><p> 1
15、.3.1部分?jǐn)?shù)據(jù)流圖</p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——客人信息) </p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——入住登記)</p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——客房信息)</p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——房間狀態(tài))</p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)
16、據(jù)流——帳務(wù)信息)</p><p> 1.3.2 核心數(shù)據(jù)字典</p><p> [賓客入住信息表:Cmanage] </p><p> [客房登記表:Roomlogin] </p><p> [管理員表::pw]</p><p> [財(cái)務(wù)管理表:Smanage]</p><p>
17、[維修/報(bào)修表:fix]</p><p><b> 第二章、概念設(shè)計(jì)</b></p><p> 2.1 局部E-R圖 </p><p><b> [客房E-R]</b></p><p> [客人E-R]
18、 </p><p><b> [職員E-R]</b></p><p><b> [管理員E-R]</b></p><p> 2.2 全局E-R圖</p><p> n 1 </p><p> 1
19、 </p><p> 1 1</p><p> 1 1 1</p><p> n q p</p><p><b&
20、gt; m</b></p><p> 1 </p><p><b> 1</b></p><p><b> m </b></p><p><b> [全局E-R圖]</b></p><p>
21、<b> 第三章、邏輯設(shè)計(jì)</b></p><p><b> 3.1 開發(fā)環(huán)境</b></p><p> 開發(fā)語言:Visual Basic</p><p> 開發(fā)平臺(tái):windows xp,1G內(nèi)存,集成顯卡。</p><p> 開發(fā)工具:Visual Basic 6.0企業(yè)版,SQL
22、Server 2000,Access 2003</p><p> 3.2 關(guān)系模式形成以及規(guī)范</p><p> 3.2.1關(guān)系模式:</p><p> PW(user,pwd,power);</p><p> Empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ejage);<
23、/p><p> Fix(Fid,fname,froom,fstatue,ffdate,fpay,fman,fuser);</p><p> Gmanage(Gid,gname,gtype,gnum,gprice,guse,gsum,gdate,guser,gdw);</p><p> Roomlogin(Rid,rname,rtype,rdescribe,rpri
24、ce,rstatue,ruser);</p><p> Reminder(remid,remname,remdate,remtype,remstatue,remuser);</p><p> Smanage(Sid,sreason,sin,sout,ssum,sdate,sman,scomp,suser);</p><p> Cmanage(cnumber,c
25、name,cictype,cicnum,csex,caddress,ctel,cmember,croom,type,cprice,cindate,cintype,coutdate,cya,cyaadd,cstatue,cchange,creason,cmtel,cmmeeting,cmcar,cmdamage,cmother,cmshould,cmpay,cmback,cuser);</p><p> 3.2.
26、2分解分析:</p><p> 1.各分量都是不可分割的數(shù)據(jù)項(xiàng)。滿足第一范式;</p><p> 2.每一個(gè)關(guān)系中的非碼屬性都完全函數(shù)依賴于碼,符合第二范式;</p><p> 3.每個(gè)關(guān)系中的主屬性不傳遞依賴關(guān)系中的每個(gè)關(guān)系鍵,符合第三范式;</p><p> 4.關(guān)系中所有非主屬性對(duì)每個(gè)碼都是完全依賴,且所有主碼對(duì)于每個(gè)不包含它
27、 的碼也是完全函數(shù)依賴,沒有任何屬性完全函數(shù)依賴非碼的任何一組屬性。</p><p> 第四章 詳細(xì)設(shè)計(jì)說明</p><p><b> 4.1創(chuàng)建數(shù)據(jù)庫(kù)</b></p><p> 1)創(chuàng)建數(shù)據(jù)庫(kù),讓數(shù)據(jù)庫(kù)可以動(dòng)態(tài)增長(zhǎng)</p><p> create database hotel<
28、;/p><p><b> on </b></p><p> (name=hotel_data,</p><p> filename='E:\hotel.mdf',</p><p> size=5mB,maxsize=20mb,filegrowth=10%)</p><p>&l
29、t;b> log on</b></p><p> (name=hotel_log,</p><p> filename='E:\hotel.ldf',</p><p> size=2mb,maxsize=5mb,filegrowth=1mb)</p><p><b> go</b&g
30、t;</p><p><b> 2)創(chuàng)建PW用戶表</b></p><p><b> use hotel</b></p><p><b> go</b></p><p> create table pw</p><p> (user char
31、(12) not null primary key,</p><p> Pwd char(8) not null,</p><p> Power char(1) not null )</p><p><b> go</b></p><p> 3)創(chuàng)建客房登記表RoomLogin</p><
32、p> create table roomlogin</p><p> (rid char (12) not null,</p><p> Rname char(20) not null primary key,</p><p> Rtype char(10) not null</p><p> Rdescribe char(1
33、00),</p><p> Rprice money not null,</p><p> Rstatue char(8) not null,</p><p> Ruser char(12) not null,)</p><p><b> go</b></p><p> 4)同上創(chuàng)建提醒
34、表Reminder、物品表Gmanage、維修表fix、員工表Empl、帳務(wù)表Smanage、客戶如住表Cmanage</p><p> 4.2 程序調(diào)試和使用說明</p><p> 4.2.1程序登陸界面</p><p> [說明:進(jìn)入登陸界面后,系統(tǒng)會(huì)自動(dòng)加載已有的用戶,讓用戶選擇自己的帳戶進(jìn)行登陸,密碼輸入三次后關(guān)閉窗口;用控件屬性設(shè)置來實(shí)現(xiàn)用戶定義的完
35、整性:密碼最大長(zhǎng)度為8。用戶名錯(cuò)誤,或密碼錯(cuò)誤,系統(tǒng)都會(huì)對(duì)其進(jìn)行提醒,以達(dá)到正確輸入,本程序設(shè)置一超級(jí)用戶:admin,權(quán)限為1,其他用戶的權(quán)限均為0。超級(jí)用戶能對(duì)押金進(jìn)行追加,其他用戶必須在超級(jí)用戶協(xié)助下才能完成押金追加]</p><p><b> 4.2.2主面板</b></p><p> [說明:主界面用VB中的MDIForm,多入口提供給用戶操作,包括菜單
36、欄、工具欄(可選擇顯示和不顯示)、側(cè)邊欄(可隱藏)、主面板Panel(提供操作員最常用的操作,節(jié)約時(shí)間),在狀態(tài)欄可以顯示系統(tǒng)時(shí)間和當(dāng)前用戶以及需要維修的房間數(shù)。實(shí)現(xiàn)了所有要求的功能]</p><p> [說明:提供兩種風(fēng)格供用戶選擇。在vb模塊里有一函數(shù)change(),一變量保存當(dāng)前風(fēng)格類型,當(dāng)每次show一窗口時(shí),就會(huì)調(diào)用該函數(shù)通過變量判斷是顯示那種風(fēng)格]</p><p><
37、b> 4.2.3具體介紹</b></p><p><b> 1)房態(tài)查看</b></p><p> [說明:在主面板上的快速入口上點(diǎn)擊房態(tài)查詢,顯示當(dāng)前房間入住圖形界面。直觀、方便。點(diǎn)擊房間能顯示在該房間入住過的客戶。嵌入的查詢語句為:"select cnumber,cname,cictype,cicnum,csex,caddress
38、,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage where croom='" & Command1(Index).Caption & "'",Command1(Index).Caption為當(dāng)前按下的要查詢的房間按鈕的名稱]</p><p> 2)入住登記
39、和預(yù)定房間</p><p> [說明:點(diǎn)"登記",系統(tǒng)自動(dòng)在 roomlogin表中rstatue='空閑'的房間名字添加到 房間號(hào)碼的下拉列表中,供客戶選擇房間,用戶可以選擇"現(xiàn)開/預(yù)定"當(dāng)用戶選擇下拉列表中的一個(gè)房間時(shí),系統(tǒng)自動(dòng)將roomlogin中該房間的標(biāo)準(zhǔn)類型,價(jià)格自動(dòng)加載顯示,房間狀況一目了然。其他用戶自定義完整性約束都通過對(duì)控件的屬性設(shè)置來完
40、成,當(dāng)用戶輸入數(shù)據(jù)破壞完整性時(shí),系統(tǒng)會(huì)發(fā)出警告,以保持?jǐn)?shù)據(jù)庫(kù)的完整性]</p><p> 3)調(diào)房,住宿、退宿查詢</p><p> [說明:通過入口可以打開窗體。當(dāng)客戶需要調(diào)整房間時(shí),點(diǎn)登記后,系統(tǒng)自動(dòng)加載已入住客戶的房間和空閑的房間號(hào)碼,當(dāng)用戶選擇要調(diào)房的客戶時(shí),系統(tǒng)自動(dòng)加載客戶的信息。選擇目標(biāo)房間時(shí)候,系統(tǒng)自動(dòng)加載房間信息。用戶確定調(diào)房后,系統(tǒng)修改數(shù)據(jù)庫(kù):原房間狀態(tài)改為空閑,目標(biāo)
41、房間改為入住。原住房產(chǎn)生的費(fèi)用將加在新入住房間上,而提醒表中原房間改為現(xiàn)房間。因而需要修改三個(gè)表:Cmanage,roomlogin,reminder.而查詢?nèi)胱⌒畔⒌那度雜ql語句為:"select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage&q
42、uot;,其他查詢語句雷同,此后不在贅述。在文本框里輸入要查詢的姓名,MSFlexGrid空間將會(huì)顯示查詢結(jié)果,嵌入的查詢語句為: "select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutda</p><p> 4) 掛帳,結(jié)帳,日?qǐng)?bào)表,追加押金</p>
43、<p> [說明:追加押金窗體.系統(tǒng)自動(dòng)加載已入住客戶號(hào)碼,當(dāng)用戶選擇客戶號(hào)碼時(shí)候,系統(tǒng)自動(dòng)加載客戶信息,用戶添加押金后,保存時(shí)系統(tǒng)對(duì)cmanage表進(jìn)行修改,保存數(shù)據(jù);結(jié)帳窗體。系統(tǒng)自動(dòng)加載已入住還沒退房的房間號(hào),用戶選擇要退房的房間號(hào),系統(tǒng)加載客戶信息以需付款和明細(xì)供核對(duì),確定結(jié)帳后,系統(tǒng)將對(duì) cmanage表,smanage,reminder,roomlogin進(jìn)行修改,以保持?jǐn)?shù)據(jù)庫(kù)的參照完整性。如果是掛帳,用戶可以選
44、擇掛帳,在客戶結(jié)帳的時(shí)候,調(diào)出掛帳結(jié)帳窗體,系統(tǒng)自動(dòng)加載掛帳的單位,用戶選擇掛帳單位,系統(tǒng)自動(dòng)加載需還金額。掛帳結(jié)帳只對(duì)smanage表操作。而日?qǐng)?bào)表顯示smange里的信息,提供按日期查找的方法,打印當(dāng)天的帳務(wù)明細(xì)。查詢的嵌入sql語句為:"select sreason,sin,sout,ssum,sdate,sman,scomp,suser from smanage where sdate =#" &
45、DTPicker1.Value & "#"。在該處開始一直調(diào)試不出,后來發(fā)現(xiàn)在sql語句中對(duì)日期要加"#"來格式說明是日期型的。</p><p><b> 5) 報(bào)修和維修</b></p><p> [說明:打開該窗體,左邊有一組option選項(xiàng)。當(dāng)選報(bào)修時(shí)候,系統(tǒng)自動(dòng)加載空閑的房間號(hào)。如果為入住的房間報(bào)修,則需先調(diào)
46、房退房后才能報(bào)修,總不能讓客戶住在需維修的房間中吧。確定報(bào)修后。系統(tǒng)將在reminder表中增加一條需提醒事項(xiàng),即需維修事項(xiàng),傳遞 房間號(hào) 和維修狀態(tài) 給 reminder表做為關(guān)鍵字。在主窗體中便會(huì)有提示需要維修的房間,可以通過房態(tài)查詢,查看需要維修的房間號(hào)。維修完后要進(jìn)行登記,選擇登記后,系統(tǒng)加載當(dāng)前狀態(tài)為 維修的房間,記錄維修費(fèi)用和維修員,確定后,系統(tǒng)將操作 roomlogin和reminder表,保持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)的參照完整性] &
47、lt;/p><p> 6)添加用戶,添加員工,修改密碼</p><p> [說明:只有管理員,即超級(jí)用戶才能添加操作員和員工,但是普通擁護(hù)可以修改自己的密碼。]</p><p> 第五章 課程設(shè)計(jì)心得與體會(huì)</p><p> 兩周的日日夜夜的奮戰(zhàn),終于達(dá)到了預(yù)定的效果,完成了該信息系統(tǒng)的設(shè)計(jì)和程序編寫。</p><p&
48、gt; 選定課題后,開始收集相關(guān)資料和設(shè)計(jì)軟件架構(gòu)。到賓館調(diào)查和到網(wǎng)上收集信息,以及參考了其他信息管理系統(tǒng),心里就有了輪廓。設(shè)計(jì)好軟件的幾大模塊,采用自頂向下的經(jīng)典設(shè)計(jì)方法,確定實(shí)現(xiàn)的功能,開始設(shè)計(jì)數(shù)據(jù)庫(kù)。運(yùn)用相關(guān)的數(shù)據(jù)庫(kù)知識(shí),設(shè)計(jì)好數(shù)據(jù)表,確定字段。并通過模式分解,確定其是無損的連接。有了數(shù)據(jù)庫(kù)作為整個(gè)設(shè)計(jì)的底層,就好象蓋房子有了骨架,而軟件就象是磚瓦,只是將骨架填充完善,給客戶一個(gè)好的外觀。因而數(shù)據(jù)庫(kù)的設(shè)計(jì)尤為重要,但是在設(shè)計(jì)之初
49、,往往會(huì)有很多情況不能考慮周全,再加之一個(gè)人編寫,所以進(jìn)度一度很慢,后來通過列出所有可能的情況,以及同同學(xué)老師等交流,總結(jié)并重新設(shè)計(jì)了數(shù)據(jù)庫(kù),終于是能有一個(gè)比較好的效果。通過將所有和客戶相關(guān)的財(cái)務(wù)信息都加到客戶信息里,避免了對(duì)多表的操作,避免了有可能會(huì)出現(xiàn)的參照完整性不一致的問題。繼而是軟件的設(shè)計(jì),由于對(duì)vb還是算比較熟悉,因而有了數(shù)據(jù)庫(kù)的支撐,就得心應(yīng)手了??紤]到用戶使用的方便性,軟件主界面提供了很多入口,以及直觀的圖形顯示,方便用戶
50、操作,因而也給客戶帶來方便,免去了客戶的很多等待時(shí)間,提升賓館的形象。同時(shí)提供了兩套外觀,春天里這套外觀可以避免用戶的審美疲勞。整</p><p> 在本次課程設(shè)計(jì)中,要感謝各位老師的指導(dǎo),也要感謝提供意見和建議的同學(xué),才得以大致完成該設(shè)計(jì)。編程最大的喜事莫過于完成所有程序的那一刻,雖然后續(xù)還有很多維護(hù)和修改任務(wù),但是心里突然輕松下來那一刻的心情是無與倫比的。再次感謝老師的指導(dǎo)!</p><
51、p><b> 附錄·程序源代碼</b></p><p><b> 1.模塊</b></p><p> Public NowUser As String '當(dāng)前用戶名</p><p> Public nowpower As String '當(dāng)前用戶權(quán)限</p><p
52、> Public mydb As DAO.Database '定義數(shù)據(jù)庫(kù)</p><p> Public bgi As Integer '判斷背景風(fēng)格</p><p> Public Sub LoadAccess()</p><p> Set mydb = DAO.OpenDatabase(App.Path & "\h
53、otel.mdb")</p><p><b> End Sub</b></p><p> Public Sub bground()</p><p> If bgi = 1 Then</p><p> main.Picture = panel.Image1.Picture</p><p
54、> panel.Picture = panel.Image1.Picture</p><p> panel.Picture1.Picture = panel.Image1.Picture</p><p> main.Picture1.Picture = panel.Image1.Picture</p><p> main.Picture2.Pictur
55、e = panel.Image1.Picture</p><p> Unload findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload View</p><p> Unload changelogin: Unload
56、findLogout: Unload find: panel.resizeme</p><p><b> Else</b></p><p> If bgi = 0 Then</p><p> main.Picture = Nothing</p><p> panel.Picture = Nothing</p
57、><p> panel.Picture1.Picture = Nothing</p><p> main.Picture1.Picture = Nothing</p><p> main.Picture2.Picture = Nothing</p><p> Unload findEm: Unload findlogin: Unload
58、fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload View</p><p> Unload changelogin: Unload findLogout: Unload find: panel.resizeme</p><p><b> End If</b>
59、</p><p><b> End If</b></p><p><b> End Sub</b></p><p><b> 2.添加員工</b></p><p> Private Declare Function ReleaseCapture Lib "us
60、er32" () As Long '獲取“變動(dòng)”信息</p><p> Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam
61、As Long, lParam As Any) As Long</p><p> Private Const WM_SYSCOMMAND = &H112</p><p> Private Const SC_MOVE = &HF010&</p><p> Private Const HTCAPTION = 2</p><
62、;p> Dim Emp As Recordset</p><p> Private Sub DTPicker1_Change()</p><p> Text7.Text = Year(Date) - Year(DTPicker1.Value)</p><p><b> End Sub</b></p><p>
63、; Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)</p><p> If Button = 1 Then</p><p><b> '如果按下鼠標(biāo)左鍵</b></p><p> Dim Retur
64、nVal As Long</p><p> X = ReleaseCapture()</p><p> ReturnVal = SendMessage(addEm.hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0)</p><p><b> End If</b></p><p>
65、;<b> End Sub</b></p><p> Private Sub Form_Load()</p><p> LoadAccess</p><p> Set Emp = mydb.OpenRecordset("select * from empl")</p><p> Text1.
66、Text = Year(Date) & Month(Date) & Day(Date) & Hour(Time) & Minute(Time)</p><p> Text7.Text = Year(Date) - Year(DTPicker1.Value)</p><p><b> End Sub</b></p>&l
67、t;p> Private Sub Command1_Click() '================================================!!!!!!!!!!!!!!!!!!!!!!!!!!!</p><p> '缺少判斷員工號(hào)是否存在的信息</p><p> If Text1.Text = "" Or Text2
68、.Text = "" Or Text4.Text = "" Then</p><p> msg$ = MsgBox("請(qǐng)確認(rèn) 員工號(hào)、員工姓名、職務(wù) 已經(jīng)輸入", 48, "Error")</p><p><b> Else</b></p><p> Emp.
69、AddNew</p><p> Emp.Fields("emid") = Text1.Text</p><p> Emp.Fields("ename") = Text2.Text</p><p> Emp.Fields("esex") = Combo1.Text</p><p>
70、; Emp.Fields("ejob") = Text4.Text</p><p> Emp.Fields("eage") = Val(Text5.Text)</p><p> Emp.Fields("etel") = Text6.Text</p><p> Emp.Fields("ejt
71、ime") = DTPicker1.Value</p><p> Emp.Fields("ejage") = Text7.Text</p><p> Emp.Update '更新記錄</p><p><b> Emp.Close</b></p><p> msg$ =
72、 MsgBox("添加成功", 64, "Success!")</p><p><b> Unload Me</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p>
73、 Private Sub Command2_Click()</p><p> Text1.Text = "": Text2.Text = "": Combo1.Text = ""</p><p> Text4.Text = "": Text5.Text = "": Text6.Text
74、 = ""</p><p><b> End Sub</b></p><p> Private Sub Command3_Click()</p><p> main.Enabled = True</p><p><b> Unload Me</b></p>
75、<p><b> End Sub</b></p><p><b> 3. 賓客入住</b></p><p> Dim i As Integer '定義一個(gè)整型變量</p><p> Dim InLog As Recordset</p><p> Dim Room
76、As Recordset</p><p> Dim Remind As Recordset</p><p> Private Sub Combo4_Click()</p><p> Set Room = mydb.OpenRecordset("select * from roomlogin where rname='" &
77、Combo4.Text & "'")</p><p> ZSDJ(4).Text = Room.Fields("rtype"): ZSDJ(5).Text = Room.Fields("rprice")</p><p><b> End Sub</b></p><p&g
78、t; Private Sub Combo5_click()</p><p> Label11.Caption = Combo5.Text</p><p><b> End Sub</b></p><p> Private Sub DTP3_Change()</p><p> ZSDJ(6).Text = DTP
79、3.Value - DTP1.Value</p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> If bgi = 1 Then Me.Picture = panel.Image1.Picture</p><p> If bgi = 0
80、 Then Me.Picture = Nothing</p><p> DTP1.Value = Date: DTP2.Value = Date: DTP3.Value = Date '初始化日期及時(shí)間</p><p> czy.Text = NowUser '賦值給czy</p><p> LoadAccess</p>&l
81、t;p><b> End Sub</b></p><p> Private Sub Form_Unload(Cancel As Integer)</p><p> main.Enabled = True '設(shè)置主窗體有效</p><p><b> End Sub</b></p>
82、<p> Private Sub Combo2_Click()</p><p> If Combo2.Text = "折扣" Then</p><p> ZSDJ(8).Enabled = True '設(shè)置ZSDJ(8)有效</p><p> ZSDJ(8).SetFocus 'ZSDJ(8)獲得
83、焦點(diǎn)</p><p><b> End If</b></p><p> If Combo2.Text = "招待" Then</p><p> ZSDJ(8).Enabled = True '設(shè)置ZSDJ(8)有效</p><p> ZSDJ(8).Text = 0 &
84、#39;賦值給ZSDJ(8)</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub ZSDJ_Change(Index As Integer)</p><p> Select Case Index</
85、p><p><b> Case 6</b></p><p> ZSDJ(7).Text = Format(Val(ZSDJ(6).Text) * Val(ZSDJ(5).Text), "0.00") '計(jì)算折前宿費(fèi)</p><p> ZSDJ(9).Text = ZSDJ(7).Text '
86、賦值給ZSDJ(9)</p><p> ZSDJ(8).Text = 100</p><p> DTP3.Value = DTP1.Value + Val(ZSDJ(6).Text) '計(jì)算退宿日期</p><p><b> Case 8</b></p><p> ZSDJ(9).Text = F
87、ormat(Val(ZSDJ(7).Text) * Val(ZSDJ(8).Text) / 100, "0.00") '計(jì)算實(shí)際宿費(fèi)</p><p><b> Case 10</b></p><p> If ZSDJ(10).Text <> "" Then</p><p>
88、 ZSDJ(10).Text = Val(ZSDJ(10).Text) '用val函數(shù)將字符串轉(zhuǎn)換為數(shù)字</p><p> DTP2.Value = DTP1.Value + Int(Val(ZSDJ(10).Text) / Val(ZSDJ(5).Text)) '計(jì)算提醒日期</p><p><b> End If</b><
89、;/p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub ZSDJ_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)</p><p> Select Case Ind
90、ex</p><p><b> Case 0</b></p><p> If KeyCode = vbKeyReturn Then Combo1.SetFocus '按回車鍵Combo1獲得焦點(diǎn)</p><p><b> Case 1</b></p><p> If KeyC
91、ode = vbKeyReturn Then ZSDJ(2).SetFocus '按回車鍵ZSDJ(2)獲得焦點(diǎn)</p><p><b> Case 2</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(3).SetFocus '按回車鍵ZSDJ(3)獲得焦點(diǎn)</p>
92、<p><b> Case 3</b></p><p> If KeyCode = vbKeyReturn Then DBCombo1.SetFocus '按回車鍵ZSDJ(2)獲得焦點(diǎn)</p><p><b> Case 4</b></p><p> If KeyCode = vbKey
93、Return Then ZSDJ(5).SetFocus '按回車鍵ZSDJ(5)獲得焦點(diǎn)</p><p><b> Case 5</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(6).SetFocus '按回車鍵ZSDJ(6)獲得焦點(diǎn)</p><p><
94、b> Case 6</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(10).SetFocus</p><p><b> Case 8</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(10).SetFocus '
95、;按回車鍵ZSDJ(10)獲得焦點(diǎn)</p><p><b> Case 10</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(11).SetFocus 'ZSDJ(11)獲得焦點(diǎn)</p><p><b> Case 11</b></p>&
96、lt;p> If KeyCode = vbKeyReturn Then Comok.SetFocus '按回車鍵Comok獲得焦點(diǎn)</p><p> End Select</p><p><b> End Sub</b></p><p> Private Sub Combo1_KeyDown(KeyCode As
97、Integer, Shift As Integer)</p><p> If KeyCode = vbKeyReturn Then ZSDJ(1).SetFocus '按回車鍵ZSDJ(1)獲得焦點(diǎn)</p><p><b> End Sub</b></p><p> Private Sub DBCombo1_KeyDown
98、(KeyCode As Integer, Shift As Integer)</p><p> If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus 'ZSDJ(5)獲得焦點(diǎn)</p><p><b> End Sub</b></p><p> Private Sub comdj_Cl
99、ick()</p><p><b> '查詢空閑房間信息</b></p><p> Set Room = mydb.OpenRecordset("select * from roomlogin where rstatue='空閑'")</p><p> 'On Error GoTo u&
100、lt;/p><p> Room.MoveFirst</p><p> Combo4.Text = Room.Fields("rname")</p><p> ZSDJ(4).Text = Room.Fields("rtype")</p><p> ZSDJ(5).Text = Room.Fields
101、("rprice")</p><p> Set Room = mydb.OpenRecordset("select * from roomlogin ")</p><p> While Not Room.EOF</p><p> If Room.Fields("rstatue") = "空閑
102、" Then Combo4.AddItem Room.Fields("rname")</p><p> Room.MoveNext</p><p><b> Wend</b></p><p> bh.Text = Year(Date) & Month(Date) & Day(Date) &am
103、p; Hour(Time) & Minute(Time) & Second(Time) '設(shè)置編號(hào)</p><p> ZSDJ(8).Text = "": ZSDJ(10).Text = ""</p><p> '設(shè)置控件有效或無效</p><p> Comok.Enabled = Tru
104、e: Comdj.Enabled = False: Comprint.Enabled = False: ZSDJ(8).Enabled = True</p><p> ZSDJ(10).Enabled = True: Combo1.Enabled = True: DTP3.Enabled = True</p><p> Combo2.Enabled = True: ZSDJ(0).En
105、abled = True: ZSDJ(0).SetFocus</p><p> Label11.Caption = Combo5.Text</p><p><b> Exit Sub</b></p><p> 'u: h$ = MsgBox("沒有空閑房間,客房已滿", 48, "Error"
106、;): Comok.Enabled = False: Comprint.Enabled = False: Comcancel.Enabled = False: Comend.Enabled = True: Comdj.Enabled = True</p><p><b> End Sub</b></p><p> Private Sub comok_Click()
107、 '===========================!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11</p><p> Set InLog = mydb.OpenRecordset("select * from cmanage")</p><p> If ZSDJ(0).Text <> "" An
108、d ZSDJ(1).Text <> "" And Text1.Text <> "" And ZSDJ(6).Text <> "" Then</p><p> InLog.AddNew</p><p> If bh.Text <> "" Then InLog.F
109、ields("cnumber") = bh.Text</p><p> If ZSDJ(0).Text <> "" Then InLog.Fields("cname") = ZSDJ(0).Text</p><p> If Combo1.Text <> "" Then InLog.F
110、ields("cictype") = Combo1.Text</p><p> If ZSDJ(1).Text <> "" Then InLog.Fields("cicnum") = ZSDJ(1).Text</p><p> If ZSDJ(2).Text <> "" Then I
111、nLog.Fields("caddress") = ZSDJ(2).Text</p><p> If Text2.Text <> "" Then InLog.Fields("ctel") = Text2.Text</p><p> If Combo4.Text <> "" Then
112、InLog.Fields("croom") = Combo4.Text</p><p> If Combo5.Text <> "" Then InLog.Fields("cintype") = Combo5.Text</p><p> If Combo3.Text <> "" The
113、n InLog.Fields("csex") = Combo3.Text</p><p> If Text1.Text <> "" Then InLog.Fields("cmember") = Text1.Text</p><p> If ZSDJ(4).Text <> "" The
114、n InLog.Fields("ctype") = ZSDJ(4).Text</p><p> If DTP1.Value <> "" Then InLog.Fields("cindate") = DTP1.Value</p><p> If ZSDJ(5).Text <> "" T
115、hen InLog.Fields("cprice") = Val(ZSDJ(5).Text)</p><p> If ZSDJ(9).Text <> "" Then InLog.Fields("cmshould") = ZSDJ(9).Text</p><p> If ZSDJ(10).Text <>
116、"" Then InLog.Fields("cya") = Val(ZSDJ(10).Text)</p><p> If DTP3.Value <> "" Then InLog.Fields("coutdate") = DTP3.Value</p><p> InLog.Fields("
117、;cstatue") = "1"</p><p> InLog.Update</p><p><b> '添加住宿預(yù)收信息</b></p><p> Set Room = mydb.OpenRecordset("select * from roomlogin where rname='
118、;" & Combo4.Text & "'")</p><p><b> Room.Edit</b></p><p> Room.Fields("Rstatue") = "入住"</p><p> Room.Update</p>&
119、lt;p> Set Remind = mydb.OpenRecordset("select * from reminder") '更新提醒表</p><p> Remind.AddNew</p><p> Remind.Fields("remname") = Combo4.Text</p><p> R
120、emind.Fields("remdate") = DTP2.Value</p><p> Remind.Fields("remtype") = Combo5.Text</p><p> Remind.Fields("remstatue") = "1"</p><p> Remin
121、d.Fields("remuser") = NowUser</p><p> Remind.Update</p><p> f$ = MsgBox("操作成功", 64, "Tips")</p><p> '設(shè)置控件有效或無效</p><p> '//////
122、/////////////////////////////////////////////////////////////////////////</p><p> ZSDJ(8).Enabled = False: ZSDJ(10).Enabled = False</p><p> Combo4.Enabled = False: Combo1.Enabled = False: DTP3
123、.Enabled = False</p><p> Comok.Enabled = False: Comprint.Enabled = True: Comdj.Enabled = True</p><p> Comprint.SetFocus: ZSDJ(0).Enabled = False</p><p><b> Else</b>&l
124、t;/p><p> H$ = MsgBox("請(qǐng)確認(rèn)姓名、證件號(hào)碼和入住人數(shù)都已經(jīng)填寫", 48, "Tips")</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub
125、comcancel_Click() '取消操作</p><p> For i = 0 To 11</p><p> ZSDJ(i).Enabled = False</p><p><b> Next i</b></p><p> Comprint.Enabled = False: Como
126、k.Enabled = False: Combo4.Enabled = False</p><p> Combo1.Enabled = False: Combo2.Enabled = False: DTP2.Enabled = False: DTP3.Enabled = False</p><p> Comdj.Enabled = True</p><p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 賓館客房管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)——賓館客房管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告(賓館客房管理系統(tǒng))
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)客房管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)應(yīng)用課程設(shè)計(jì)--客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)技術(shù)課程設(shè)計(jì)--客房管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---賓館客房信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----賓館客房信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)---客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----賓館客房信息管理系統(tǒng)設(shè)計(jì)
- 賓館客房管理系統(tǒng)課程設(shè)計(jì)
- 賓館客房管理系統(tǒng)的sql數(shù)據(jù)庫(kù)1
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---酒店客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---賓館管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論