Luận văn Chương trình phần mềm quản lý khách sạn

Sử dụng mô hình server/client để chuyên biệt hoá công việc: mỗi client là nơi tiếp nhận các luồng dữ liệu khác nhau tương ứng với từng phần hành được giao và hoàn toàn độc lập với nhau trong thao tác trong khi máy chủ server là nơi duy nhất chứa cơ sở dữ liệu do các client cung cấp và chịu trách nhiệm xử lý, tổng hợp các dữ liệu đã có. như vậy mô hình server/client sẽ làm cho toàn bộ chương trình vừa thống nhất vừa có sự độc lập giữa từng loại công việc Luận văn gồm 4 chương ,chia làm 8 mục,dai 73 trang.Được hội đồng bảo vệ đánh giá là luận văn xuất sắc

doc69 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2456 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Chương trình phần mềm quản lý khách sạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHOØNG: Danh muïc caùc phoøng cho thueâ cuûa khaùch saïn. Moãi moät phoøng ñeàu coù moät maõ soá ñoù chính laø soá phoøng thöïc teá cuûa khaùch saïn. Phoøng Maõ phoøng Loaïi phoøng -Maõ phoøng -Loaïi phoøng 101 102 … Ñôn Ñoâi … Maõ soá phoøng ñöôïc taïo nhö sau: soá taàng + soá phoøng. Ví duï: phoøng soá 10 taàng 1 coù maõ soá phoøng nhö sau: 110 TÆNH: löu danh muïc tænh/ thaønh phoá chính trong caû nöôùc. Tænh Maõ tænh Tænh -Maõ tænh -Tænh 04 08 Haø noäi TPHCM NÖÔÙC: löu danh muïc caùc nöôùc treân theá giôùi. Aùp duïng ñoái vôùi khaùch quoác teá. Nöôùc Maõ nöôùc Teân nöôùc -Maõ nöôùc -Teân nöôùc 01 84 Myõ Vieät nam DÒCH VUÏ: moâ taû danh muïc caùc loaïi dòch vuï cuûa khaùch saïn vaø nhaø haøng nhö: ñieän thoaïi, fax, thueâ xe, giaët uûi, aên, nöôùc uoáng. . . Dòch vuï Maõ dv Teân dv DVT -Maõ dòch vuï -Teân dòch vuï -ÑVT 001 002 003 Thueâ xe Fax Ñieän thoaïi Laàn Cuoäc Cuoäc LOAÏI DV: moâ taû tích chaát loaïi dòch vuï cuûa khaùch saïn thuoäc loaïi naøo: phoøng, dòch vuï hay nhaø haøng. Loaïi DV Maõ loaïi Teân loaïi -Maõ loaïi -Teân loaïi PH DV NH Phoøng Dòch vuï Nhaø haøng ÑAËT PHOØNG: Moãi khaùch phaûi ñaët phoøng tröôùc khi nhaän phoøng. Moái quan heä ñaët phoøng duøng ñeå löu thoâng tin ñaët phoøng cho töøng khaùch. Moãi ngöôøi khaùch ñaët phoøng ñeàu coù moät maõ ñaët phoøng. Khoâng coù khaùch ñaët phoøng naøo coù truøng maõ ñaët phoøng. Ñaët phoøng theå hieän moái quan heä keát hôïp giöõa thöïc theå ÑOAØN, KHAÙCH HAØNG vaØ SÖÛ DUÏNG PHOØNG. Ñaët phoøng Maõ ñp Nhaän phoøng -Maõ Ñp -Nhaän phoøng 111111 111112 111113 x x x ¨ SÖÛ DUÏNG PHOØNG: söû duïng phoøng duøng ñeå löu caùc khaùch haøng thöïc söï thueâ phoøng. Söû duïng phoøng -Maõ Ñp -Ngaøy nhaän phoøng -Giôø nhaän phoøng -Ngaøy traû phoøng -Giôø traû phoøng -Giaù phoøng -Traû phoøng SÖÛ DUÏNG DÒCH VUÏ: Khaùch thueâ phoøng thöôøng söû duïng caùc dòch vuï cuûa khaùch saïn. Moái keát hôïp söû duïng dòch vuï ñöôïc sinh ra töø moái keát hôïp giöõa thöïc theå dòch vuï vaø moái quan heä söû duïng phoøng, duøng ñeå löu caùc laàn söû duïng dòch vuï cuûa töøng khaùch haøng ñang söû duïng phoøng. Söû duïng dòch vuï -Maõ söû duïng dòch vuï -Dieãn giaûi -Ngaøy sddv -Soá löôïng -Giaù THANH TOAÙN PHOØNG: Thöïc theå naøy löu thoâng tin quaù trình thanh toaùn tieàn phoøng cuûa khaùch, noù ñöôïc sinh ra töø moái quan heä söû duïng phoøng. Khaùch coù theå thanh toaùn tieàn phoøng laøm nhieàu ñôït. Thanh toaùn phoøng -Maõ thanh toaùn phoøng -Ngaøy thanh toaùn -Phieáu TT -Tieàn thanh toaùn THANH TOAÙN DÒCH VUÏ: ñöôïc sinh ra töø moái keát hôïp söû duïng dòch vuï,ï löu thoâng tin quaù trình thanh toaùn tieàn söû duïng dòch vuï. Thanh toaùn DV -Maõ thanh toaùn DV -Ngaøy thanh toaùn -Phieáu TT -Tieàn thanh toaùn II.1.2 MOÂ HÌNH QUAN NIEÄM DÖÕ LIEÄU BAØI TOAÙN QUAÛN LYÙ KHAÙCH SAÏN: Khaùch haøng -Maõ KH -Teân KH -Ñieän thoaïi Phoøng -Maõ phoøng -Loaïi phoøng Nöôùc -Maõ nöôùc -Teân nöôùc Khaùch QT -Soá hoä chieáu -Ngaøy caáp -Thôøi haïn Dòch vuï -Maõ dòch vuï -Teân dòch vuï -Ñôn vò tính Ñ-ÑV (1,n) Tænh Maõ tænh Teân tænh KQT-N (1,n) (1,n) Ñoaøn -Maõ ñoaøn -Teân Ñoaøn -Ngaøy ñaët phoøng -Ngaøy nhaän phoøng -Slöôïng phoøng ñaët -Slöôïng khaùch Ñaët Phoøng -Maõ ñaët phoøng -Nhaän phoøng â (1,n) Ttoaùn phoøng -Maõ TTPH -Ngaøy TT -Phieáu TT -Tieàn TT Söû duïng Phoøng -Maõ ñaët phoøng -Ngaøy nhaän phoøng -Giôø nhaän phoøng -Ngaøy traû phoøng -Giôø traû phoøng -Giaù phoøng -Traû phoøng â â KVN-T Sduïng dòch vuï -Masddv -Ngaøy sddv -Dieãn giaûi -Soá löôïng -Giaù â â (1,1) (1,n) (1,1) (1,n) (1,n) Ñôn vò -Maõ ñôn vò -Teân ñôn vò -Ñieän thoaïi -Taøi khoaûn -Maõ soá thueá Ttoaùn Dvuï -Maõ TTDV -Ngaøy TT -Phieáu TT -Tieàn TT (1,n) Loaïi DV -Maõ loaïi -Teân loaïi DV-LDV (1,n) (1,1) Khaùch VN -CMND Ñoaøn Khaùch â (1,1) (1,n) (1,n) (1,1) Ñ-T (1,n) (1,1) (1,n) II.2 - MOÂ HÌNH TOÅ CHÖÙC DÖÕ LIEÄU Moâ hình toå chöùc döõ lieäu cuûa heä thoáng laø löôïc ñoà cô sôû döõ lieäu cuûa heä thoáng. Ñaây laø böôùc trung gian chuyeån ñoåi giöõa moâ hình quan nieäm döõ lieäu vaø moâ hình vaät lyù döõ lieäu (moâ hình trong maùy tính), chuaån bò cho caøi ñaët heä thoáng. Sau ñaây laø löôïc ñoà quan heä cuûa baøi toaùn quaûn lyù khaùch saïn: PHONG (Maphong, Loaiphong) KHACHHANG (MaKH, TenKH, Dienthoai) KHACH_VN (MaKH, CMND, Maõ tænh) KHACH_QT (Maõ KH, Sohochieu, Ngaycap, Thoihan, Manuoc) TINH (Matinh, Tentinh) NUOC (Manuoc, Tennuoc) DONVI (Madonvi, Tendonvi, Dienthoai, Masothue, Taikhoan, Matinh) DOAøN (Madoan, Tendoan, Ngaydp, Ngaynp, SL_Phd, SL_khach, Madonvi,) DOAN_KHACH (Makh, Madoan) DATPHONG (Madp, Makh, Madoan , nhanphong) SUDUNGPHONG (Madp, Maphong, Ngaynp, Gionp, Ngaytp, Giotp, Giaphong, Traphong) THANHTOANPHONG (MaTTPH, Madp, NgayTT, PhieuTT, TienTT) DICHVU (Madv, Tendv, Dvt, Maloai) LOAIDV (Maloai, Tenloai) SUDUNGDV (Masddv, ïMadp, Ngaysddv, Soluong, Dongia, Madvï) THANHTOANDV (MaTTDV, Masddv, NgayTT, PhieuTT, TienTT) II.3 - MOÂ HÌNH VAÄT LYÙ DÖÕ LIEÄU Moâ hình vaät lyù döõ lieäu laø moâ hình cuûa döõ lieäu ñöôïc caøi ñaët treân maùy tính döôùi moät heä quaûn trò cô sôû döõ lieäu naøo ñoù. Trong chöông trình naøy laø heä quaûn trò CSDL Access. ÖÙng vôùi moãi löôïc ñoà quan heä trong moâ hình toå chöùc döõ lieäu ñöôïc caøi ñaët thaønh moät baûng döõ lieäu cô sôû (Table). ÔÛ ñaây ta chæ trình baøy caùc yeáu toá chính cuûa Table bao goàm caùc coät: Teân tröôøng, kieåu döõ lieäu, ñoä lôùn vaø raøng buoäc toaøn veïn döõ lieäu. PHONG (Maphong, Loaiphong) PHONG Field name Data type Field size Validation Rule Maphong (K) Text 3 Len()=3 Loaiphong Text 15 Maphong: Maõ soá phoøng laø soá phoøng cuûa khaùch saïn Loaiphong: laø loaïi phoøng nhö: ñôn, ñoâi, ñaëc bieät, . . KHACHHANG (MaKH, TenKH, Dienthoai) KHACH HANG Field name Data type Field size Validation Rule MaKH (K) Text 12 Len()=12 TenKH Text 30 Dienthoai Text 10 Makh: Maõ khaùch haøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Makh=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") KHACH_VN (MaKH, CMND, Maõ tænh) KHACH_VN Field name Data type Field size Validation Rule MaKH (K) Text 12 Len()=12 CMND Text 10 Matinh Text 2 Len()=12 KHACH_QT (Maõ KH, Sohochieu, Ngaycap, Thoihan, Manuoc) KHACH_QT Field name Data type Field size Validation Rule MaKH (K) Text 12 Len()=12 Sohochieu Text 15 Ngaycap Date <date() Thoihan Byte Manuoc Text 3 Len()=3 TINH (Matinh, Tentinh) TINH Field name Data type Field size Validation Rule Matinh (K) Text 2 Len()=2 Tentinh Text 20 Matinh: Maõ tænh NUOC (Manuoc, Tennuoc) NUOC Field name Data type Field size Validation Rule Manuoc(K) Text 3 Len()=3 Tennuoc Text 20 Manuoc: Maõ nöôùc, ñaùnh soá theo thöù töï chöõ caùi cuûa quoác gia Tennuoc: teân nöôùc hay quoác gia. DONVI (Madonvi, Tendonvi, Dienthoai, Masothue, Taikhoan, Matinh) DONVI Field name Data type Field size Validation Rule Madonvi (K) Text 12 Len()=12 Tendonvi Text 30 Dienthoai Text 10 Masothue Text 15 Taikhoan Text 12 Matinh Text 2 Len()=2 Madonvi: Maõ ñôn vò coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Madonvi=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") DOAøN (Madoan, Tendoan, Ngaydp, Ngaynp, SL_Phd, SL_khach, Madonvi,) DOAøN Field name Data type Field size Validation Rule Madoan (K) Text 12 Len()=12 Tendoan Text 30 Ngaydp Date Ngaynp Date SL_Phd Byte SL_khach Byte Madonvi Text 12 Madoan: Maõ ñoaøn coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Madoan=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") DOAN_KHACH (Makh, Madoan) DOAN_KHACH Field name Data type Field size Validation Rule Makh (K) Text 12 Len()=12 Madoan (K) Text 12 Len()=12 DATPHONG (Madp, Makh, Madoan , nhanphong) DATPHONG Field name Data type Field size Validation Rule Madp (K) Text 12 Len()=12 MaKH (K) Text 12 Len()=12 Madoan (K) Text 12 Len()=12 Nhanphong Yes/No Madp: Maõ ñaët phoøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Madp=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") Nhanphong: coù giaù trò laø yes khi khaùch nhaän phoøng. SUDUNGPHONG (Madp, Maphong, Ngaynp, Gionp, Ngaytp, Giotp, Giaphong, Traphong) SUDUNGPHONG Field name Data type Field size Validation Rule Madp (K) Text 12 Len()=12 Maphong Text 3 Len()=3 Ngaynp Date Gionp Date Ngaytp Date Giotp Date Giaphong Number Single Traphong Yes/No Madp: Maõ ñaët phoøng Maphong: soá phoøng thueâ Ngaynp: Ngaøy nhaän phoøng thöïc teá Gionp: giôø nhaän phoøng thöïc teá Ngaytp: Ngaøy traû phoøng thöïc teá Gionp: giôø traû phoøng thöïc teá Traphong: coù giaù trò laø Yes khi khaùch traû phoøng THANHTOANPHONG (MaTTPH, Madp, NgayTT, PhieuTT, TienTT) THANHTOANPHONG Field name Data type Field size Validation Rule MaTTPH(K) Text 12 Len()=12 Madp (K) Text 12 Len()=12 NgayTT Date PhieuTT Text 5 TienTT Number Single Maõ thanh toaùn phoøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Maõ TT phoøng=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") DICHVU (Madv, Tendv, Dvt, Maloai) DICHVU Field name Data type Field size Validation Rule Madv (K) Text 3 Len()=3 Tendv Text 20 Dvt Text 10 Maloai Text 2 Len()=2 Madv: Maõ dòch vuï goàm 3 kyù töï ñöôïc qui ñònh nhö sau : 001:phoøng; 002:ñieän thoaïi; 003:fax, . . . . Maloai: maõ loaïi dòch vuï LOAIDV (Maloai, Tenloai) LOAIDV Field name Data type Field size Validation Rule Maloai (K) Text 2 Len()=2 Tenloai Text 20 Maloai: Maõ loaïi goàm 2 kyù töï ñöôïc qui ñònh nhö sau : PH:phoøng; DV:dòch vuï; NH:nhaø haøng Tenloai: teân loaïi dòch vuï: Phoøng, dòch vuï, nhaø haøng SUDUNGDV (Masddv, ïMadp, Ngaysddv, Soluong, Dongia, Madvï) SUDUNGDV Field name Data type Field size Validation Rule Masddv (K) Text 12 Len()=12 Madp (K) Text 12 Len()=12 Ngaysddv Date Soluong Number Single Dongia Number Single Madv Text 3 Masddv: Maõ söû duïng dv coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: Masddv=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") Ngaysddv: ngaøy söû duïng dòch vuï. THANHTOANDV (MaTTDV, Masddv, NgayTT, PhieuTT, TienTT) THANHTOANDV Field name Data type Field size Validation Rule MaTTDV (K) Text 12 Len()=12 Masddv(K) Text 12 Len()=12 NgayTT Date PhieuTT Text 5 TienTT Number Single III- MOÂ HÌNH HOÙA XÖÛ LYÙ III.1 - MOÂ HÌNH THOÂNG LÖÔÏNG : Nhaèm muïc ñích xaùc ñònh caùc luoàng thoâng tin trao ñoåi giöõa caùc boä phaän trong heä thoáng thoâng tin quaûn lyù. Moâ hình thoâng löôïng cuûa baøi toaùn quaûn lyù khaùch saïn ñöôïc bieåu dieãn nhö sau: Ban giaùm ñoác (1) Khaùch haøng Quaûn lyù phoøng (2) Leã taân (3) (3) (3) (5) Quaûn lyù Nhaø haøng Khaùch haøng - Leã taân : (1) Yeâu caàu ñaët phoøng, söû duïng dòch vuï, thanh toaùn tieàn (2) Traû lôøi yeâu caàu ñaët phoøng, söû duïng dòch vuï, thanh toaùn tieàn Leã taân – quaûn lyù phoøng: (3) Yeâu caàu giao phoøng cho khaùch. (4) Thoâng baùo hieän traïng phoøng. Leã taân – quaûn lyù nhaø haøng: (5) Yeâu caàu cung caáp dòch vuï nhaø haøng (6) Thoâng baùo tình hình cung caáp dòch vuï nhaø haøng Ban giaùm ñoác – Leã Taân: (7) Yeâu caàu baùo caùo doanh thu. (8) Traû lôøi yeâu caàu baùo caùo. III.2. MOÂ HÌNH QUAN NIEÄM XÖÛ LYÙ a/ Moâ hình quan nieäm xöû lyù: Muïc ñích nhaèm xaùc ñònh heä thoáng goàm nhöõng chöùc naêng gì ? Vaø caùc chöùc naêng naøy lieân heä vôùi nhau hö theá naøo ? ÔÛ möùc naøy chöa quan taâm caùc chöùc naêng ñoù ai laøm, laøm khi naøo vaø laøm ôû ñaâu. Danh saùch caùc coâng vieäc: Ñaêng kyù ñaët phoøng Ghi thoâng tin khaùch ñaët phoøng Boá trí vaø giao phoøng cho khaùch Ghi nhaän caùc dòch vuï khaùch söû duïng Khaùch traû phoøng Thanh toaùn tieàn phoøng vaø dòch vuï Baùo caùo doanh thu vaø quaûn trò Moâ hình quan nieäm xöû lyù: Ñaêng kyù ñaët phoøng Yes No Khaùch haøng Thoâng baùo khoâng nhaän Thoâng baùo nhaän Ghi thoâng tin khaùch Yes Coù thoâng tin khaùch ñaët phoøng (1) Giao phoøng cho khaùch Yes No Huyû nhaän phoøng In sô ñoà phoøng Khaùch söû duïng dòch vuï KS vaø NH Yes Traû phoøng Yes Ghi nhaän dòch vuï Khaùch yeâu caàu traû phoøng (1) In Baùo caùo doanh thu Yes No Haøng ngaøy Giao ban giaùm ñoác Khoâng coù doanh thu ngaøy In Baùo caùo thaùng Yes Doanh thu ñoaøn, toång hôïp dt Coâng suaát buoàng, danh saùch ñoaøn Cuoái thaùng Thanh toaùn tieàn Yes No In hoaù ñôn phoøng vaø dòch vuï In thoâng baùo nôï cho khaùch III.3. MOÂ HÌNH TOÅ CHÖÙC XÖÛ LYÙ Muïc tieâu laø xaùc ñònh roõ coâng vieäc do ai laø, laøm ôû ñaâu, laøm khi naøo vaø laøm theo phöông thöùc naøo. ÔÛ möùc naøy caùc coâng vieäc trong moâ hình quan nieäm xöû lyù ñöôïc gaén vaøo töøng nôi laøm vieäc cuï theå cuûa moâi tröôøng thöïc. III.3.1. Baûng coâng vieäc: Stt Teân coâng vieäc Nôi thöïc hieän Phöông thöùc Taàn suaát Chu kyø 1 Ñaêng kyù ñaët phoøng Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 2 Ghi thoâng tin khaùch ñaët phoøng Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 3 Boá trí vaø giao phoøng cho khaùch Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 4 Ghi nhaän caùc dòch vuï khaùch söû duïng Leã taân, nhaø haøng Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 5 Khaùch traû phoøng Khaùch haøng Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 6 Thanh toaùn tieàn phoøng vaø dòch vuï Leã taân Thuû coâng nhieàu laàn/ngaøy 1 ngaøy 7 Baùo caùo doanh thu vaø quaûn trò Ban Quaûn lyù Töï ñoäng 1 laàn/ng/thg 1 ng, thg III.3.1. Moâ hình toå chöùc xöû lyù: Moâ hình toå chöùc xöû lyù laø moâ hình lieân hoaøn caùc bieán coá, coâng vieäc vaø caùc bieán coá, coâng vieäc naøy ñöôïc ñaët taïi vò trí laøm vieäc cuï theå. Nhöõng bieán coá khoâng xuaát phaùt töø moät nôi laøm vieäc naøo ta ñaët treân ñöôøng phaân caùch giöõa hai nôi laøm vieäc. Moâ hình toå chöùc xöû lyù chöông trình khaùch saïn. KHAÙCH HAØNG LEÃ TAÂN NHAØ HAØNG BAN QL Ñaêng kyù ñaët phoøng Yes No Yeâu caàu ñaët phoøng Thoâng baùo nhaän Giao phoøng cho khaùch Yes No Ghi thoâng tin khaùch Yes Coù thoâng tin khaùch ñaët phoøng Khaùch söû duïng phoøng Khaùch khoâng thueâ phoøng (1) Khoâng ñaùp öùng ñöôïc In sô ñoà phoøng KHAÙCH HAØNG LEÃ TAÂN NHAØ HAØNG BAN QL Ghi nhaän dòch vu KS Yes (1) Baùo caùo doanh thu ngaøy Traû phoøng Yes Khaùch yeâu caàu traû phoøng Thanh toaùn tieàn Yes No Xuaát hoaù ñôn phoøng vaø dòch vuï In thoâng baùo nôï cho khaùch 2 Khaùch söû duïng dòch vuï KS-NH Ghi nhaän dòch vu NH Yes (1) KHAÙCH HAØNG LEÃ TAÂN NHAØ HAØNG BAN QL In Baùo caùo doanh thu No Yes Haøng ngaøy Giao boä phaän keá toaùn Khoâng coù doanh thu ngaøy In Baùo caùo thaùng Yes In Doanh thu ñoaøn, toång hôïp dt,… In Coâng suaát buoàng, danh saùch ñoaøn,… Cuoái thaùng 2 4. MOÂ HÌNH VAÄT LYÙ XÖÛ LYÙ Töø moâ hình toå chöùc xöû lyù ñaõ coù, ta bieán caùc thuû tuïc chöùc naêng (coâng vieäc) töï ñoäng thaønh caùc ñôn vò chöông trình. ÖÙng vôùi moãi ñôn vò chöông trình ta vieát moät ñaëc taû chi tieát ñeå chuaån bò cho vieäc laäp trình. Trong chöông trình quaûn lyù khaùch saïn naøy, theo caùch tieáp caän khoâng gian, vò trí laøm vieäc vaø chöùc naêng cuûa töøng boä phaän, chöông trình ñöôïc toå chöùc thaønh 3 chöông trình nhoû taïi 3 nôi: quaày leã taân, quaày nhaø haøng vaø phoøng quaûn lyù chung. Trong ñoù cô sôû döõ lieäu ñaët taïi phoøng quaûn lyù ñoùng vai troø moät Server. CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN THEO MOÂ HÌNH -B/caùo doanh thu -B/caùo coâng suaát buoàng -B/caùo toång hôïp khaùch -B/keâ toång hôïp doanh thu -In Sô ñoà phoøng Heä thoáng: -Ñaêng kyù ngöôøi duøng -Thieát keá sô ñoà phoøng -Sao löu CSDL -Chuyeån naêm laøm vieäc . . . SERVER: CSDL CLIENT: NHAØ HAØNG -Nhaäp dòch vuï nhaø haøng. -Quaûn lyù xuaát nhaäp haøng vaø dòch vu.ï CLIENT: LEÃ TAÂN -Ñaêng kyù ñaët phoøng -Nhaäp thoâng tin khaùch -Phaân phoøng -Quaûn lyù phoøng (chuyeån phoøng, traû phoøng) -Nhaäp dòch vuï KS IPO CHART a) IOP Chart Thieát keá sô ñoà phoøng : ñeå deã daøng theo doõi khaùch thueâ phoøng, moãi khaùch saïn ñeàu theå hieän hieän traïng phoøng baèng sô ñoà phoøng. Trong sô ñoà phoøng moãi phoøng öùng vôùi moät nuùt. Phoøng coù khaùch thì nuùt seõ coù maøu saùng. Khi caàn xem thoâng tin phoøng naøo chæ caàn nhaán chuoät vaøo phoøng coù maøu saùng. Do töøng khaùch saïn coù toång soá phoøng vaø söï boá trí vò trí caùc phoøng khaùc nhau neân seõ coù sô ñoà phoøng khaùc nhau. Coâng vieäc ñaàu tieân khi söû duïng chöông trình khaùch saïn laø taïo moät form ñeå thieát keá hay boá trí caùc phoøng cho thueâ cuûa khaùch saïn theo vò trí cuûa caùc phoøng trong khaùch saïn. Khi thieát keá xong, maùy seõ töï ñoäng ghi nhôù ñeå söû duïng sau naøy. IOP Chart Soá : 01 Vaøo : Table Phoøng Goïi : None Goïi bôûi : Main Menu (server) Ra : Phoøng Modun : Thieát keá sô ñoà phoøng Ngaøy :01/01/2000 Heä thoáng : Server Ngöôøi laäp :ABC Muïc tieâu : Thieát keá sô ñoà phoøng. Xöû lyù : -Taïo moät Form chöùa khoaûng 150 CommandButton vaø cho aån (Visible=false). -Khi Load form seõ ñoïc laàn löôït töøng baûn ghi cuûa Table Phoøng ñeå: .Gaùn maõ phoøng cho thuoäc tính Cation cuûa CommandButton .Cho thuoäc tính Visible cuûa CommandButton laø True. -Duøng chuoät di chuyeån caùc CommandButton tôùi vò trí mong muoán. -Löu thieát keá : gaùn toaï ñoä left, top hieän haønh cuûa töøng CommandButton vaøo töøng baûn ghi töông öùng trong Table Phoøng. b) IOP Chart Ñaët phoøng : modun nhaäp thoâng tin khaùch ñaët phoøng. Khi khaùch chính thöùc ñaët phoøng, ta duøng form naøy ñeå caäp nhaát thoâng tin cho ñoaøn vaø töøng khaùch trong ñoaøn. IOP Chart Soá : 02 Vaøo : Table ñaët phoøng, ñoaøn, ñôn vò, khaùch haøng Goïi bôûi : Main Menu (Client leã taân) Goïi : Tìm kieám khaùch Ra : Ñaët phoøng Modun : Ñaët phoøng Ngaøy :01/01/2000 Heä thoáng : Client Leã taân Ngöôøi laäp :NHLong Muïc tieâu : Nhaäp thoâng tin khaùch ñaët phoøng. Xöû lyù : Taïo moät Form ñaët phoøng. Trong Form naøy taïo caùc combo box choïn ñôn vò, tænh, quoác tòch ñeå caäp nhaäp thoâng tin cho moät ñoaøn vaø caùc khaùch haøng coù trong ñoaøn. Maõ soá ñoaøn, maõ ñaët phoøng, maõ khaùch haøng môùi coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau: =Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") Taïo moät DataGrid ñeå chöùa taïm thôøi danh saùch caùc vò khaùch ñi chung ñoaøn. Trong Form naøy cho pheùp doø tìm töï ñoäng moät vò khaùch trong hoaëc ngoaøi nöôùc ñaõ ñöôïc löu tröôùc ñoù trong CSDL baèng khoaù laø CMND, soá hoä chieáu hay teân, tænh. c) IOP Chart phaân phoøng: modun boá trí töøng khaùch trong ñoaøn vaøo töøng phoøng. IOP Chart Soá : 03 Ra : Ñaët phoøng, söû duïng phoøng Vaøo : Table ñaët phoøng, phoøng, söû duïng phoøng Goïi bôûi : Main Menu (Client leã taân) Goïi : Sô ñoà phoøng Modun : Phaân phoøng Ngaøy :01/01/2000 Heä thoáng : Client Leã taân Ngöôøi laäp : NHLong Muïc tieâu : Boá trí khaùch vaøo phoøng. Xöû lyù : Trong Form naøy goàm moät DataGrid chöùa danh saùch khaùch ñaët phoøng (nguoàn laáy töø Query Datphong coù ñieàu kieän Nhanphong=No). Moät DataGrid chöùa taïm caùc khaùch haøng ñöôïc choïn ra cho moãi phoøng, sau moõi laàn nhaän phoøng seõ töï ñoäng bò xoaù. Moät Combo duøng ñeå hieän soá phoøng. Khi boá trí xong phoøng naøo thì nhöõng Record ñöôïc choïn vaøo cuøng 1 phoøng trong Table “Dat phong” seõ coù Nhanphong=Yes ñoàng thôøi Table “Su dung Phong” seõ ñöôïc theâm töøng aáy record vôùi cuøng töông öùng maõ ñaët phoøng. d) IOP Chart Phoøng: modun hieän thò thoâng tin cuûa moät phoøng, thöïc hieän caùc taùc vuï: nhaäp dòch vuï khaùch saïn, chuyeån vaø traû phoøng. IOP Chart Soá : 04 Vaøo : Table phoøng, söû duïng phoøng, söû duïng dv. Goïi : Sô ñoà phoøng Goïi bôûi : Sô ñoà phoøng (Client leã taân) Ra : söû duïng phoøng, söû duïng dv Modun : Phoøng Ngaøy :01/01/2000 Heä thoáng : Client Leã taân Ngöôøi laäp : NHLong Muïc tieâu : Xem thoâng tin phoøng vaø nhaäp dv khaùch saïn, chuyeån vaø traû phoøng. Xöû lyù : Trong Form naøy goàm MSFlexGrid chöùa danh saùch khaùch coù trong phoøng. Moät DataGrid chöùa caùc dòch vuï maø khaùch ñaõ söû duïng, coù theå choïn xem caùc dòch vuï cuûa töøng vò khaùch hay caû phoøng. -Taïo moät command button chuyeån taát caû khaùch vaø dòch vuï töø phoøng naøy sang phoøng khaùc. -Taïo moät command button chuyeån moät vò khaùch cuøng dòch vuï sang phoøng khaùc. -Taïo moät command button thöïc hieän chöùc naêng traû phoøng. -Taïo muïc choïn in: cho pheùp in rieâng tieàn phoøng hoaëc in dòch vuï hoaëc ñoàng thôøi caû hai. e) IOP Chart Quaûn lyù ñoaøn : modun quaûn lyù ñoaøn. IOP Chart Soá : 05 Ra : söû duïng phoøng, söû duïng dv. Goïi bôûi : Main Menu Goïi : Nhaäp dòch vuï ñoaøn Vaøo : Table ñoaøn, ñôn vò, khaùch haøng, söû duïng phoøng, söû duïng dv Modun : Quaûn lyù ñoaøn Ngaøy :01/01/2000 Heä thoáng : Server, Client Leã taân Ngöôøi laäp :NHLong Muïc tieâu : Quaûn lyù thoâng tin ñoaøn. Xöû lyù : Taïo moät Form quaûn lyù ñoaøn. Trong Form naøy taïo 2 VscrollBar ñeå choïn thaùng vaø naêm caàn xem. -Taïo coâng cuï tìm kieám moät ñoaøn hay ñôn vò naøo ñoù. -Taïo 3 DataGrid: .DataGrid ñoaøn: chöùa danh saùch caùc ñoaøn ñaõ choïn theo thôøi gian: SQLlocdoan mthang, mnam, mtendoan, mdonvi DE.Commands.Item("Qdoan").CommandText =”Select From Qdoan Where (month(ngaydknp)=mthang) and (year(ngaydknp)=mnam) and (tendoan=mtendoan) and (tendv=mdonvi)” Griddsdoan.DataMember = "Qdoan" .DataGrid DSKh: chöùa danh saùch khaùch cuûa ñoaøn ñöôïc choïn .DataGrid sddv: chöùa caùc dòch vuï ñaõ söû duïng cuûa töøng ñoaøn ñöôïc choïn. -Taïo moät command button ñeå in dòch vuï cuûa ñoaøn -Taïo moät command button cho pheùp traû phoøng caû ñoaøn -Taïo moät command button ñeå nhaäp dòch vuï cho caû ñoaøn. PHAÀN II: NOÄI DUNG CHÖÔNG TRÌNH (SÖÛ DUÏNG NGOÂN NGÖÕ VISUAL BASIC) I- Giôùi thieäu caùc neùt chính cuûa ngoân ngöõ VISUAL BASIC Visual Basic laø moät ngoân ngöõ thaûo chöông hoaøn thieän vaø hoaït ñoäng theo kieåu ñieàu khieån bôûi söï kieän ( Event - Driven programming language ) nhöng laïi raát gioáng ngoân ngöõ thaûo chöông coù caáu truùc ( Structured programming language ) Noù cuøng hoã trôï caùc caáu truùc : Caáu truùc IF … THEN … ELSE Caùc caáu truùc laëp (Loops) Caáu truùc reõ nhaùnh ( Select Case ) Haøm ( Function ) vaø chöông trình con ( Subroutines ) Visual Basic ñöa ra phöông phaùp laäp trình môùi, naâng cao toác ñoä laäp trình. Cuõng nhö caùc ngoân ngöõ khaùc, moãi phieân baûn môùi cuûa Visual Basic ñeàu chöùa ñöïng nhöõng tính naêng môùi chaúng haïn Visual Basic 2.0 boå sung caùch ñôn giaûn ñeå ñieàu khieån caùc cô sôû döõ lieäu maïnh nhaát coù saün, Visual Basic 4.0 boå sung theâm phaàn hoã trôï phaùt trieãn 32-bit vaø baét ñaåu chuyeån sang thaønh moät ngoân ngöõ laäp trình höôùng ñoái töôïng ñaày ñuû, ñeán Visual Basic 6.0 hoã trôï nhieàu tính naêng maïnh chaúng haïn OLE DB ñeå laäp trình döõ lieäu. Caùc laäp trình vieân ñaõ coù theå duøng Visual Basic 6.0 ñeå töï môû roäng Visual Basic . Visual Basic coù saün caùc coâng cuï nhö : caùc hoäp vaên baûn ,caùc nuùt leänh, caùc nuùt tuøy choïn, caùc hoäp kieåm tra, caùc hoäp lieät keâ, caùc thanh cuoän, caùc hoäp thö muïc vaø taäp tin ... Coù theå duøng caùc khung keû oâ ñeå quaûn lyù döõ lieäu theo daïng baûng, lieân laïc vôùi caùc öùng duïng Windows khaùc, truy caäp caùc cô sôû döõ lieäu goïi chung laø ñieàu khieån thoâng qua coâng ngheä OLE cuûa Microsoft. Visual Basic coøn hoã trôï cho vieäc laäp trình baèng caùch hieän taát caû tính chaát cuûa ñoái töôïng moãi khi ta ñònh duøng ñeán noù. Ñaây laø ñieåm maïnh cuûa caùc ngoân ngöõ laäp trình hieän ñaïi. Caùc böôùc thieát keá moät öùng duïng Visual Basic: Xaây döïng caùc cöûa soå maø ngöôøi duøng seõ thaáy. Quyeát ñònh nhöõng söï kieän maø caùc ñieàu khieån treân cöûa soå seõ nhaän ra. Vieát caùc thuû tuïc söï kieän cho caùc söï kieän ñoù (caùc thuû tuïc con khieán cho caùc thuû tuïc söï kieän ñoù laøm vieäc ). Caùc noäi dung dieãn ra khi öùng duïng ñang chaïy : Visual Basic giaùm saùt caùc cöûa soå vaø caùc ñieàu khieån trong töøng cöûa soå cho taát caû moïi söï kieän maø töøng ñieàu khieån coù theå nhaän ra (caùc chuyeån ñoäng chuoät, caùc thao taùc nhaép leân chuoät, di chuyeån, caùc goõ phím...) Khi Visual Basic phaùt hieän moät söï kieän , neáu khoâng coù moät ñaùp öùng taïo saün cho söï kieän ñoù, Visual Basic seõ xem xeùt öùng duïng ñeå kieåm tra ngöôøi duøng ñaõ vieát thuû tuïc cho söï kieän ñoù hay chöa. Neáu ñaõ vieát roài , Visual Basic seõ thi haønh vaø hình thaønh neân thuû tuïc söï kieän ñoù vaø quay trôû laïi böôùc ñaàu tieân. Neáu chöa vieát thuû tuïc söï kieän , Visual Basic seõ chôø söï kieän keá tieáp roài quay veà böôùc ñaàu tieân. Caùc böôùc naøy quay voøng cho ñeán khi öùng duïng keát thuùc. Sau khi ñaõ tìm hieåu theá naøo laø hoaït ñoäng theo kieåu ñieàu khieån bôûi söï kieän vaø caùc hoå trôï cuûa Visual Basic, chuùng ta seõ thaáy ñaây laø moät coâng cuï laäp trình deå chòu vaø coù xu höôùng trôû thaønh moâi tröôøng laäp trình hoaøn haûo cho nhöõng naêm saép tôùi . II- MOÂ HÌNH CLIENT – SERVER 1/ Giôùi thieäu moâ hình Client – Server : Moâ hình Client - Server laø moät kyõ thuaät tính toaùn, trong ñoù Client ñôn giaûn laø moät ñoái töôïng caàn ñöôïc phuïc vuï, thoâng thöôøng laø caùc öùng duïng caàn ñeán döõ lieäu hay dòch vuï töø chöông trình khaùc vaø Server laø ñoái töôïng phuïc vuï nhöõng yeâu caàu ñoù do nhieàu Client gôûi ñeán. Moãi khi caàn ñöôïc phuïc vuï, Client seõ taïo moät caàu noái ñeán Server vaø gôûi yeâu caàu noù caàn. Sau khi ñaõ ñaït ñöôïc söï phuïc vuï, Client seõ ngaét caàu noái vaø trôû veà traïng thaùi nhö moät chöông trình bình thöôøng . Vieäc öùng duïng moâ hình Client - Server seõ laøm giaûm chi phí, ñoàng thôøi laøm taêng toác ñoä, ñieàu naøy raát caàn thieát trong vieäc truy caäp döõ lieäu. 2/ Moâ hình Client – Server : Caùc moâ hình caên baûn sau: a) One – tier model: Moâ hình Chöông trình öùng duïng (Application Programing) phaûi laøm taát caû caùc coâng vieäc nhö theâm vaøo, xoùa, caäp nhaät, thay ñoåi chæ muïc treân döõ lieäu vaø hieån thò keát quaû cho ngöôøi duøng. Ñoøi hoûi ngöôøi duøng phaûi hieåu bieát nhieàu veà caáu truùc leänh do ñoù chöông trình öùng duïng phaûi xöû lyù nhieàu coâng vieäc vaø trôû neân naëng neà. b) Two – tier model Moâ hình -Application Programing : cung caáp moät giao dieän thaân thieän ñeå thoâng qua ñoù ngöôøi duøng coù theå thöïc hieän caùc thao taùc treân döõ lieäu maø khoâng caàn phaûi bieát nhieàu veà caáu truùc leänh. -Database Server : laø caùc Server nhö Oracle server, SQL server ... thöïc hieän caùc yeâu caàu gôûi tôùi töø phía Application Programing thoâng qua caùc caâu leänh SQL vaø traû keát quaû veà cho Application Programing, Application Programing hieån thò keát quaû cho ngöôøi duøng. Ta thaáy, soá löôïng coâng vieäc ñaõ ñöôïc chia xeû giöõa Application Programing vaø Database Server neân ngöôøi duøng deã söû duïng hôn. c) Three – tier model Moâ hình Moâ hình 3 lôùp hay coøn goïi laø moâ hình n lôùp. Trong ñoù lôùp Client laø moät chöông trình raát nhoû, chæ chöùa vöøa ñuû maõ ñeå thöïc hieän vieäc giao tieáp vôùi ngöôøi duøng moät caùch thaân thieän. Moâ hình naøy coøn ñöôïc goïi laø moâ hình n lôùp vì lôùp giöõa bao goàm nhieàu thaønh phaàn, moãi thaønh phaàn coù taùc duïng rieâng ñeå trao ñoåi vôùi lôùp Client vaø lôùp Server thaät. 3/ Truy caäp döõ lieäu trong Visual Basic : Moâ hình minh hoaï söï truy caäp döõ lieäu trong VB Trong chöông trình quaûn lyù khaùch saïn naøy, em söû duïng moâ hình 3 lôùp vôùi phöông phaùp truy caäp ADO (ActiveX Data Object). ADO laø phöông phaùp truy caäp döõ lieäu thoâng qua OLE DB. Ñeán VB 6 thì ñaây ñöôïc xem nhö laø phöông phaùp truy caäp döõ lieäu chuû yeáu. Noù ñöôïc hoå trôï maïnh baèng caùc thaønh phaàn môùi coù ghi chuù (OLE DB). Vieäc hieån thò döõ lieäu cuõng nhö caùc taäp hôïp keát quaû traû veà ñeàu tieän lôïi. Caùc thaønh phaàn cuûa ADO: 4/ Caùch keát noái döõ lieäu thoâng qua OLE DB trong VB : a/ Keát noái vôùi CSDL: Caùc böôùc thöïc hieän thoâng qua giao dieän: Taïi cöûa soå döï aùn ñang laøm vieäc vaøo menu Project / More ActiveX Designers. . .-> Data Environment, hoäp thoaïi hieän ra nhö sau: Ñaët teân cho keát noái Connection1 baèng caùch nhaán chuoät vaøo bieåu töôïng (Properties Windows), ñieàn teân vaøo muïc Name. Choïn vaø nhaán chuoät phaûi taïi teân keát noái, choïn Properties töø menu taét, khi ñoù hoäp thoaïi Data Link Properties xuaát hieän nhö hình beân. Töø ñaây ta choïn moät trong caùc kieåu cung caáp söï truy caäp döõ lieäu ñeán caùc CSDL khaùc nhau. Ñeå keát noái vôùi CSDL Microsoft Access 97 ta choïn Microsoft Jet 3.51 OLE DB Provider vaø nhaán Next>>. Hoäp thoaïi tieáp theo hieän ra ñeå ta cung caáp ñöôøng daãn vaø teân cuûa CSDL muoán keát noái. Neáu CSDL ñaët taïi maùy khaùc thì ñöôøng daãn xaùc ñònh nhö sau: \\\ Ñeå kieåm tra vieäc keát noái tôùi CSDL coù thaønh coâng hay khoâng ta nhaán vaøo nuùt Test Connection. Neáu thoâng baùo hieän ra “Test Connection succeeded” laø ta ñaõ keát noái ñöôïc, ngöôïc laïi ta phaûi kieåm tra xem ñöôøng daãn vaø teân CSDL ñaõ nhaäp ñuùng chöa. Tröôøng hôïp CSDL ñöôïc baûo veä baèng maät khaåu, ñeå truy caäp ñöôïc ta phaûi thöïc hieän nhö sau: -Töø hoäp thoaïi Data Link Properties vaøo Tab All. -Choïn doøng Jet OLEDB: Database Password roài nhaán nuùt Edit Value… -Cung caáp maät khaåu cuûa CSDL taïi muïc Property Value roài nhaán OK ñeå hoaøn thaønh. b/ Ñoái töôïng Command : Ñoái töôïng Command laø thaønh phaøn raát quan troïng cuûa ADO. Noù cho pheùp ñònh nghóa moät recordset ñöôïc laáy töø caùc Table/Query trong moät Database hay töø caâu leänh SQL. Ñeå taïo moät command töø Deconnect, ta choïn bieåu töôïng Add Command töø hoäp thoaïi DE(Data Environment), hoäp thoaïi xuaát hieän nhö hình döôùi: -Command Name: ñaët teân cho Command -Connection: choïn keát noái cho Command -Source of Data: nguoàn döõ lieäu, coù theå laø: .Database Object: choïn ñoái töôïng CSDL, coù theå laø table, view (query) hay moät thuû tuïc. Ñònh nghóa moät command teân Khachhang söû duïng nguoàn döõ lieäu töø moät Table teân Khachhang .SQL Statement: xaây döïng caâu leänh SQL Ñònh nghóa moät command teân Qsudungphong töø caâu leänh SQL söû duïng nguoàn döõ lieäu laø Query Qsudungphong coù tham soá ñi keøm. Khi ñònh nghóa moät Command coù söû duïng caâu leänh SQL, ta coù theå söû duïng tham soá (parameters) ñeå truyeàn giaù trò cho Command xöû lyù. Ngoaøi ra trong Command ta coù theå thieát laäp moái quan heä môùi, nhoùm thuoäc tính vaø ñaëc bieät taïo ra caùc Command con (child command) cuûa noù. III- Giao dieän – Maõ leänh (Code) cuûa moät soá modun trong chöông trình QLKS 1. Form thieát keá – boá trí sô ñoà phoøng Maõ leänh: Dim cmdso As Integer Private Sub cmdluu_Click() Dim i With DE.rsPhong .Open If .RecordCount > 0 Then i = 1 .MoveFirst Do While Not (.EOF) If cmdphong(i).Visible Then .Fields("x") = cmdphong(i).Left .Fields("y") = cmdphong(i).Top .MoveNext i = i + 1 End If Loop End If .Close End With End Sub ‘---------------------------------------------------------- Private Sub cmdphong_Click(Index As Integer) cmdso = Index End Sub ‘---------------------------------------------------------- Private Sub Form_Load() cmdso = 1 Dim i With DE.rsPhong .Open If .RecordCount > 0 Then i = 1 .MoveFirst Do While Not (.EOF) cmdphong(i).Visible = True cmdphong(i).Caption = .Fields("maphong") .MoveNext i = i + 1 Loop End If .Close End With End Sub ‘---------------------------------------------------------- Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdphong(cmdso).Move X, Y End Sub ‘---------------------------------------------------------- Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) txtxy.Text = X & "," & Y End Sub 2. Form boá trí (giao) phoøng cho khaùch: Maõ leänh: Dim i Private Sub cmdbot_Click() With DE.rsTmp_chonph If .RecordCount > 0 Then .Delete i = i - 1 End If End With End Sub ‘---------------------------------------------------------- Private Sub cmdcat_Click() Unload Me End Sub ‘---------------------------------------------------------- Private Sub Cmdnhanphong_Click() Dim madp With DE.rsTmp_chonph If .RecordCount > 0 Then i = 0 .MoveFirst Do While Not (.EOF) madp = .Fields("madp") 'Update [nhan phong]=yes cua Query dat phong With DE.rsQdatphong If .RecordCount > 0 Then .MoveFirst Do While Not (.EOF) If .Fields("madp") = madp Then .Fields("nhanphong").Value = 1 Exit Do Else .MoveNext End If Loop End If End With 'Update table su dung phong With DE.rsSudungphong .Open .AddNew .Fields("madp") = madp .Fields("maphong") = Dcbophong.Text .Fields("ngaynp") = txtngaynhan.Text .Fields("gionp") = txtgionhan.Text .Fields("giaphong") = txtgiaphong.Text .Update .Close End With .Delete .MoveNext Loop End If End With DE.rsQdatphong.Requery Griddp.DataMember = "Qdatphong" Griddp.Refresh 'Update table phong With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbophong.Text Then .Fields("CK") = 1 End If .MoveNext Loop End With End Sub ‘---------------------------------------------------------- Private Sub Cmdsodo_Click() openphong = True Load frmsodoph frmsodoph.Show End Sub ‘---------------------------------------------------------- Private Sub cmdthem_Click() Dim madp If DE.rsQdatphong.RecordCount > 0 Then madp = Griddp.Columns(4) With DE.rsTmp_chonph If .RecordCount > 0 Then .MoveFirst Do While Not (.EOF) If .Fields("madp") = madp Then MsgBox "§· chän kh¸ch nµy råi", vbCritical, "" Exit Sub Else .MoveNext End If Loop End If i = i + 1 .AddNew .Fields("stt") = i .Fields("tenkh") = Griddp.Columns(0) .Fields("CMND") = Griddp.Columns(3) .Fields("madp") = Griddp.Columns(4) End With End If End Sub ‘---------------------------------------------------------- Private Sub Dcbophong_LostFocus() Dim tim As Boolean tim = False With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbophong.Text Then tim = True Exit Do Else .MoveNext End If Loop If Not tim Then MsgBox "Kh«ng cã phßng nµy", vbCritical, "L­u ý" Dcbophong.SetFocus End If End With End Sub ‘---------------------------------------------------------- Private Sub Form_Load() txtngaynhan.Text = Date txtgionhan.Text = Time i = 0 End Sub ‘---------------------------------------------------------- Private Sub gridchon_Click() cmdbot.Enabled = True End Sub ‘---------------------------------------------------------- Private Sub Griddp_Click() cmdthem.Enabled = True End Sub ‘---------------------------------------------------------- Private Sub txtgionhan_Click() txtgionhan.Text = Time End Sub ‘---------------------------------------------------------- Private Sub txtgionhan_LostFocus() If Not IsDate(txtgionhan.Text) Then MsgBox "NhËp giê sai", vbCritical, "L­u ý" txtgionhan.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtngaynhan_Click() txtngaynhan.Text = Date End Sub ‘---------------------------------------------------------- Private Sub txtngaynhan_LostFocus() If Not IsDate(txtngaynhan.Text) Then MsgBox "NhËp ngµy sai", vbCritical, "L­u ý" txtngaynhan.SetFocus End If End Sub 3. Form thoâng tin phoøng: Maõ leänh: Dim st, sdnut As Boolean Dim timsp As Boolean Private Sub cmdcat_Click() openphong = True Unload Me If sdnut Then Unload frmsodoph Load frmsodoph frmsodoph.Show End If End Sub ‘---------------------------------------------------------- Private Sub cmdchuyenkh_Click() If MsgBox("Coù chuyeån khaùch naøy sang phoøng khaùc khoâng?", vbYesNo, "Chuyeån khaùch", 0, 0) = vbYes Then If timsp And (Dcbsoph.Text "") And (txttenkh.Text "") Then sdnut = True With DE.rsChuyentraphong .Open .MoveFirst Do While Not (.EOF) If (.Fields("maphong") = lbsp.Caption) And (.Fields("madp") = txtmadp.Text) Then .Fields("maphong") = Dcbsoph.Text .Update Exit Do Else .MoveNext End If Loop .Close End With 'Update table phong, ñaùnh daáu phoøng coù khaùch With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbsoph.Text Then .Fields("CK") = 1 Exit Do Else .MoveNext End If Loop End With '---------------------------------------- fgrid.Col = 1: fgrid.Text = "" fgrid.Col = 2: fgrid.Text = "" Else MsgBox "Khoâng chuyeån ñöôïc, haõy kieåm tra laïi", vbCritical, "Löu yù" End If End If End Sub ‘---------------------------------------------------------- Private Sub cmdchuyenphong_Click() If timsp And (Dcbsoph.Text "") Then sdnut = True DE.Qsudungphong (Dcbsoph.Text) If DE.rsQsudungphong.RecordCount > 0 Then DE.rsQsudungphong.Close If MsgBox("Phoøng naøy ñaõ coù khaùch, coù chuyeån sang khoâng?", vbYesNo, "Chuyeån phoøng", 0, 0) = vbYes Then Chuyenphong End If Else DE.rsQsudungphong.Close Chuyenphong End If Else MsgBox "Khoâng coù phoøng naøy", vbCritical, "L­u ý" End If End Sub ‘---------------------------------------------------------- Private Sub cmdInhd_Click() Dim tde, mtenkh tde = " Chi tieát Hoaù ñôn phoøng " & lbsp.Caption If Optall Then Imgtim_Click End If If optph Then mtenkh = "%" + txttenkh.Text + "%" SQLph sophong, mtenkh DE.Commands.Item("Qsudungdv").CommandText = st Gridsddv.DataMember = "Qsudungdv" DE.rsQsudungdv.Close End If If optdv Then mtenkh = "%" + txttenkh.Text + "%" SQLdv sophong, mtenkh DE.Commands.Item("Qsudungdv").CommandText = st Gridsddv.DataMember = "Qsudungdv" DE.rsQsudungdv.Close End If rpthdphong.Title = tde rpthdphong.Show End Sub ‘---------------------------------------------------------- Private Sub cmdnhapdv_Click() 'Update table su dung dv If txtmadp.Text "" Then With DE.rsSudungdv .Open .AddNew .Fields("masddv") = Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss") .Fields("ngaysddv") = txtngay.Text .Fields("madp") = txtmadp.Text .Fields("madv") = txtmadv.Text .Fields("diengiai") = txtdiengiai.Text .Fields("soluong") = Val(txtsl.Text) .Fields("dongia") = Val(txtdongia.Text) .Update .Close End With Imgtim_Click Else MsgBox "Chöa choïn khaùch", vbCritical, "Löu yù" End If End Sub ‘---------------------------------------------------------- Private Sub cmdtraphong_Click() If MsgBox("Coù traû phoøng naøy khoâng?", vbYesNo, "Traû phßng", 0, 0) = vbYes Then 'Update table phong sdnut = True With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = sophong Then .Fields("CK") = 0 Exit Do Else .MoveNext End If Loop End With '---------------------------------------- With DE.rsChuyentraphong .Open .MoveFirst Do While Not (.EOF) If .Fields("maphong") = lbsp.Caption Then .Fields("ngaytp") = txtngaytra.Text .Fields("giotp") = txtgiotra.Text .Fields("traphong") = 1 End If .MoveNext Loop .Close End With cmdcat_Click End If End Sub ‘---------------------------------------------------------- Private Sub cmdxoa_Click() Dim masddv masddv = Gridsddv.Columns(8) With DE.rsSudungdv .Open .MoveFirst Do While Not (.EOF) If .Fields("masddv") = masddv Then .Delete Exit Do Else .MoveNext End If Loop .Close End With Imgtim_Click End Sub ‘---------------------------------------------------------- Private Sub Dcbdv_LostFocus() Dim tim As Boolean tim = False With DE.rsDichvu .MoveFirst Do While Not (.EOF) If (.Fields("tendv") = Dcbdv.Text) Or (Dcbdv.Text = "") Then txtmadv.Text = .Fields("madv") tim = True Exit Do Else .MoveNext End If Loop If Not tim Then MsgBox "Khoâng coù dv naøy", vbCritical, "L­u ý" Dcbdv.SetFocus End If End With End Sub ‘---------------------------------------------------------- Private Sub Dcbsoph_Click(Area As Integer) cmdchuyenphong.Enabled = True cmdchuyenkh.Enabled = True End Sub ‘---------------------------------------------------------- Private Sub Dcbsoph_LostFocus() timsp = False With DE.rsPhong .MoveFirst Do While Not (.EOF) If (.Fields("maphong") = Dcbsoph.Text) Or (Dcbsoph.Text = "") Then timsp = True Exit Do Else .MoveNext End If Loop If Not timsp Then MsgBox "Khoâng coù phoøng naøy", vbCritical, "L­u ý" Dcbsoph.SetFocus End If End With End Sub ‘---------------------------------------------------------- Private Sub fgrid_Click() fgrid.Col = 1 txttenkh.Text = fgrid.Text fgrid.Col = 3 txtmadp.Text = fgrid.Text End Sub ‘---------------------------------------------------------- Private Sub Form_Load() Dim i, j sdnut = False txtngay.Text = Date lbsp.Caption = sophong fgrid.Row = 0 fgrid.ColWidth(0) = 0: fgrid.ColWidth(1) = 2500: fgrid.Col = 1: fgrid.Text = " Teân Khaùch haøng" fgrid.ColWidth(2) = 1300: fgrid.Col = 2: fgrid.Text = "CMND/HC" i = 1 With DE.rsQsudungphong .MoveFirst txttendoan.Text = .Fields("tendoan") & " - " & .Fields("tendonvi") If .Fields("tentinh") "" Then txtdiachi.Text = .Fields("tentinh") Else txtdiachi.Text = " " End If txtngaynp.Text = .Fields("ngaynp") txtgionp.Text = .Fields("gionp") Do While Not (.EOF) fgrid.Row = i fgrid.Col = 1: fgrid.Text = .Fields("tenkh") fgrid.Col = 2: fgrid.Text = .Fields("cmnd") fgrid.Col = 3: fgrid.Text = .Fields("madp") .MoveNext i = i + 1 Loop .Close End With 'Laáy thoâng tin veà söû duïng dòch vuï Imgtim_Click End Sub ‘---------------------------------------------------------- Public Sub SQLsddv(soph, mtenkh) st = "" st = st + "Select *" st = st + " From Qsudungdv" st = st + " Where maphong Like " + """" + soph + """" st = st + " and tenkh Like " + """" + mtenkh + """" End Sub ‘---------------------------------------------------------- Public Sub SQLdv(soph, mtenkh) st = "" st = st + "Select *" st = st + " From Qsudungdv" st = st + " Where maphong Like " + """" + soph + """" st = st + " and tenkh Like " + """" + mtenkh + """" st = st + " and tendv " + """" + "Phßng" + """" End Sub ‘---------------------------------------------------------- Public Sub SQLph(soph, mtenkh) st = "" st = st + "Select *" st = st + " From Qsudungdv" st = st + " Where maphong Like " + """" + soph + """" st = st + " and tenkh Like " + """" + mtenkh + """" st = st + " and tendv Like " + """" + "Phßng" + """" End Sub ‘---------------------------------------------------------- Private Sub Gridsddv_Click() cmdxoa.Enabled = True End Sub Private Sub imghien_Click() txttenkh.Text = "" Imgtim_Click End Sub ‘---------------------------------------------------------- Private Sub Imgtim_Click() Dim mtenkh mtenkh = "%" + txttenkh.Text + "%" SQLsddv sophong, mtenkh DE.Commands.Item("Qsudungdv").CommandText = st Gridsddv.DataMember = "Qsudungdv" DE.rsQsudungdv.Close End Sub ‘---------------------------------------------------------- Public Sub Chuyenphong() 'Update table phong With DE.rsPhong .MoveFirst Do While Not (.EOF) If .Fields("maphong") = Dcbsoph.Text Then .Fields("CK") = 1 End If If .Fields("maphong") = lbsp.Caption Then .Fields("CK") = 0 End If .MoveNext Loop End With '---------------------------------------- With DE.rsChuyentraphong .Open .MoveFirst Do While Not (.EOF) If .Fields("maphong") = lbsp.Caption Then .Fields("maphong") = Dcbsoph.Text End If .MoveNext Loop .Close End With lbsp.Caption = Dcbsoph.Text End Sub ‘---------------------------------------------------------- Private Sub txtdongia_LostFocus() If Not IsNumeric(txtdongia.Text) Then MsgBox "Nhaäp sai kieåu döõ lieäu", vbCritical, "Löu yù" txtdongia.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtgiotra_Click() txtgiotra.Text = Time End Sub ‘---------------------------------------------------------- Private Sub txtgiotra_LostFocus() If Not IsDate(txtgiotra.Text) Then MsgBox "Nhaäp giôø sai", vbCritical, "Löu yù" txtgiotra.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtngay_Click() txtngay.Text = Date End Sub ‘---------------------------------------------------------- Private Sub txtngaytra_Click() txtngaytra.Text = Date End Sub ‘---------------------------------------------------------- Private Sub txtngaytra_LostFocus() If Not IsDate(txtngaytra.Text) Then MsgBox "Nhaäp ngaøy sai", vbCritical, "Löu yù" txtngaytra.SetFocus End If End Sub ‘---------------------------------------------------------- Private Sub txtsl_LostFocus() If Not IsNumeric(txtsl.Text) Then MsgBox "Nhaàp soá löôïng khoâng ñuùng kieåu", vbCritical, "Löu yù" txtsl.SetFocus End If End Sub PHAÀN IV : KEÁT LUAÄN – HÖÔÙNG PHAÙT TRIEÅN I. KEÁT LUAÄN Baèng vieäc xaây döïng chöông trình Quaûn Lyù Khaùch saïn theo moâ hình Server/Client, seõ giuùp cho caùc boä phaän nhö leã taân, nhaø haøng töï ñoäng hoùa phaàn lôùn coâng vieäc cuûa mình, laøm taêng naêng suaát vaø hieäu quaû coâng vieäc. Treân cô sôû ñoù giuùp ban giaùm ñoác nhanh choùng kieåm tra, toång hôïp, laáy keát quaû ñeå naém baét ñöôïc dieãn bieán khaùch haøng, khaû naêng ñaùp öùng nhu caàu töø ñoù ñeà ra caùc quyeát ñònh, phöông aùn kinh doanh kòp thôøi nhaát. Toùm laïi, nhôø söï höôùng daãn nhieät tình cuûa thaày Nguyeãn Höõu Troïng vaø söï coá gaéng cuûa baûn thaân, chöông trình Quaûn Lyù Khaùch saïn ôû treân ñöôïc hoaøn thaønh, töông ñoái ñaùp öùng ñöôïc nhu caàu caäp nhaät, truy vaán thoâng tin nhanh choùng vaø giaûi quyeát ñöôïc vieäc toå chöùc nhaát quaùn cô sôû döõ lieäu trong löu tröõ thoâng tin. Tuy nhieân chöông trình vaãn coøn nhöôïc ñieåm , thieáu soùt caàn ñöôïc hoaøn thieän trong thôøi gian tôùi. Em raát mong nhaän ñöôïc söï goùp yù cuûa caùc Thaày Coâ vaø caùc baïn quan taâm ñeán vaán ñeà naøy. II. HÖÔÙNG PHAÙT TRIEÅN Ngoaøi vieäc tieáp tuïc naâng caáp vaø hoaøn thieän chöông trình Quaûn Lyù Khaùch saïn hieän nay. Trong höôùng tôùi, chöông trình Quaûn Lyù Khaùch saïn seõ ñöôïc boå sung ñeå keát noái töï ñoäng hoaëc baùn töï ñoäng vôùi chöông trình keá toaùn cuûa Khaùch saïn vì nhö hieän nay chöa lieân keát ñöôïc. Ngoaøi ra chöông trình seõ xaây döïng theâm phaàn quaûn lyù cô sôû vaät chaát, quaûn lyù qui trình phuïc vuï buoàng, phoøng cuûa Khaùch saïn, quaûn lyù coâng taùc nhaäp xuaát haøng cuûa boä phaän Nhaø haøng. MOÄT SOÁ BIEÅU MAÃU IN RA GIAÁY CUÛA CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN 1. Baûng keâ söû duïng dòch vuï vaø nhaø haøng cuûa khaùch cho töøng phoøng: BAÛNG KEÂ DÒCH VUÏ ÑAÕ SÖÛ DUÏNG Phoøng:……………… Loaïi:…………………………… Ngaøy nhaän phoøng:…………………… Ngaøy traû:………………… Stt Ngaøy sd Giôø sd Teân khaùch Teân dòch vuï SL Ñôn giaù Thaønh tieàn 1 10/06/03 17:10 Nguyeãn V/ A Giaët uûi 1 2000 2000 2 12/06/03 8:12 Leâ Ñöùc Bình Aên saùng 1 3000 3000 3 12/06/03 14:30 Leâ Ñöùc Bình Thueâ xe 1 3000 3000 Coäng 8000 Phí dòch vuï (5%) 400 Thueá VAT (10%) 880 Coäng tieàn phaûi traû 9280 Leã Taân Ngaøy in: 10:30:25am, 20/05/2003 2. Baûng keâ chi tieát söû duïng dòch vuï vaø nhaø haøng moät ñoaøn: BAÛNG KEÂ DÒCH VUÏ ÑAÕ SÖÛ DUÏNG Teân ñoaøn khaùch:. ……………………..Ñôn vò:……………………… Ngaøy nhaän phoøng:…………………….Ngaøy traû:…………………… Soá löôïng khaùch theo ñoaøn:……………Soá löôïng phoøng sd:………… Stt Ngaøy sd Giôø sd SP Teân khaùch Teân dòch vuï SL Ñôn giaù Thaønh tieàn 1 10/06/03 17:10 101 Nguyeãn V/ A Giaët uûi 1 2000 2000 2 12/06/03 8:12 102 Leâ Ñöùc Bình Aên saùng 1 3000 3000 3 12/06/03 14:30 102 Leâ Ñöùc Bình Thueâ xe 1 3000 3000 Coäng Phí dòch vuï (5%) Thueá VAT (10%) Coäng tieàn phaûi traû 8000 400 880 9280 Leã Taân Ngaøy in: 10:30:25am, 20/05/2003 3. Baùo caùo coâng suaát buoàng: thoáng keâ toång soá khaùch, tæ leä töøng loaïi khaùch vaø coâng suaát buoàng cuûa töøng ngaøy trong thaùng theo baûng: BAÙO CAÙO COÂNG SUAÁT BUOÀNG THAÙNG : MM/20YY Ngaøy Toång soá Khaùch Phaân loaïi khaùch Coâng suaát buoàng Ñoaøn Vaõng lai Trong nöôùc Quoác teá Sk % Sk % Sk % Sk % Sp % 1 40 30 75 10 25 40 100 0 0 25 60 2 35 30 60 … … … … … … … … … … … … 30 31 TC 4. Toång hôïp doanh thu: phoøng, nhaø haøng, dòch vuï cuûa töøng ngaøy trong thaùng. BAÙO CAÙO TOÅNG HÔÏP DOANH THU THAÙNG : MM/20YY NGAØY KHAÙCH SAÏN NHAØ HAØNG DÒCH VUÏ COÄNG 1 2 3 4 … … … … … 30 31 Coäng 5. Baùo caùo toång hôïp khaùch theo töøng ñoaøn: theå hieän doanh thu cuûa töøng ñoaøn trong thaùng. BAÙO CAÙO TOÅNG HÔÏP DOANH THU THAÙNG : MM/20YY KHAÙCH ÑOAØN stt Teân ñoaøn Ñôn vò Ngaøy Doanh thu Coäng Nhaän Traû Khaùch saïn Nhaø haøng Dòch vuï 1 2 3 … … … … … … … … … Toång coäng: d/ In baûng keâ chi tieát cho töøng loaïi dòch vuï: lieät keâ töøng loaïi dòch vuï ñaõ baùn trong thaùng theo baûng sau: BAÛNG KEÂ CHI TIEÁT DOANH THU (Töø ngaøy ñeán ngaøy) TEÂN DÒCH VUÏ: Ngaøy Dòch vuï Dieãn giaûi Ñvt Soá löôïng Ñôn giaù Thaønh tieàn 1/5/03 1/5/03 2/5/03 … … … … … … Toång coäng:

Các file đính kèm theo tài liệu này:

  • docBao cao do an.doc
  • ppttrinhbay.ppt