Chuyên đề Hệ thống quản lý nhà hàng

Mục Lục

Chương 1 : Giới thiệu chung về công ty 3

1.1) Tổng quan 4

1.2)Các lĩnh vực hoạt động chính 5

1.3) Các sản phẩm của công ty 6

Chương 2: Khảo sát, phân tích hệ thống quản lý nhà hàng 8

2.1) Mục đích 8

2.2) Thực tế hoạt động của các nhà hàng tại Việt Nam 8

2.3) Tính khả thi của dự án 9

2.4) Các nghiệp vụ 10

2.4.1)Nghiệp vụ quản lý kho hàng 10

2.4.2)Nghiệp vụ của nhà bếp 11

2.4.3) Nghiệp vụ bán hàng 12

2.5) Các sơ đồ 14

2.5.1) Sơ đồ chức năng quản lý nhà hàng 14

2.5.2) Sơ đồ luồng dữ liệu 15

2.5.3) Biểu đồ luồng dữ liệu dưới đỉnh 16

2.5.4) Biểu đồ luồng dữ liệu mức dưới đỉnh - Bán hàng 17

2.5.5) Biểu đồ luồng dữ liệu mức dưới đỉnh - Nhập hàng 18

2.5.6) Biểu đồ luồng dữ liệu mức dưới đỉnh – Chăm sóc khách hàng 19

2.5.7) Biểu đồ luồng dữ liệu mức dưới đỉnh – Theo dõi công nợ 20

2.6) Chi tiết các bảng dữ liệu 21

Chương 3. Code và giao diện chương trình 26

3.1) Giao diện chương trình 26

3.2) Code chương trình 40

Chương 4 : Kết luận và kiến nghị 56

4.1) Kết luận và đánh giá 56

4.2) Kiến nghị 56

Tài liệu tham khảo 57

 

 

