版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 數據庫原理程序設計</b></p><p><b> 賓館客房管理系統(tǒng)</b></p><p><b> 目 錄</b></p><p> 1、系統(tǒng)需求分析……………………………………………………………………3</p><p> 1.1
2、設計前調查…………………………………………………………………3</p><p> 1.2 用戶需求分析………………………………………………………………3</p><p> 1.3 核心數據流圖………………………………..……………………………4</p><p> 1.3.1 部分數據流圖…………………………………………………………4</p>&l
3、t;p> 1.3.2 核心數據字典…………………………………………………………5</p><p> 2、概念設計…………………………………………………………………………6</p><p> 2.1 局部E-R圖…………………………………………………………………6</p><p> 2.2 全局E-R圖…………………………………………………………………7
4、</p><p> 3、邏輯設計…………………………………………………………………………8</p><p> 3.1開發(fā)環(huán)境……………………………………………………………………8</p><p> 3.2關系模式形成以及規(guī)范……………………………………………………8</p><p> 3.2.1關系模式…………………………………………
5、……………………8</p><p> 3.2.2分解分析………………………………………………………………8</p><p> 4、詳細設計說明……………………………………………………………………8</p><p> 4.1創(chuàng)建數據庫…………………………………………………………………8</p><p> 4.2程序調試和使用說明…………
6、……………………………………………8</p><p> 4.2.1程序登陸界面…………………………………………………………10</p><p> 4.2.2主面板…………………………………………………………………11</p><p> 4.2.3具體介紹………………………………………………………………12</p><p> 5、課程設
7、計心得與體會……………………………………………………………15</p><p><b> 附錄·程序源代碼</b></p><p><b> 參考文獻</b></p><p><b> 系統(tǒng)需求分析</b></p><p><b> 1.1 設計前調
8、查</b></p><p> 近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準,已成為賓館業(yè)發(fā)展的當務之急。尤其是對于星級賓館,既需要完成前臺的一些服務工作,還需要完成后臺的管理工作。然而,傳統(tǒng)的人工管理模式已經遠遠不能滿足有效、快捷地處理經營中產生的大量信息數據的需要,從而使得企業(yè)決策層無法及時、準確地掌握一線資料,繼而影響對市場進行正確地分析和預測。像沿海城市三星級以上賓館
9、引進外方管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取得優(yōu)勢,必須在經營、管理、產品、服務等方面具備獨到之處。而對賓館的經營狀況起決定作用的是客房的管理。簡單的服務標準已不是制勝的錦囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務的高標準、高質量,而準確、快速、周全往往就是最基本的成功要素。傳統(tǒng)的管理方法已經不能適應現代社會的需要,因此采用電腦管理業(yè)
10、務、財務等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)是各大中小型賓館所需要使用的一個管理系統(tǒng)。</p><p> 1.2 用戶需求分析</p><p> 根據賓館管理系統(tǒng)的理念,賓館管理系統(tǒng)必須滿足一下需要: </p><p> (1)具有方便的登記、結帳功能和預訂客房的功能,能夠支持團體登記和團體報帳; </p><
11、p> ?。?)能快速、準確地了解賓館內的客房狀態(tài),以便管理者決策; </p><p> ?。?)提供多種手段查詢客人的信息; </p><p> ?。?)具備一定的維護手段,有一定權利的操作員在密碼的支持下才可以更改房價、房間類型、增減客房; </p><p> (5)完善的結帳報表系統(tǒng); </p><p> (6)系統(tǒng)維護:如數據
12、安全管理(含備份與恢復) 、操作員管理、權限設置等。 </p><p> 根據系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下: </p><p> 1. 系統(tǒng)管理: 管理登陸系統(tǒng)的用戶 </p><p> 2. 訂房信息的管理:管理訂房信息,對訂房信息進行查詢和添加新的訂房信息。 </p><p> 3. 基礎數據庫管理: 設置房的基本屬性
13、,如等級,價格等。 </p><p> 4. 顧客信息管理: 管理顧客的信息,查詢居住記錄等。 1.3 核心數據流圖 </p><p><b> 維修信息</b></p><p> 客房信息 </p><p> 客房信息 客房狀態(tài)<
14、;/p><p> 客人信息 入住登記</p><p><b> 帳務信息</b></p><p> 入住信息 </p><p> 1
15、.3.1部分數據流圖</p><p> (賓館客房管理系統(tǒng)的數據流——客人信息) </p><p> ?。ㄙe館客房管理系統(tǒng)的數據流——入住登記)</p><p> ?。ㄙe館客房管理系統(tǒng)的數據流——客房信息)</p><p> (賓館客房管理系統(tǒng)的數據流——房間狀態(tài))</p><p> (賓館客房管理系統(tǒng)的數
16、據流——帳務信息)</p><p> 1.3.2 核心數據字典</p><p> [賓客入住信息表:Cmanage] </p><p> [客房登記表:Roomlogin] </p><p> [管理員表::pw]</p><p> [財務管理表:Smanage]</p><p>
17、[維修/報修表:fix]</p><p><b> 第二章、概念設計</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> 第三章、邏輯設計</b></p><p><b> 3.1 開發(fā)環(huán)境</b></p><p> 開發(fā)語言:Visual Basic</p><p> 開發(fā)平臺:windows xp,1G內存,集成顯卡。</p><p> 開發(fā)工具:Visual Basic 6.0企業(yè)版,SQL
22、Server 2000,Access 2003</p><p> 3.2 關系模式形成以及規(guī)范</p><p> 3.2.1關系模式:</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.各分量都是不可分割的數據項。滿足第一范式;</p><p> 2.每一個關系中的非碼屬性都完全函數依賴于碼,符合第二范式;</p><p> 3.每個關系中的主屬性不傳遞依賴關系中的每個關系鍵,符合第三范式;</p><p> 4.關系中所有非主屬性對每個碼都是完全依賴,且所有主碼對于每個不包含它
27、 的碼也是完全函數依賴,沒有任何屬性完全函數依賴非碼的任何一組屬性。</p><p> 第四章 詳細設計說明</p><p><b> 4.1創(chuàng)建數據庫</b></p><p> 1)創(chuàng)建數據庫,讓數據庫可以動態(tài)增長</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、帳務表Smanage、客戶如住表Cmanage</p><p> 4.2 程序調試和使用說明</p><p> 4.2.1程序登陸界面</p><p> [說明:進入登陸界面后,系統(tǒng)會自動加載已有的用戶,讓用戶選擇自己的帳戶進行登陸,密碼輸入三次后關閉窗口;用控件屬性設置來實現用戶定義的完
35、整性:密碼最大長度為8。用戶名錯誤,或密碼錯誤,系統(tǒng)都會對其進行提醒,以達到正確輸入,本程序設置一超級用戶:admin,權限為1,其他用戶的權限均為0。超級用戶能對押金進行追加,其他用戶必須在超級用戶協(xié)助下才能完成押金追加]</p><p><b> 4.2.2主面板</b></p><p> [說明:主界面用VB中的MDIForm,多入口提供給用戶操作,包括菜單
36、欄、工具欄(可選擇顯示和不顯示)、側邊欄(可隱藏)、主面板Panel(提供操作員最常用的操作,節(jié)約時間),在狀態(tài)欄可以顯示系統(tǒng)時間和當前用戶以及需要維修的房間數。實現了所有要求的功能]</p><p> [說明:提供兩種風格供用戶選擇。在vb模塊里有一函數change(),一變量保存當前風格類型,當每次show一窗口時,就會調用該函數通過變量判斷是顯示那種風格]</p><p><
37、b> 4.2.3具體介紹</b></p><p><b> 1)房態(tài)查看</b></p><p> [說明:在主面板上的快速入口上點擊房態(tài)查詢,顯示當前房間入住圖形界面。直觀、方便。點擊房間能顯示在該房間入住過的客戶。嵌入的查詢語句為:"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為當前按下的要查詢的房間按鈕的名稱]</p><p> 2)入住登記
39、和預定房間</p><p> [說明:點"登記",系統(tǒng)自動在 roomlogin表中rstatue='空閑'的房間名字添加到 房間號碼的下拉列表中,供客戶選擇房間,用戶可以選擇"現開/預定"當用戶選擇下拉列表中的一個房間時,系統(tǒng)自動將roomlogin中該房間的標準類型,價格自動加載顯示,房間狀況一目了然。其他用戶自定義完整性約束都通過對控件的屬性設置來完
40、成,當用戶輸入數據破壞完整性時,系統(tǒng)會發(fā)出警告,以保持數據庫的完整性]</p><p> 3)調房,住宿、退宿查詢</p><p> [說明:通過入口可以打開窗體。當客戶需要調整房間時,點登記后,系統(tǒng)自動加載已入住客戶的房間和空閑的房間號碼,當用戶選擇要調房的客戶時,系統(tǒng)自動加載客戶的信息。選擇目標房間時候,系統(tǒng)自動加載房間信息。用戶確定調房后,系統(tǒng)修改數據庫:原房間狀態(tài)改為空閑,目標
41、房間改為入住。原住房產生的費用將加在新入住房間上,而提醒表中原房間改為現房間。因而需要修改三個表:Cmanage,roomlogin,reminder.而查詢入住信息的嵌入sql語句為:"select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage&q
42、uot;,其他查詢語句雷同,此后不在贅述。在文本框里輸入要查詢的姓名,MSFlexGrid空間將會顯示查詢結果,嵌入的查詢語句為: "select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutda</p><p> 4) 掛帳,結帳,日報表,追加押金</p>
43、<p> [說明:追加押金窗體.系統(tǒng)自動加載已入住客戶號碼,當用戶選擇客戶號碼時候,系統(tǒng)自動加載客戶信息,用戶添加押金后,保存時系統(tǒng)對cmanage表進行修改,保存數據;結帳窗體。系統(tǒng)自動加載已入住還沒退房的房間號,用戶選擇要退房的房間號,系統(tǒng)加載客戶信息以需付款和明細供核對,確定結帳后,系統(tǒng)將對 cmanage表,smanage,reminder,roomlogin進行修改,以保持數據庫的參照完整性。如果是掛帳,用戶可以選
44、擇掛帳,在客戶結帳的時候,調出掛帳結帳窗體,系統(tǒng)自動加載掛帳的單位,用戶選擇掛帳單位,系統(tǒng)自動加載需還金額。掛帳結帳只對smanage表操作。而日報表顯示smange里的信息,提供按日期查找的方法,打印當天的帳務明細。查詢的嵌入sql語句為:"select sreason,sin,sout,ssum,sdate,sman,scomp,suser from smanage where sdate =#" &
45、DTPicker1.Value & "#"。在該處開始一直調試不出,后來發(fā)現在sql語句中對日期要加"#"來格式說明是日期型的。</p><p><b> 5) 報修和維修</b></p><p> [說明:打開該窗體,左邊有一組option選項。當選報修時候,系統(tǒng)自動加載空閑的房間號。如果為入住的房間報修,則需先調
46、房退房后才能報修,總不能讓客戶住在需維修的房間中吧。確定報修后。系統(tǒng)將在reminder表中增加一條需提醒事項,即需維修事項,傳遞 房間號 和維修狀態(tài) 給 reminder表做為關鍵字。在主窗體中便會有提示需要維修的房間,可以通過房態(tài)查詢,查看需要維修的房間號。維修完后要進行登記,選擇登記后,系統(tǒng)加載當前狀態(tài)為 維修的房間,記錄維修費用和維修員,確定后,系統(tǒng)將操作 roomlogin和reminder表,保持數據庫系統(tǒng)的參照完整性] &
47、lt;/p><p> 6)添加用戶,添加員工,修改密碼</p><p> [說明:只有管理員,即超級用戶才能添加操作員和員工,但是普通擁護可以修改自己的密碼。]</p><p> 第五章 課程設計心得與體會</p><p> 兩周的日日夜夜的奮戰(zhàn),終于達到了預定的效果,完成了該信息系統(tǒng)的設計和程序編寫。</p><p&
48、gt; 選定課題后,開始收集相關資料和設計軟件架構。到賓館調查和到網上收集信息,以及參考了其他信息管理系統(tǒng),心里就有了輪廓。設計好軟件的幾大模塊,采用自頂向下的經典設計方法,確定實現的功能,開始設計數據庫。運用相關的數據庫知識,設計好數據表,確定字段。并通過模式分解,確定其是無損的連接。有了數據庫作為整個設計的底層,就好象蓋房子有了骨架,而軟件就象是磚瓦,只是將骨架填充完善,給客戶一個好的外觀。因而數據庫的設計尤為重要,但是在設計之初
49、,往往會有很多情況不能考慮周全,再加之一個人編寫,所以進度一度很慢,后來通過列出所有可能的情況,以及同同學老師等交流,總結并重新設計了數據庫,終于是能有一個比較好的效果。通過將所有和客戶相關的財務信息都加到客戶信息里,避免了對多表的操作,避免了有可能會出現的參照完整性不一致的問題。繼而是軟件的設計,由于對vb還是算比較熟悉,因而有了數據庫的支撐,就得心應手了??紤]到用戶使用的方便性,軟件主界面提供了很多入口,以及直觀的圖形顯示,方便用戶
50、操作,因而也給客戶帶來方便,免去了客戶的很多等待時間,提升賓館的形象。同時提供了兩套外觀,春天里這套外觀可以避免用戶的審美疲勞。整</p><p> 在本次課程設計中,要感謝各位老師的指導,也要感謝提供意見和建議的同學,才得以大致完成該設計。編程最大的喜事莫過于完成所有程序的那一刻,雖然后續(xù)還有很多維護和修改任務,但是心里突然輕松下來那一刻的心情是無與倫比的。再次感謝老師的指導!</p><
51、p><b> 附錄·程序源代碼</b></p><p><b> 1.模塊</b></p><p> Public NowUser As String '當前用戶名</p><p> Public nowpower As String '當前用戶權限</p><p
52、> Public mydb As DAO.Database '定義數據庫</p><p> Public bgi As Integer '判斷背景風格</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 '獲取“變動”信息</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> '如果按下鼠標左鍵</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> '缺少判斷員工號是否存在的信息</p><p> If Text1.Text = "" Or Text2
68、.Text = "" Or Text4.Text = "" Then</p><p> msg$ = MsgBox("請確認 員工號、員工姓名、職務 已經輸入", 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 '定義一個整型變量</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 '初始化日期及時間</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 '設置主窗體有效</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 '設置ZSDJ(8)有效</p><p> ZSDJ(8).SetFocus 'ZSDJ(8)獲得
83、焦點</p><p><b> End If</b></p><p> If Combo2.Text = "招待" Then</p><p> ZSDJ(8).Enabled = True '設置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") '計算折前宿費</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) '計算退宿日期</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") '計算實際宿費</p><p><b> Case 10</b></p><p> If ZSDJ(10).Text <> "" Then</p><p>
88、 ZSDJ(10).Text = Val(ZSDJ(10).Text) '用val函數將字符串轉換為數字</p><p> DTP2.Value = DTP1.Value + Int(Val(ZSDJ(10).Text) / Val(ZSDJ(5).Text)) '計算提醒日期</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獲得焦點</p><p><b> Case 1</b></p><p> If KeyC
91、ode = vbKeyReturn Then ZSDJ(2).SetFocus '按回車鍵ZSDJ(2)獲得焦點</p><p><b> Case 2</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(3).SetFocus '按回車鍵ZSDJ(3)獲得焦點</p>
92、<p><b> Case 3</b></p><p> If KeyCode = vbKeyReturn Then DBCombo1.SetFocus '按回車鍵ZSDJ(2)獲得焦點</p><p><b> Case 4</b></p><p> If KeyCode = vbKey
93、Return Then ZSDJ(5).SetFocus '按回車鍵ZSDJ(5)獲得焦點</p><p><b> Case 5</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(6).SetFocus '按回車鍵ZSDJ(6)獲得焦點</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)獲得焦點</p><p><b> Case 10</b></p><p> If KeyCode = vbKeyReturn Then ZSDJ(11).SetFocus 'ZSDJ(11)獲得焦點</p><p><b> Case 11</b></p>&
96、lt;p> If KeyCode = vbKeyReturn Then Comok.SetFocus '按回車鍵Comok獲得焦點</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)獲得焦點</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)獲得焦點</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) '設置編號</p><p> ZSDJ(8).Text = "": ZSDJ(10).Text = ""</p><p> '設置控件有效或無效</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> '添加住宿預收信息</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> '設置控件有效或無效</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("請確認姓名、證件號碼和入住人數都已經填寫", 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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賓館客房管理系統(tǒng)數據庫課程設計
- 數據庫課程設計——賓館客房管理系統(tǒng)數據庫設計
- 數據庫課程設計實驗報告(賓館客房管理系統(tǒng))
- 數據庫課程設計-客房管理系統(tǒng)
- 數據庫課程設計報告---客房管理系統(tǒng)
- 數據庫課程設計報告--客房管理系統(tǒng)
- 數據庫客房管理系統(tǒng)課程設計報告
- 數據庫應用課程設計--客房管理系統(tǒng)
- 數據庫技術課程設計--客房管理系統(tǒng)數據庫設計
- 數據庫課程設計---賓館客房信息管理系統(tǒng)
- 數據庫課程設計----賓館客房信息管理系統(tǒng)
- 數據庫系統(tǒng)概論課程設計---客房管理系統(tǒng)
- 數據庫課程設計----賓館客房信息管理系統(tǒng)設計
- 賓館客房管理系統(tǒng)課程設計
- 賓館客房管理系統(tǒng)的sql數據庫1
- 數據庫課程設計(酒店客房管理系統(tǒng))論文
- 數據庫課程設計(酒店客房管理系統(tǒng))論文
- 數據庫課程設計報告---酒店客房管理系統(tǒng)
- 數據庫課程設計(酒店客房管理系統(tǒng))論文
- 數據庫課程設計---賓館管理系統(tǒng)
評論
0/150
提交評論