doc57 trang | Chia sẻ: maiphuongdc | Lượt xem: 2040 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chuyên đề Hệ thống quản lý nhà hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tin; Đầu tư kinh doanh bất động sản, dịch vụ cho thuê nhà và văn phòng làm việc; đầu tư và xây dựng dự án khu đô thị, khu công nghiệp, khu du lịch,… 1.3) Các sản phẩm của công ty Nhóm phần mềm quản lý hoạt động của Doanh nghiệp Xây dựng CicAccount_e - Phần mềm kế toán Phiên bản dành cho doanh nghiệp CicAccount_a - Phần mềm kế toán Phiên bản dành cho đơn vị hành chính sự nghiệp CicAccount_i - Phần mềm kế toán Phiên bản dành cho chủ đầu tư CONNA - Phần mềm quản lý hợp đồng ESPA - Phần mềm quản lý doanh nghiệp dịch vụ cấp nước IMA - Phần mềm quản lý hạ tầng kỹ thuật đô thị IPASY - Phần mềm lập và thẩm định dự án đầu tư LANOS - Phần mềm quản lý nhà, đất trong các khu đô thị PROMSYS - Phần mềm quản lý dự án REMSYS - Phần mềm quản lý nhân sự UNACOM - Phần mềm quản lý học sinh / sinh viên trong các trường học Nhóm phần mềm kỹ thuật Xây dựng ESCON - Phần mềm Tính đơn giá - Dự toán KIW - Phần mềm Tính toán khung thép tiền chế KPW - Phần mềm Tính toán thiết kế khung phẳng MBW - Phần mềm Tính toán móng băng MCW - Phần mềm Tính toán móng cọc MDW - Phần mềm Tính toán móng đơn RDW - Phần mềm Bổ sung TCVN vào SAP,STAAD, ETABS SBTW - Phần mềm Tính toán thiết kế sàn bê tông cốt thép STCAD - Phần mềm Hỗ trợ vẽ kỹ thuật xây dựng và tự động tính tiên lượng VINASAS - Phần mềm tính toán thiết kế khung hỗn hợp Nhóm phần mềm thiết kế cơ sở hạ tầng ROADES - Phần mềm Thiết kế đường bộ SUMAC - Phần mềm mô phỏng địa hình, tính toán san nền Nhóm phần mềm quản lý quy hoạch Xây dựng MAPPRO - Phần mềm quản lý quy hoạch độ thị, cấp chứng chỉ quy hoạch Chương 2: Khảo sát, phân tích hệ thống quản lý nhà hàng 2.1) Mục đích Phát triển từ ý tưởng về nghiệp vụ quản lý nhà hàng, niềm đam mê ứng dụng công nghệ cao vào cuộc sống, em xây dựng phần mềm quản lý nhà hàng nhằm giúp người quản lý đơn giản hơn trong công tác quản lý nhà hàng, minh bạch các hoạt động của nhà hàng từ đó kiểm soát được mọi hoạt động kinh doanh và thúc đẩy doanh thu của nhà hàng. Xây dựng được hệ thống quản lí nhà hàng ăn uống với đầy đủ các chức năng quản lí như : nhập, xuất hàng hoá trong kho, quản lí bàn ăn (thêm, ghép, rời bàn ăn), từng nhân viên bàn, quản lí công nợ khách hàng, quản lí thẻ ưu đãi cho khách hàng, các khoản chiết khấu, hoa hồng... Phần mềm phải có chức năng tạo các báo cáo về hàng hoá nhập/xuất/tồn kho, các báo cáo về công nợ, báo cáo về thu chi tiền mặt, thống kê doanh thu theo từng nhân viên, từng khu vực bàn ăn (nếu cửa hàng có nhiều khu vực bàn ăn khác nhau), các báo cáo kết quả kinh doanh. 2.2) Thực tế hoạt động của các nhà hàng tại Việt Nam Trên thực tế đa phần các các nhà hàng phục vụ ăn uống đang áp dụng hình thức quản lí qua sổ sách, chứng từ một cách thủ công mà chưa áp dụng CNTT vào các công việc này. Qua mọt thời gian khảo sát khảo sát tại các nhà hàng ăn uống (với nhiều quy mô và điạ điểm hoạt động khác nhau) em thấy mô hình chung cách thức quản lí như sau: Bộ phận quản lý : Theo từng chu kỳ thời gian nhất định (ngày, tuần, tháng, quý) bộ phận quản lí có thể theo dõi, kiểm tra, các mặt hàng nhập/xuất/tồn để báo cáo lãnh đạo và phân tích, triển khai chiến lược kinh doanh mới. Bộ phận kế toán : Theo dõi được các khoản thu chi về tiền mặt, các khoản thu hồi công nợ. Bộ phận bếp: Lên danh sách thực đơn và chế biến các món ăn. Nhân viên phục vụ bàn : Được cung cấp thông tin về món ăn cùng với đơn giá, số lượng một cách nhanh chóng. Các nhân viên có thể làm việc theo nhóm, mỗi nhóm sẽ có một trưởng nhóm phụ trách. Các nhóm có thể làm việc theo khu vực hoặc theo thời gian. 2.3) Tính khả thi của dự án Mức độ phức tạp : Chương trình chỉ dừng lại ở mức độ một chương trình quản lý nên không vượt quá khả năng của sinh viên. Các chức năng như kế toán tuy nằm ngoài kiến thức đã được học nhưng chỉ là các chức năng phụ với độ phức tạp ở mức có thể chấp nhận được. Thị trường : Tuy trên thị trường đã có nhiều phần mềm quản lý nhưng các phần mềm này chỉ mang tính cục bộ chưa có khả năng áp dụng đại trà cho một số lượng lớn các nhà hàng. Lợi ích mà phần mềm mang lại : Nhân viên phục vụ nắm bắt thông tin về thực đơn một cách nhanh chóng và hiệu quả. Giảm bớt gánh nặng sổ sách cho nhân viên kế toán. Ban lãnh đạo có thể tra cứu, thống kê hàng hoá; kiểm tra chéo giữa các bộ phận một cách dễ dàng, chính xác, nhanh gọn. 2.4) Các nghiệp vụ 2.4.1)Nghiệp vụ quản lý kho hàng Các hoạt động chính diễn ra ở kho hàng bao gồm : Nhập nguyên liệu từ nhà cung cấp. Xuất nguyên liệu cho nhà bếp. Luân chuyển hàng hoá giữa các kho (trong trường hợp hệ thống nhà hàng tại các địa điểm khác nhau). Theo dõi, kiểm kê, đánh giá hàng hoá trong kho. Trước mỗi ngày làm việc, ban lãnh đạo phân tích tình hình dựa vào các đơn đặt hàng trước và nhu cầu sử dụng thực phẩm trung bình trong ngày để xác định số lượng nguyên liệu yêu cầu nhà kho xuất ra. Hoá đơn xuất kho được ghi giá bằng với giá nhập cho nguyên liệu đó. Để nhập nguyên liệu, nhà kho sẽ tiến hành việc đặt hàng từ nhà cung cấp. Việc đặt những mặt hàng nào, số lượng bao nhiêu phụ thuộc vào yêu cầu từ nhà bếp, tình hình hàng hoá còn lại trong kho và những mặt hàng bị hỏng phải lập danh sách huỷ. Hàng hoá sẽ được kiểm tra khi nhập. Sau khi hàng hoá nhập kho, nhà cung cấp yêu cầu thanh toán theo đơn hàng. Việc thanh toán giữa nhà hàng với nhà cung cấp có thể diễn ra như sau : nhà hàng thanh toán toàn bộ số tiền cho nhà cung cấp tại thời điểm nhập hàng, nhà hàng thanh toán số tiền theo nhiều đợt, nhà hàng ghi công nợ với nhà cung cấp. Hình thức thanh toán gồm : bằng tiền mặt , bằng sec, bằng chuyển khoản v..v Trong trường hợp nhà hàng có nhiều kho hoặc nhà hàng có nhiều chi nhánh và mỗi chi nhánh có một kho riêng thì phải quản lý việc luân chuyển hàng hoá giữa các kho. Việc theo dõi, kiểm kê hàng hoá trong kho có thể diễn ra hàng ngày, hàng tuần hoặc hàng tháng nhằm mục đích : Phát hiện những hàng hoá hỏng hoặc hết hạn sử dụng để đưa vào danh sách huỷ. Kiểm tra số lượng hàng tồn kho thực tế từ đó xem có sai lệch so với số liệu trong sổ sách hay không. 2.4.2)Nghiệp vụ của nhà bếp Bên quản lý nhà hàng và nhà bếp có nhiệm vụ đưa ra thực đơn các món ăn trong ngày dựa theo tình hình thời tiết, mùa vụ, nhu cầu của khách hàng. Nhà bếp cần đưa ra công thức món ăn cơ bản bao gồm những nguyên liệu gì, khối lượng bao nhiêu … để tính toán số lượng nguyên liệu nhập xuất kho. Nhiệm vụ chính của nhà bếp là chế biến các món ăn có trong thực đơn.Giá của từng món ăn do người quản lý xây dựng dựa trên sự phân bố các nguyên liệu có trong món ăn. Giá món ăn còn phụ thuộc vào tình hình biến động của giá cả thị trường. Nếu ban đầu nha kho nhập về một số lượng lớn nguyên liệu với giá rẻ sau đó một thời gian giá tăng lên thì các món ăn chế biến trên các nguyên liệu ấy cũng tăng giá.Trong quá trình chế biến , những nguyên liệu phụ như dầu ăn, mắm, muối… sẽ không tính vào chi phí món ăn mà sẽ được tính gộp vào chi phí nguyên liệu phụ trên một tháng.Trong quá trình chế biến, do sơ suất của đầu bếp hay nhân viên làm hỏng nguyên liệu thì phải lập ra danh sách các nguyên liệu bị hỏng và người làm hỏng để báo cáo lên bên quản lý. Cuối mỗi ngày làm việc, nhà bếp có nhiệm vụ kiểm kê lại những hàng hoá nào còn dư thừa để nhập vào kho. 2.4.3) Nghiệp vụ bán hàng Nhà hàng sẽ được chia thành các khu vực , mỗi khu vực sẽ do một hoặc nhiều nhân viên chịu trách nhiệm. Mỗi nhân viên có thể phụ trách một hoặc nhiều khu vực. Mọi phát sinh trong mỗi khu vực bàn ăn đều tính cho nhóm nhân viên phụ trách. Nhân viên phục vụ đưa thực đơn cho khách hàng để họ chọn lựa món ăn. Trong quá trình khách hàng chờ đợi, nhân viên có thể phục vụ khách một số đồ uống miễn phí (như nước lọc, trà đá …). Những đồ uống này không tính chi phí vào hoá đơn mà sẽ được tính riêng vào mục chi phí phục vụ miễn phí cuối tháng. Khi khách thiết lập đơn hàng, một bản được đưa cho phòng thu ngân và một bản được đưa cho nhà bếp. Nhà bếp chế biến các món ăn có trong hoá đơn, chuyển cho phục vụ, phục vụ chuyển cho khách. Các hoá đơn phải được sắp sếp sao cho khách vào trước sẽ được phục vụ trước, khách vào sau thì được phục vụ muộn hơn. Chú ý đối với những khách VIP thì hoá đơn phải được ưu tiên hơn. 2.4.4) Nghiệp vụ theo dõi công nợ Nhân viên kế toán sẽ theo dõi các khoản công nợ của khách hàng và công nợ của nhà hàng với nhà cung cấp. Đến kỳ hẹn thanh toán, kế toán phải hoàn tất thủ tục thanh toán công nợ với nhà cung cấp và lên lịch đòi nợ với khách hàng. Đối với những khoản nợ khó đòi cần báo cáo lên ban lãnh đạo để có phương hướng kịp thời giải quyết. 2.4.5) Nghiệp vụ chăm sóc khách hàng Người quản lí nhà hàng có thêm nhiệm vụ theo dõi khách hàng, lập danh sách với những khách hàng thường xuyên đến ăn. Cấp thẻ ưu đãi (VIP) cho khách hàng theo quy định riêng của nhà hàng. Lập danh sách khách hàng hưởng chiết khấu hoặc hoa hồng từ bán hàng. Đối với những khách quen cần có chính sách phục vụ riêng, chu đáo và nhanh chóng hơn các khách hàng khác. Đối với những khách vãng lai thì không cần thiết thêm vào danh sách khách của nhà hàng. Ngoài ra còn cần thường xuyên thu thập thông tin đánh giá của khách hàng để tổng hợp lại và gửi lên ban giám đốc. 2.4.6) Nghịêp vụ Quản lí Nhân viên Theo dõi thông tin nhân viên của nhà hàng bao gồm: Thông tin bản thân, ngày tuyển dụng, chức vụ, lương, chế độ nâng lương. Thông tin cá nhân bao gồm : họ tên, địa chỉ, tuổi, số chứng minh nhân dân, quê quán, thông tin người thân … Chế độ lương và nâng lương phụ thuộc vào chức vụ trong nhà hàng, thâm niên phục vụ, tác phong công việc, đánh giá của đồng nghiệp. Việc nâng lương có thể theo quý hoặc theo năm. 2.5) Các sơ đồ 2.5.1) Sơ đồ chức năng quản lý nhà hàng 2.5.2) Sơ đồ luồng dữ liệu Biểu đồ luồng dữ liệu mức khung cảnh 2.5.3) Biểu đồ luồng dữ liệu dưới đỉnh 2.5.4) Biểu đồ luồng dữ liệu mức dưới đỉnh - Bán hàng 2.5.5) Biểu đồ luồng dữ liệu mức dưới đỉnh - Nhập hàng 2.5.6) Biểu đồ luồng dữ liệu mức dưới đỉnh – Chăm sóc khách hàng 2.5.7) Biểu đồ luồng dữ liệu mức dưới đỉnh – Theo dõi công nợ 2.6) Chi tiết các bảng dữ liệu Nhà cung cấp / khách hàng Tên trường Kiểu Ghi chú MaKhachHang varchar Mã nhà CC hoặc mã KH TenKhachHang varchar Tên nhà CC hoặc tên KH DiaChi varchar DienThoai varchar eMail varchar TenGiamDoc varchar MaSoThue varchar DiaChi varchar NhomKH int 0: NCC ; 1: KH Mặt hàng Tên trường Kiểu Ghi chú MaMatHang varchar TenMatHang varchar NgaySX Datetime HanDung varchar DonViTinhID varchar Nhập/xuất hàng: Tên trường Kiểu Ghi chú MaHoaDon varchar Ngay Datetime Ngày Nhập/xuất HinhThucTTID varchar Hình thức thanh toán MaNhanVien varchar Nhân viên nhập/xuất hàng NguoiGiaoHang varchar ChiTietNhapXuat Tên trường Kiểu Ghi chú MaHoaDon Varchar MaMatHang Varchar NhaCCID Varchar SoLuong Int DonGia Float ChietKhau Real Hình thức thanh toán Tên trường Kiểu Ghi chú HinhThucTTID varchar TenHinhThucTT varchar tiền mặt, chuyển khoản Hàng huỷ Tên trường Kiểu Ghi chú MaMatHang varchar NgayHuy DateTime NguyenNhan narchar Hàng tồn kho Tên trường Kiểu Ghi chú MaMatHang varchar Mặt hàng SoLuong float số lượng TriGia float Trị gía Danh sách thưc đơn Tên trường Kiểu Ghi chú MonAnID varchar TenMonAn varchar DonGia Real DonViTinhID varchar Nồi, đĩa Parent varchar Công thức thực đơn Tên trường Kiểu Ghi chú MonAnID varchar MaMatHang varchar DonViTinhID varchar KhoiLuong real DonViTinh Tên trường Kiểu Ghi chú DonViTinhID varchar TenDonViTinh nvarchar Nhân viên Tên trường Kiểu Ghi chú MaNhanVien varchar TenNhanVien nvarchar GioiTinh int 0: Nam 1: Nữ NgaySinh DateTime MaChucVu varchar TrangThai smallint 0: đã nghỉ việc ; 1: đang tồn tại Chức vụ: Tên trường Kiểu Ghi chú MaChucVu nvarchar TenChucVu nvarchar Theo dõi hoạt động của nhân viên Tên trường Kiểu Ghi chú MaNhanVien varchar Ngay DateTime TuGio DateTime DenGio DateTime TrangThaiOrder smallint 0: đã thanh toán; 1: chưa thanh toán; 2:Ghi công nợ (ghi công nợ toàn phần hoặc một phần); 3: Order đặt trước bị hủy. GhiChu nvarchar Theo dõi khách hàng Tên trường Kiểu Ghi chú MaKhachHang varchar SoLan int Tính số lần đến nhà hàng GiaTriTT Real Tổng giá trị DaTT Real đã thanh toán CongNo Real Còn lại Theo dõi công nợ - nhà CC/KH Tên trường Kiểu Ghi chú KhacHangID varchar OrderID varchar MaHoaDon Ngay DateTime TongTien float NgayHenTT DateTime ThanhToan float NgayTT DateTime ConNo float KieuKH Smallint 1: Nhà CC ; 2: Khách hàng Quy đổi giữa các đơn vị tính cho một số mặt hàng Tên trường Kiểu Ghi chú DonViTinhGoc Varchar MaMatHang Varchar SoLuong real 1 Đơn vị gốc = ** đơn vị quy đổi DonViQuyDoi Varchar Chương 3. Code và giao diện chương trình 3.1) Giao diện chương trình Giao diện Form : Bán hàng – Thông tin hoá đơn Giao diện Form : Bán hàng – Thông tin chi tiết Giao diện Form : Thêm món ăn Giao diện Form : Chọn bàn ăn Giao diện Form : Đơn hàng Giao diện Form : Hiển thị Giao diện Form : Nhập xuất chi tiết Giao diện Form : Từ điển chức vụ Giao diện Form : Từ điển đơn vị tính Giao diện Form : Từ điển đơn kho hàng Giao diện Form : Từ điển khách hàng Giao diện Form : Từ điển mặt hàng Giao diện Form : Từ điển nhân viên Giao diện Form : Từ điển nhóm chức vụ 3.2) Code chương trình Code Form bán hàng Dim cmm As New ADODB.Command Dim cmm1 As New ADODB.Command Dim rs As New ADODB.Recordset Dim rs1 As New ADODB.Recordset Dim rs2 As New ADODB.Recordset Private Sub cbbanan_Dropdown() 'Hien thi don vi tinh o cbdonvitinh cbbanan.Clear sql = "select TenBanAn from tdBanAn where ChiTiet ='1' and ThoiHanSuDung ='C'" Set rs = cnn.Execute(sql) While Not rs.EOF cbbanan.AddItem rs!TenBanAn rs.MoveNext Wend End Sub Private Sub cbdonvitinh_DropDown() 'Hien thi don vi tinh o cbdonvitinh cbdonvitinh.Clear sql = "select tendonvitinh from tddonvitinh" Set rs = cnn.Execute(sql) While Not rs.EOF cbdonvitinh.AddItem rs!tendonvitinh rs.MoveNext Wend End Sub Private Sub cbloaichietkhau_DropDown() cbloaichietkhau.Clear Dim sql As String sql = "select tenchietkhau from tdchietkhau" Set rs = cnn.Execute(sql) While Not rs.EOF cbloaichietkhau.AddItem rs!tenchietkhau rs.MoveNext Wend End Sub Private Sub cbobanan_Change() End Sub Private Sub cbnhanvienpv_Dropdown() 'Hien thi don vi tinh o cbdonvitinh cbnhanvienpv.Clear sql = "select TenNhanVien from tdNhanVien" Set rs = cnn.Execute(sql) While Not rs.EOF cbnhanvienpv.AddItem rs!TenNhanVien rs.MoveNext Wend End Sub Private Sub cmdghinhan_Click() 'Cac su kien xay ra khi nhan nut Ghi nhan Dim iddau As String iddau = txtps.Text & txtngay.Text & ChuanHoa(txtfu.Text + 1) Dim idcuoi As String idcuoi = txtps.Text & txtngay.Text & txtthutu.Text If (txtsoluong.Text = "" Or txtthoigiangoi.Text = "__/__/____") Then MsgBox "Ban chua nhap day du thong tin cho hang hoa !" If txtsoluong.Text = "" Then txtsoluong.SetFocus End If If txtsoluong.Text "" And txtthoigiangoi.Text = "__/__/____" Then txtthoigiangoi.SetFocus End If Else 'Tang gia tri chua txtfu len 1 gia tri txtfu.Text = txtfu.Text + 1 'Chen 0 vao truoc cac gia tri trong o txtfu txtfu.Text = ChuanHoa(txtfu.Text) 'Khai bao bien tg1 de tao Ma chi tiet tu txtps txtngay txtfu Dim tg1 As String Dim rs5 As New ADODB.Recordset Dim rs6 As New ADODB.Recordset Dim rs7 As New ADODB.Recordset 'Bien tg dung de chua ten mat hang lay tu List2 Dim tg As String sql = "select * from bangao" Set rs5 = cnn.Execute(sql) While Not rs5.EOF tg1 = txtps.Text & txtngay.Text & txtfu.Text tg = List2.List(i) i = i + 1 sql7 = "select * from tdmonan where tenmonan='" & tg & "'" Set rs7 = cnn.Execute(sql7) sql1 = "insert into psnhapxuatchitiet(idchitiet,id,MatHangID,donvitinhid,soluong,DonGia,ThoiGianGoi) values('" & tg1 & "','2','" & rs7!monanid & "','" & rs7!donvitinhid & "','" & rs5!soluong & "','" & rs7!dongia & "','" & rs5!thoigiangoi & "')" cmm.ActiveConnection = cnn cmm.CommandType = adCmdText cmm.CommandText = sql1 cmm.Execute rs5.MoveNext txtfu.Text = txtfu.Text + 1 txtfu.Text = ChuanHoa(txtfu.Text) Wend Dim rs8 As New ADODB.Recordset sql8 = "insert into psDonHang(ID,sochungtu,ngaylayhang,congthem,soluong,DienGiai,DatHangTruoc) values(' " & txtmahoadon & " ',' " & txtsochungtu & " ',' " & txtngayphucvu & " ',' " & txtthuthem & " ',' " & txtsoluongdat & " ',' " & txtdiengiaihd & " ','0')" cmm.ActiveConnection = cnn cmm.CommandType = adCmdText cmm.CommandText = sql8 cmm.Execute MsgBox "Ban da ghi nhan thanh cong !" Unload Me End If End Sub Private Sub cmdthemmonan_Click() 'Cac su kien xay ra khi nhan vao nut "Them mat hang moi" frmbanhang.Enabled = False frmtudienmathang.Visible = True End Sub Private Sub cmdthoat_Click() 'Nhan nut Thoat sql2 = "drop table bangao" cmm.ActiveConnection = cnn cmm.CommandType = adCmdText cmm.CommandText = sql2 cmm.Execute Unload Me End Sub Private Sub Command1_Click() frmchonbanan.Visible = True End Sub Private Sub Form_Load() ketnoi 'Neu da co bangao thi bo qua loi On Error Resume Next sqlxoabangao = "drop table bangao" cmm.ActiveConnection = cnn cmm.CommandType = adCmdText cmm.CommandText = sqlxoabangao cmm.Execute 'Tao bangao sqlbangao = "create table bangao (tenmonan nvarchar(50) null ,soluong nvarchar(15) null,thoigiangoi nvarchar(12) null )" cmm.ActiveConnection = cnn cmm.CommandType = adCmdText cmm.CommandText = sqlbangao cmm.Execute 'Khoi tao gia tri txtngay.Text = Date txtps.Text = "PS" txtngayphucvu.Mask = "##/##/####" txtngayphucvu.PromptChar = "_" txtngayphucvu.Text = "__/__/____" 'lay ra tap cac gia tri cuoi cung phieu suat trong ngay Dim sql As String sql = "select * from psDonHang" Set rs = cnn.Execute(sql) rs.MoveLast txtmahoadon.Text = rs!id + 1 Dim tg As String tg = "PS" & txtngay.Text sql1 = "select * from psnhapxuatchitiet where IDChitiet like '" & tg & "%'" Set rs1 = cnn.Execute(sql1) 'lay ra tap cac gia tri cuoi cung cua so chung tu trong ngay Dim sqlsochungtu As String sqlsochungtu = "select * from psDonHang" Set rs = cnn.Execute(sqlsochungtu) rs.MoveLast txtsochungtu.Text = NH & Year(Date) & Month(Date) & Day(Date) 'Neu khong co ban ghi nao , tuc la lan nhap dau tien cua ngay thi khoi tao gia tri cho cac o Text If rs1.EOF = True Then txtps.Text = "PS" txtngay.Text = Date txtfu.Text = "000000" txtthutu.Text = "000000" Else 'Neu co ban ghi thi tim den ban ghi cuoi cung roi cho vao txtfu & txtthutu rs1.MoveLast Dim tg2 As String tg2 = rs1!idchitiet tg2 = Right(tg2, Len(tg2) - 12) tg2 = tg2 tg2 = ChuanHoa(tg2) txtfu.Text = tg2 txtthutu.Text = txtfu.Text End If 'Lay ra cac mon an tu bang tdmonan ma ma nhom ko la TD sql = "select tenmonan from tdmonan where nhom 'NL' order by sapxep" Set rs = cnn.Execute(sql) 'Hien thi len List1 While Not rs.EOF List1.AddItem rs!tenmonan rs.MoveNext Wend End Sub Public Function ChuanHoa(X As String) As String If Len(X) = 1 Then X = "00000" & X End If If Len(X) = 2 Then X = "0000" & X End If If Len(X) = 3 Then X = "000" & X End If If Len(X) = 4 Then X = "00" & X End If If Len(X) = 5 Then X = "0" & X End If ChuanHoa = X End Function Public Function daodate(X As String) As String Dim ngay As String Dim thang As String Dim nam As String Dim thoigian As String thang = Mid(X, 4, 3) ngay = Left(X, 3) nam = Right(X, 4) thoigian = thang & ngay & nam daodate = thoigian End Function Public Function chuandate(X As String) As Boolean chuandate = True Dim ngay As String Dim thang As String Dim nam As String Dim thoigian As String thang = Mid(X, 4, 2) ngay = Left(X, 2) nam = Right(X, 4) If IsNumeric(nam) And IsNumeric(ngay) And IsNumeric(thang) Then If nam > 1900 Then If (nam / 4) - (nam \ 4) 0 Then If thang 12 Then chuandate = False Else If thang = 1 Then If ngay 31 Then chuandate = False End If End If If thang = 2 Then If ngay 28 Then chuandate = False End If End If If thang = 3 Then If ngay 31 Then chuandate = False End If End If If thang = 4 Then If ngay 30 Then chuandate = False End If End If If thang = 5 Then If ngay 31 Then chuandate = False End If End If If thang = 6 Then If ngay 30 Then chuandate = False End If End If If thang = 7 Then If ngay 31 Then chuandate = False End If End If If thang = 8 Then If ngay 31 Then chuandate = False End If End If If thang = 9 Then If ngay 30 Then chuandate = False End If End If If thang = 10 Then If ngay 31 Then chuandate = False End If End If If thang = 11 Then If ngay 30 Then chuandate = False End If End If If thang = 12 Then If ngay 31 Then chuandate = False End If End If End If Else If thang 12 Then chuandate = False Else If thang = 1 Then If ngay 31 Then chuandate = False End If End If If thang = 2 Then If ngay 29 Then chuandate = False End If End If If thang = 3 Then If ngay 31 Then chuandate = False End If End If If thang = 4 Then If ngay 30 Then chuandate = False End If End If If thang = 5 Then If ngay 31 Then chuandate = False End If End If If thang = 6 Then If ngay 30 Then chuandate = False End If End If If thang = 7 Then If ngay 31 Then chuandate = False End If End If If thang = 8 Then If ngay 31 Then chuandate = False End If End If If thang = 9 Then If ngay 30 Then chuandate = False End If End If If thang = 10 Then If ngay 31 Then chuandate = False End If End If If thang = 11 Then If ngay 30 Then chuandate = False End If End If If thang = 12 Then If ngay 31 Then chuandate = False End If End If End If End If Else chuandate = False End If End If End Function Private Sub List1_DblClick() Dim rs4 As ADODB.Recordset sql4 = "select * from tdmonan where tenmonan = '" & List1.Text & "'" Set rs4 = cnn.Execute(sql4) If (rs4!Parent 0 And rs4!chitiet 0) Or (rs4!Parent Null And rs4!chitiet 0) Then 'Kiem tra xem da nhap day du thong tin cua hang hoa truoc chua If (txtsoluong.Text = "" Or txtthoigiangoi.Text = "__/__/____") And List2.ListCount > 0 Then MsgBox "Ban chua nhap day du thong tin cho hang hoa !" If txtsoluong.Text = "" Then txtsoluong.SetFocus End If If txtsoluong.Text "" And txtthoigiangoi.Text = "__/__/____" Then txtthoigiangoi.SetFocus End If Else txtsoluong.Text = "" txtthoigiangoi.Mask = "##/##/####" txtthoigiangoi.PromptChar = "_" txtthoigiangoi.Text = "__/__/____" cbdonvitinh.Clear txttenmonan.Text = List1.Text List2.AddItem List1.Text List1.RemoveItem (List1.ListIndex) 'Tao chuoi danh sach cac mon an dung cho cau lenh SQL Dim i As Integer i = 0 Dim chuoi As String chuoi = "(" While i <= List2.ListCount - 1 If i = List2.ListCount - 1 Then chuoi = chuoi + "'" + List2.List(i) + "'" + ")" Else chuoi = chuoi + "'" + List2.List(i) + "'" + "," End If i = i + 1 Wend 'Lay tu bang tdmonan cac mon an trong chuoi va dua len luoi sql = "select * from tdmonan where tenmonan in " & chuoi & " order by sapxep" Set rs = cnn.Execute(sql) Set tg.DataSource = rs tg.Refresh 'Dua don gia len txtdongia sql2 = "select * from tdmonan where tenmonan='" & txttenmonan.Text & "'" Set rs2 = cnn.Execute(sql2) If IsNull(rs2!dongia) = True Then txtdongia.Text = "" Else txtdongia.Text = rs2!dongia End If sql1 = "select tendonvitinh from tddonvitinh where donvitinhid='" & rs2!donvitinhid & "'" Set rs1 = cnn.Execute(sql1) While Not rs1.EOF cbdonvitinh.Text = rs1!tendonvitinh rs1.MoveNext Wend 'txtthutu dung de hien thi con txtfu dung cho luu txtthutu.Text = txtthutu.Text + 1 txtthutu.Text = ChuanHoa(txtthutu.Text) txttenmonan.Text = LTrim(txttenmonan.Text) sql3 = "insert into bangao(tenmonan,soluong,thoigiangoi)values('" & txttenmonan.Text & "','" & txtsoluong.Text & "','" & txtthoigiangoi.Text & "')" cmm.ActiveConnection = cnn cmm.CommandType = adCmdText cmm.CommandText = sql3 cmm.Execute End If End If txtsoluong.SetFocus End Sub Private Sub List2_Click() 'Dung de sua thong tin da nhap txttenmonan.Text = Trim(List2.Text) sql = "select * from bangao where tenmonan='" & Trim(List2.Text) & "'" Set rs = cnn.Execute(sql) txtsoluong.Text = rs!soluong sql1 = "select * from tdmonan where tenmonan='" & List2.Text & "'" Set rs1 = cnn.Execute(sql1) sql2 = "select * from tddonvitinh where donvitinhid='" & rs1!donvitinhid & "'" Set rs2 = cnn.Execute(sql2) cbdonvitinh.Text = rs2!tendonvitinh txtsoluong.Text = rs!soluong txtdongia.Text = rs1!dongia txtthoigiangoi.Text = rs!thoigiangoi 'Dao ngay thang tu bang ao txtthoigiangoi.Text = daodate(txtthoigiangoi.Text) End Sub Private Sub List2_DblClick() List1.Clear

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

  • doc12772.doc