MỤC LỤC
MỤC LỤC1
LỜI NÓI ĐẦU3
CHƯƠNG I : TÌM HIỂU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0. 4
1.1 Giới thiệu về hệ quản trị cơ sở dữ liệu Microsoft Access. 4
1.2 Khởi động Access 2003 và màn hình làm việc. 6
1.2.1 Menu chính. 7
1.2.2 Các thanh công cụ. 7
1.3 Cơ sở dữ liệu trong Access. 9
1.4 Tạo, mở và đóng một cơ sở dữ liệu. 10
1.5 Các thành phần của Access. 10
1.5.1 Bảng (Table)10
1.5.2 Các biểu mẫu ( Form )15
1.5.3 Các báo biểu ( Report )16
1.5.4 Truy vấn (Query)16
1.6 Các bước để xây dựng một chương trình ứng dụng bằng Access. 17
1.2 NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0. 17
CHƯƠNG II: KHẢO SÁT BÀI TOÁN QUẢN LÝ BÁN HÀNG TẠI CỬA HÀNG THANH PHƯỢNG22
2.1 Khảo sát hiện trạng và xác lập dự án. 22
2.1.1 C«ng t¸c qu¶n lý b¸n hµng cña cöa hµng. 23
2.2 Đánh giá việc bán hàng của cửa hàng. 26
2.3 Xác định thông tin vào của bài toán. 26
2.4 Xác định thông tin ra của bài toán. 27
2.5 Xác định mục tiêu cần quản lý của bài toán. 27
CHƯƠNG III : PHÂN TÍCH BÀI TOÁN QUẢN LÝ BÁN HÀNG TẠI CỬA HÀNG THANH PHƯỢNG29
3.1 Phân tích hệ thống về chức năng. 29
3.1.1 Biểu đồ phân cấp chức năng. 29
3.1.2 Biểu đồ luồng dữ liệu. 30
3.2 Phân tích bài toán quản lý bán hàng về CSDL. 35
3.3 Mô hình dữ liệu thực thể liên kết38
CHƯƠNG IV : XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG TẠI CỬA HÀNG THANH PHƯỢNG40
4.1 Thiết kế CSDL. 40
4.1.1 Danh mục hàng. 40
4.1.2 Danh mục khách hàng. 40
4.1.3 Danh mục nhà cung cấp. 40
4.1.4 Danh mục nhân viên. 41
4.1.5 Hoá đơn bán hàng. 41
4.1.6 Chi tiết bán. 41
4.1.7 Hoá đơn mua hàng. 42
4.1.8 Chi tiết mua. 42
4.1.9 Bảng kết nối các bảng CSDL. 43
4.2 Thiết kế các giao diện của chương trình. 43
4.2.1 Thiết kế giao diện đăng nhập vào hệ thống. 43
4.2.2 Thiết kế giao diện chính của chương trình. 45
4.2.3 Thiết kế giao diện cập nhật danh mục hàng. 48
4.2.4 Thiết kế giao diện cập nhật danh mục khách hàng. 50
4.2.5 Thiết kế giao diện cập nhật danh mục nhà cung cấp. 51
4.2.6 Thiết kế giao diện cập nhật danh mục nhân viên. 53
4.2.7 Thiết kế giao diện theo dõi hoá đơn bán hàng. 55
4.2.8 Thiết kế giao diện theo dõi hoá đơn nhập hàng. 57
4.2.9 Thiết kế giao diện tìm kiếm mặt hàng. 60
4.2.10 Thiết kế giao diện tìm kiếm khách hàng. 61
4.2.11 Thiết kế giao diện tìm kiếm nhà cung cấp. 62
4.2.12 Thiết kế giao diện thống kê báo cáo. 63
4.2.13 Thiết kế giao diện thống kê báo cáo hàng tồn. 63
4.2.13 Thiết kế giao diện thống kê báo cáo hàng bán chạy. 64
LỜI CẢM ƠN65
KẾT LUẬN66
TÀI LIỆU THAM KHẢO68
PHỤ LỤC69
NHẬN XÉT CỦA GIÁO VIÊN93
LỜI NÓI ĐẦU
Trên thế giới hiện nay, tin học là ngành phát triển không ngừng, thời kỳ công nghiệp hoá đòi hỏi thông tin nhanh chóng, chính xác.Tin học càng ngày càng chiếm một vị trí quan trọng trong cuộc sống Hàng ngày, trong các ngành khoa học kỹ thuật, dịch vụ và xã hội.
Đất nước ta đang có những chuyển biến to lớn trong tất cả mọi lĩnh vực, các ngành kinh tế, các ngành khoa học kỹ thuật và cũng như đời sống xã hội. Đảng và nhà nước ta cũng đã rấtcoi trọng vấn đề áp dụng tin học vào các lĩnh vực của đời sống xã hội. Sự nghiệp hoá, công nghiệp hoá, hiện đại hoá của đất nước cần đến sự phát triển của công nghệ thông tin.
Trong đó quản lý kinh tế là một môi trường khá hấp dẫn có tính chất phổ biến hiện nay.Quản lý bán hàng là một đề tài thực tế được ứng dụng công nghệ thông tin trong tất cả các khâu và nếu thực hiện tốt sẽ mang lại hiệu quả cao.Trong thời gian thực tập này em đã mạnh dạn chọn đề tài: Khảo sát, phân tích, thiết kế hệ thống quản lý bán hàng.Với nội dung chính:
Chương 1: Tìm hiểu về hệ quản trị cơ sở dữ liệu Microsoft access.
Chương 2: Khảo sát bài toán quản lý bán hàng tại cửa hàng Thanh Phượng
Chương 3: Áp dụng phân tích và thiết kế hệ thống quản lý bán hàng tại cửa hàng Thanh Phượng.
Chương 4: Xây dựng chương trình quản lý bán hàng tại cửa hàng Thanh Phượng.
Do điều kiện thời gian có hạn và chưa hiểu biết được hết các vấn đề nghiệp vụ, nên đề tài của em khó có thể tránh khỏi những hạn chế nhất định. Kính mong những đóng góp của thầy cô và các bạn để đề tài của em có thể hoàn thiện thêm.
93 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2849 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài toán quản lý bán hàng tại cửa hàng Thanh Phượng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nh xuất phát
Danh sách thuộc tính đã tinh chỉnh
1NF
2NF
3NF
Số hoá đơn nhập
Ngày nhập
Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ nhà cung cấp
Điện thoại liên lạc
Mã hàng
Tên hàng
Đơn vị tính
Đơn giá
Số lượng
Thành tiền (trung gian nên loại bỏ)
Tổng tiền (tích luỹ nên loại bỏ)
Mã nhân viên
Tên nhân viên
Địa chỉ nhân viên
DTDD
#Số hoá đơn nhập
Ngày nhập
Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ nhà cung cấp
Điện thoại liên lạc
Mã hàng
Tên hàng
Đơn vị tính
Đơn giá
Số lượng
Mã nhân viên
Tên nhân viên
Địa chỉ nhân viên
DTDD
#Số hoá đơn nhập
Ngày nhập
Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ nhà cung cấp
Điện thoại liên lạc
Mã nhân viên
Tên nhân viên
Địa chỉ nhân viên
DTDD
#Số hoá đơn nhập
Ngày nhập
Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ nhà cung cấp
Điện thoại liên lạc
Mã nhân viên
Tên nhân viên
Địa chỉ nhân viên
DTDD
#Số hoá đơn nhập
Ngày nhập
Mã nhà cung cấp @
Mã nhân viên@
#Số hoá đơn nhập @
#Mã hàng
Tên hàng
Đơn vị tính
Đơn giá
Số lượng
#Mã hàng
Tên hàng
Đơn vị tính
#Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ nhà cung cấp
Điện thoại liên lạc
#Số hoá đơn nhập @
#Mã hàng@
Đơn giá
Số lượng
#Mã nhân viên
Tên nhân viên
Địa chỉ nhân viên
DTDD
#Mã hàng
Tên hàng
Đơn vị tính
#Số hoá đơn nhập @
#Mã hàng@
Đơn giá
Số lượng
Sau khi chuẩn hoá ta thu được 8 quan hệ sau:
1 Quan hệ hoá đơn bán hàng (#Số hoá đơn bán, Ngày bán, Mã khách hàng@, Mã nhân viên@).
2 Quan hệ chi tiết hoá đơn bán (#Số hoá đơn bán @, #Mã hàng@, Đơn giá bán, Số lượng bán).
3 Quan hệ danh mục hàng (# Mã hàng, Tên hàng, Đơn vị tính).
4 Quan hệ danh mục khách hàng (#Mã khách hàng, Tên khách hàng, Điạ chỉ khách hàng, Điện thoại liên lạc).
5 Quan hệ hoá đơn mua hàng (#Số hoá đơn mua, Ngày mua, Mã nhà cung cấp @, Mã nhân viên@).
6 Quan hệ chi tiết hoá đơn mua (#Số hoá đơn mua @, #Mã hàng@, Đơn giá mua, Số lượng mua).
7 Quan hệ danh mục nhà cung cấp (#Mã nhà cung cấp, Tên nhà cung cấp, Điạ chỉ nhà cung cấp, Điện thoại liên lạc).
8 Quan hệ danh mục nhân viên (# Mã nhân viên, Tên nhân viên, Địa chỉ nhân viên).
3.3 Mô hình dữ liệu thực thể liên kết
Các kiểu quan hệ giữa các bảng
Quan hệ một - một : Mỗi bản ghi trong bảng A chỉ có thể có một bản ghi phù hợp trong bảng B và mỗi bản ghi trong bảng B chỉ có thể có một bản ghi trong bảng A. Mối quan hệ này ít dùng vì cả hai bảng về thực chất có thể gộp lại thành một bảng. Kiểu quan hệ này dùng trong các trường hợp tách một bảng rất nhiều trường thành các bảng con cho dễ quản lý.
Quan hệ một - nhiều : Một bản ghi trong bảng A có thể có nhiều bản ghi phù hợp trong bảng B, nhưng một bản ghi trong bảng B chỉ có một bản ghi phù hợp trong bảng.
Quan hệ nhiều - nhiều : Một bản ghi trong bảng A có thể có nhiều bản ghi phù hợp trong bảng B và một bản ghi trong bảng B có nhiều bản ghi phù hợp trong bảng A. Kiểu quan hệ này chỉ có thể xác định bởi bảng thứ ba gọi là bảng kết nối mà khoá chính của nó chứa cả hai trường là khoá ngoài của hai bảng A và B. Thực chất quan hệ nhiều - nhiều là hai quan hệ một - nhiều đối với bảng thứ ba.
Mô hình dữ liệu chưa chuẩn hoá
Danh mục nhà cung cấp
Danh mục hàng
Danh mục khách hàng
Hoá đơn mua hàng
Hóa đơn bán hàng
Danh mục nhân viên
Mô hình dữ liệu sau khi chuẩn hoá
Danh mục nhà cung cấp
Hoá đơn nhập hàng
Chi tiết hoá đơn nhập mua
Hoá đơn bán hàng
Danh mục khách hàng
Danh mục nhân viên
Danh mục hàng
Chi tiết hoá đơn bán
CHƯƠNG IV : XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG TẠI CỬA HÀNG THANH PHƯỢNG
4.1 Thiết kế CSDL
4.1.1 Danh mục hàng
Bảng danh mục hàng gồm có các thuộc tính
Mã hàng để phân biệt các loại mặt hàng với nhau.
Tên hàng để biết được loại mặt hàng.
Đơn vị tính để biết đơn vị tính của mặt hàng.
Mô tả để biết được mặt hàng được mô tả như thế nào.
4.1.2 Danh mục khách hàng
Bảng danh mục khách hàng gồm có các thuộc tính:
Mã khách hàng để phân biệt các khách hàng.
Tên khách hàng để biết tên khách hàng.
Địa chỉ khách hàng để biết địa chỉ của khách hàng.
Điện thoại liên lạc khách hàng để biết số điện thoại để khi cần thì liên lạc.
4.1.3 Danh mục nhà cung cấp
Bảng danh mục nhà cung cấp gồm có các thuộc tính:
Mã nhà cung cấp để phân biệt các nhà cung cấp đã cung cấp hàng cho công ty.
Tên nhà cung cấp để biết tên nhà cung cấp đã cung cấp hàng cho công ty.
Điạ chỉ nhà cung cấp để biết địa chỉ của nhà cung cấp.
Điện thoại liên lạc nhà cung cấp để biết số điện thoại của nhà cung cấp khi cần thiết thì liên lạc.
4.1.4 Danh mục nhân viên
Bảng danh mục nhân viên gồm các thuộc tính:
Mã nhân viên để phân biệt các nhân viên.
Tên nhân viên để biết tên nhân viên.
Địa chỉ nhân viên để biết địa chỉ của nhân viên.
Điện thoại di động để biết số điện thoại của nhân viên khi cần thiết thì liên lạc.
4.1.5 Hoá đơn bán hàng
Số hoá đơn bán để phân biệt các hoá đơn bán hàng với nhau.
Ngày bán để biết được bán vào ngày nào.
Mã khách hàng để biết được bán cho khách hàng nào.
Mã nhân viên để biết được nhân viên nào bán hàng.
4.1.6 Chi tiết bán
Số hoá đơn bán cùng với mã hàng để xác định mặt hàng.
Đơn giá để biết được mặt hàng giá bao nhiêu.
Số lượng để biết được mua với số lượng bao nhiêu.
4.1.7 Hoá đơn mua hàng
Số hoá đơn mua để phân biệt được các hoá đơn mua hàng.
Ngày mua để biết được mua hàng của nhà cung cấp vào ngày nào.
Mã nhà cung cấp để biết được mua hàng của nhà cung cấp nào.
Mã nhân viên để biết được nhân viên nào lập hoá đơn mua hàng của nhà cung cấp.
4.1.8 Chi tiết mua
Số hoá đơn mua và mã hàng để phân biệt được mặt hàng.
Đơn giá để biết được mặt hàng mua với giá bao nhiêu.
Số lượng để biết được mặt hàng mua với số lượng bao nhiêu.
4.1.9 Bảng kết nối các bảng CSDL
Bảng kết nối giữa các bảng cơ sở dữ liệu, có chức năng liên kết các bảng CSDL lại với nhau. Qua đó, khi thiết kế chương trình chúng có thể liên kết và lấy được thông tin từ nhiều bảng CSDL.
4.2 Thiết kế các giao diện của chương trình
4.2.1 Thiết kế giao diện đăng nhập vào hệ thống
Chức năng:
Giao diện đăng nhập vào hệ thống có chức năng bảo mật cho hệ thống. Tránh những đăng nhập sai trái với mục đích không rõ ràng. Chỉ có những người có liên quan đến hệ thống thì mới được đăng nhập. Như vậy, vai trò của giao diện đăng nhập vào hệ thống là rất quan trọng. Vì thế một hệ thống quản lý không thể không có giao diện đăng nhập được.
Thiết kế giao diện đăng nhập vào hệ thống bao gồm các điều khiển sau:
Nhãn label:
Name: lbltendangnhap Caption: Ten dang nhap:
Name:lblmatkhaudangnhap Caption: Mat khau dang nhap:
Name: lblyeucau
Caption: Yeu cau nhap ten va mat khau dang nhap truoc khi vao he thong.
Nút lệnh Command Button:
Name: cmddangnhap Caption: Dang nhap
Name: cmdthoat Caption: Thoat
Name: txttendangnhap Name: txtmatkhaudangnhap
Khi chạy chương trình giao diện đăng nhập được xuất hiện đầu tiên như sau:
Khi người sử dụng nhập tên đăng nhập và mật khẩu đăng nhập xong. Click nút đăng nhập. Nếu tên đăng nhập và mật khẩu đăng nhập là hợp lệ thì giao diện chính của chương trình sẽ được hiện ra. Còn nếu không hợp lệ thì hệ thống sẽ đưa ra thông báo: “Tên đăng nhập hoặc mật khẩu đăng nhập không hợp lệ. Yêu cầu người dùng nhập lại.”. Khi đó người sử dụng click nút DONG Y trên hộp thông báo để nhập lại tên đăng nhập và mật khẩu đăng nhập. Nếu người sử dụng click vào nút THOAT thì hệ thống sẽ bỏ qua và thoát không đăng nhập vào hệ thống nữa. Nếu người sử dụng không muốn đăng nhập vào hệ thống thì click vào nút thoát. Hệ thống sẽ đưa ra thông báo: “Bạn có muốn thoát khỏi hệ thống không ?”.Nếu click nút DONG Y trên thông báo thì người sử dụng sẽ thoát khỏi hệ thống. Nếu click nút THOAT người sử dụng sẽ không thoát khỏi hệ thống.
4.2.2 Thiết kế giao diện chính của chương trình
Chức năng:
Với bất cứ một hệ thống quản lý nào cũng phải thiết kế giao diện chính của chương trình. Nó là giao diện tương tác giữa người sử dụng và chương trình. Giao diện chính của chương trình là không thể thiếu được trong một chương trình quản lý. Giao diện chính của chương trình có thể được thiết kế theo nhiều kiểu khác nhau. Tuy nhiên, giao diện chính phải đáp ứng được những yêu cầu như: Thân thiện và dễ sử dụng…..
Thiết kế giao diện chính của chương trình sẽ bao gồm các điều khiển sau:
Nhãn label:
Name: lblchuongtrinhquanlykhogiay
Caption: CHUONG TRINH QUAN LY BAN HANG TAI CUA HANG THANH PHUONG
Nút lệnh Command Button:
Name:cmdcapnhatdanhmuc Caption:CAP NHAT DANH MUC
Name: cmdtheodoinhapban Caption: THEO DOI NHAP BAN
Name: cmdtimkiem Caption: TIM KIEM
Name:cmdbaocao Caption: THONG KE BAO CAO
Name: cmdquaylai Caption: QUAY LAI
Name: cmdthoat Caption: THOAT
Name: cmddanhmuchang Caption: DANH MUC HANG
Name: cmddanhmuckhachhang Caption: DANH MUC KHACH HANG
Name: cmddanhmucnhacungcap Caption: DANH MUC NHA CUNG CAP
Name: cmddanhmucnhanvien Caption: DANH MUC NHAN VIEN
Name: cmdhoadonnhaphang Caption: HOA DON NHAP HANG
Name: cmdhoadonbanhang Caption: HOA DON BAN HANG
Name: cmdtimkiemmathang Caption: TIM KIEM MAT HANG
Name: cmdtimkiemkhachhang Caption: TIM KIEM KHACH HANG
Name:cmdtimkiemnhacungcap Caption: TIM KIEM NHA CUNG CAP
Name: cmDbaocaohangton
Caption: BAO CAO HANG TON
Name: cmdbaocaohangbanchay
Caption: BAO CAO HANG BAN CHAY
Khung Frame:
Name:frachucnang Caption: CHUC NANG CUA CHUONG TRINH
Name: fracapnhatdanhmuc Caption: CAP NHAT DANH MUC
Name: fratheodoinhapban Caption: THEO DOI NHAP BAN
Name: fratimkiem Caption: TIM KIEM
Name: frathongkebaocao Caption: THONG KE BAO CAO
Name: cdmtrogiup Caption: TRO GIUP
Khi các thủ tục đăng nhập đã hợp lệ thì giao diện chính của chương trình bắt đầu xuất hiện:
Giao diện chính sẽ thông báo cho người sủ dụng biết về các chức năng của hệ thống. Người sử dụng muốn cập nhật danh mục thì click vào nút cập nhật danh mục. Khi người sử dụng click vào nút CAP NHAT DANH MUC thì chỉ có khung chức năng CAP NHAT DANH MUC và các chức năng DANH MUC HANG, DANH MUC KHACH HANG, DANH MUC NHA CUNG CAP, DANH MUC NHAN VIEN được hiện lên.
Khi click vào nút THEO DOI NHAP BAN thì chỉ có khung chức năng THEO DOI NHAP BAN và các chức năng HOA DON NHAP HANG, HOA DON BAN HANG được hiện lên.
Khi người sử dụng click vào nút TIM KIEM thì chỉ có khung chức năng TIM KIEM và các chức năng TIM KIEM MAT HANG và TIM KIEM KHACH HANG và TIM KIEM NHA CUNG CAP được hiện hiện lên.
Khi người sử dụng click vào nút THONG KE BAO CAO thì chỉ có
khung chức năng THONG KE BAO CAO và các chức năng BAO CAO HANG TON và BAO CAO HANG BAN CHAY được hiện lên.
4.2.3 Thiết kế giao diện cập nhật danh mục hàng
Chức năng:
Giao diện cập nhật danh mục hàng có chức năng cập nhật các loại hàng mới. Như thêm, sửa, xoá và lưu lại các loại hàng có trong kho hàng.
Thiết kế giao diện cập nhật danh mục hàng bao gồm các điều khiển sau:
Nhãn Label:
Name:lblcapnhatdanhmuchang Caption: CAP NHAT DANH MUC HANG
Name: lblmahang Caption: MA HANG:
Name: lbltenhang Caption: TEN HANG
Name: lbldonvitinh Caption: DON VI TINH
Name: lblmota Caption: MO TA
Nút lệnh Command Button:
Name:cmdbanghidau Caption: BAN GHI DAU
Name: cmdbanghitruoc Caption: BAN GHI TRUOC
Name:cmdbanghitiep Caption: BAN GHI TIEP
Name: cmdbanghicuoi Caption: BAN GHI CUOI
Name: cmdthem Caption: THEM
Name: cmdsua Caption: SUA
Name: cmdxoa Caption: XOA
Name: cmdluu Caption: LUU
Name: cmdthoat Caption: THOAT
Hộp chữ Text box
Name: txtmahang Name: txttenhang Name: txtdvt
Name: txtmota
Lưới hiển thị DataGrid
Name: Datagriddanhmuchang Caption: DANH MUC HANG
Điều khiển ADO:
Name: Adodcdanhmuchang Caption: DANH MUC HANG
Từ màn hình giao diện chính khi người sử dụng click nút DANH MUC HANG thì giao diện cập nhật danh mục hàng sẽ xuất hiện như sau:
Giao diện cập nhật danh mục hàng có các chức năng thêm mới, sửa, xoá lưu lại thông tin của các loại hàng trong danh mục hàng.
4.2.4 Thiết kế giao diện cập nhật danh mục khách hàng
Chức năng:
Giao diện cập nhật danh mục khách hàng có chức năng cập nhật các khách hàng. Như thêm, sửa, xoá và lưu lại các khách hàng có trong công ty.
Thiết kế giao diện cập nhật danh mục khách hàng bao gồm các điều khiển sau:
Nhãn Label:
Name: lblcapnhatdanhmuckhachhang
Caption: CAP NHAT DANH MUC KHACH HANG
Name: lblmakhachhang Caption: MA KHACH HANG:
Name: lbltenkhachhang Caption: TEN KHACH HANG:
Name: lbldiachikhachhang Caption:DIA CHI KHACH HANG:
Name: lbldienthoailienlac Caption:DIEN THOAI LIEN LAC:
Nút lệnh Command Button:
Name: cmdbangidau Caption: BAN GHI DAU
Name: cmdbanghitruoc Caption: BAN GHI TRUOC
Name: cmdbanghitiep Caption: BAN GHI TIEP
Name: cmdbanghicuoi Caption: BAN GHI CUOI
Name:cmdthem Caption: THEM
Name: cmdsua Caption: SUA
Name: cmdxoa Caption: XOA
Name: cmdluu Caption: LUU
Name: cmdthoat Caption: THOAT
Hộp chữ Text box:
Name: txtmakhachhang Name: txttenkhachhang
Name: txtdiachikhachhang Name: txtdienthoailienlac
Lưới hiển thị DataGrid:
Name: DataGriddanhmuckhachhang Caption: DANH MUC KHACH HANG
Điều khiển ADO:
Name: Adodcdanhmuckhachhang Caption: DANH MUC KHACH HANG
Từ màn hình giao diện chính của chương trình, khi người sử dụng click nút DANH MUC KHACH HANG thì giao diện cập nhật danh mục khách hàng sẽ xuất hiện như sau:
Giao diện cập nhật danh mục khách hàng có các chức năng thêm mới, sửa, xoá, lưu lại thông tin của khách hàng trong danh mục khách hàng.
4.2.5 Thiết kế giao diện cập nhật danh mục nhà cung cấp
Chức năng:
Giao diện cập nhật danh mục nhà cung cấp có chức năng cập nhật các nhà cung cấp đã cung cấp hàng cho cửa hàng. Như thêm, sửa, xoá, và lưu lại các nhà cung cấp cung cấp hàng cho cửa hàng.
Thiết kế giao diện cập nhật danh mục nhà cung cấp bao gồm các điều khiển sau:
Nhãn Label:
Name: lblcapnhatdanhmucnhacungcap
Caption: CAP NHAT DANH MUC NHA CUNG CAP
Name: lblmanhacungcap Caption: MA NHA CUNG CAP:
Name: lbltennhacungcap Caption: TEN NHA CUNG CAP:
Name: lbldiachinhacungcap Caption: DIA CHI NHA CUNG CAP:
Name: lbldienthoailienlac Caption: DIEN THOAI LIEN LAC:
Nút lệnh Command Button:
Name: cmdbanghidau Caption: BAN GHI DAU
Name: cmdbanghitruoc Caption: BAN GHI TRUOC
Name: cmdbanghitiep Caption: BAN GHI TIEP
Name: cmdbanghicuoi Caption: BAN GHI CUOI
Name: cmdthem Caption: THEM
Name: cmdsua Caption: SUA
Name: cmdxoa Caption: XOA
Name: cmdthoat Caption: THOAT
Hộp chữ Text box:
Name: txtmanhacungcap Name: txttennhacungcap
Name: txtdiachinhacungcap Name: txtdienthoailienlac
Lưới hiển thị DataGrid:
Name: DataGriddanhmucnhacungcap
Caption: DANH MUC NHA CUNG CAP
Điều khiển ADO:
Name: Adodcdanhmucnhacungcap
Caption: DIEU KHIEN
Từ màn hình giao diện chính của chương trình khi người sử dụng click nút DANH MUC NHA CUNG CAP thì giao diện cập nhật danh mục nhà cung cấp sẽ xuất hiện như sau:
Giao diện cập nhật danh mục nhà cung cấp có các chức năng thêm mới, sửa, xoá, lưu lại thông tin của nhà cung cấp vào danh mục nhà cung cấp.
4.2.6 Thiết kế giao diện cập nhật danh mục nhân viên
Chức năng:
Giao diện cập nhật danh mục nhân viên có chức năng cập nhật các nhân viên quản lý hàng trong cửa hàng. Như thêm, sửa, xoá và lưu lại các nhân viên trong cửa hàng.
Thiết kế giao diện cập nhật danh mục nhân viên bao gồm các điều khiển sau:
Nhãn label:
Name: lblcapnhatdanhmucnhanvien Caption: CAP NHAT DANH MUC NHAN VIEN
Name: lblmanhanvien Caption: MA NHAN VIEN:
Name: lbltennhanvien Caption: TEN NHAN VIEN:
Name: lbldiachinhanvien Caption:DIA CHI NHAN VIEN:
Name: lbldtdd Caption: DTDD:
Nút lệnh Command Button:
Name: cmdbanghidau Caption: BAN GHI DAU
Name: cmdbanghitruoc Caption: BAN GHI TRUOC
Name: cmdbanghitiep Caption: BAN GHI TIEP
Name: cmdbanghicuoi Caption” BAN GHI CUOI
Name: cmdthem Caption: THEM
Name: cmdsua Caption: SUA
Name: cmdxoa Caption: XOA
Name: cmdthoat Caption: THOAT
Điều khiển ADO:
Hộp chữ Text box:
Name: txtmathukho Name: txttenthukho
Name: txtquequan Name: txtdtdd
Lưới hiển thị DataGrid
Name: DataGriddanhmucthukho Caption: DANH MUC NHAN VIEN
Điều khiển ADO:
Name: Adodcdanhmucnhanvien Caption: DANH MUC NHAN VIEN
Từ màn hình giao diện chính của chương trình khi click nút DANH MUC NHAN VIEN thì sẽ xuất hiện giao diện cập nhật danh mục nhân viên như sau:
Giao diện cập nhật danh mục nhân viên có các chức năng thêm mới, sửa, xoá, lưu lại thông tin của nhân viên trong danh mục nhân viên.
4.2.7 Thiết kế giao diện theo dõi hoá đơn bán hàng
Chức năng:
Giao diện theo dõi hoá đơn bán hàng có chức năng theo dõi hoá đơn bán hàng. Như thêm, sửa, xoá và lưu lại các hoá đơn bán hàng của cửa hàng.
Thiết kế giao diện theo dõi hoá đơn bán hàng bao gồm các điều khiển sau:
Nhãn Label:
Name: lbltheodoihoadonbanhang
Caption: THEO DOI HOA DON BAN HANG
Name: lblsohoadonbanhang Caption: SO HOA DON BAN HANG:
Name: lblngaynhap Caption: NGAY NHAP:
Name: lblmakhachhang Caption: MA KHACH HANG:
Name: lbltenkhachhang Caption: TEN KHACH HANG:
Name: lblmanhanvien Caption: MA NHAN VIEN:
Name: lbltennhanvien Caption: TEN NHAN VIEN:
Name: lbldiachinhanvien Caption: DIA CHI NHAN V IEN:
Nút lệnh Command Button:
Name: cmdbanghidau Caption: BAN GHI DAU
Name: cmdbanghitruoc Caption: VE BAN GHI TRUOC
Name: cmdbanghitieptheo Caption: BAN GHI TIEP
Name: cmdbanghicuoi Caption: BAN GHI CUOI
Name: cmdthem Caption: THEM
Name: cmdsua Caption: SUA
Name: cmdxoa Caption: XOA
Name: cmdluu Caption: LUU
Name: cmdthoat Caption: THOAT
Name:cmdthem1 Caption: THEM
Name: cmdsua1 Caption: SUA
Name: cmdxoa1 Caption: XOA
Name: cmdluu1 Caption: LUU
Hộp chữ Text box:
Name: txtsohoadonban Name: txttenkhachhang
Name: txttennhanvien Name: txtngaynhap
Name: txtdiachinhanvien Name: txtdiachikhachhang
Name: txtdienthoailienlac Name: txtdtdd
Hộp kết hợp DataCombo:
Name: DataCombomakhachhang Name: DataCombomanhanvien
Điều khiển ADO:
Name: Adodchoadonbanhang Caption: DIEU KHIEN
Name: Adodcchitiethoadonbanhang Caption: DIEU KHIEN
Lưới hiển thị DataGrid:
Name: DataGridhoadonbanhang Caption: HOA DON BAN HANG
Name: DataGridchitiethoadonban Caption: CHI TIET HOA DON BAN
Từ màn hình giao diện chính của chương trình, khi người sử dụng click nút HOA DON BAN HANG thì giao diện theo dõi hoá đơn bán hàng sẽ xuất hiện như sau:
Giao diện hoá đơn bán hàng có các chức năng thêm mới, sửa, xoá, lưu lại thông tin của hoá đơn bán hàng.
4.2.8 Thiết kế giao diện theo dõi hoá đơn nhập hàng
Chức năng:
Giao diện theo dõi hoá đơn nhập hàng có chức năng theo dõi hoá đơn nhập hàng. Như thêm, sửa, xoá và lưu lại các hoá đơn nhập hàng của cửa hàng.
Thiết kế giao diện theo dõi hoá đơn nhập hàng bao gồm các điều khiển sau:
Nhãn Label:
Name: lbltheodoihoadonnhaphang
Caption: THEO DOI HOA DON NHAP HANG
Name: lblsohoadonnhaphang
Caption: SO HOA DON NHAP HANG
Name: lblngaynhap Caption: NGAY NHAP:
Name: lblmanhacungcap Caption: MA NHA CUNG CAP:
Name: lbltennhacungcap Caption: TEN NHA CUNG CAP:
Name:lbldiachinhacungcap Caption: DIA CHI NHA CUNG CAP:
Name: lbldienthoailienlac Caption: DIEN THOAI LIEN LAC:
Name: lblmanhanvien Caption: MA NHAN VIEN:
Name: lbltennhanvien Caption: TEN NHAN V IEN:
Name: lbldiachi nhan vien Caption: DIA CHI NHAN VIEN:
Name: lbldtdd Caption: DTDD
Nút lệnh Command Button:
Name: cmdbanghidau Caption: BAN GHI DAU
Name: cmdbanghitruoc Caption: VE BAN GHI TRUOC
Name: cmdbanghitiep Caption: BAN GHI TIEP
Name: cmdbanghicuoi Caption:BAN GHI CUOI
Name: cmdthem Caption: THEM
Name: cmdsua Caption: SUA
Name: cmdxoa Caption: XOA
Name: cmdluu Caption: LUU
Name: cmdthoat Caption: THOAT
Name:cmdthem1 Caption: THEM
Name: cmdsua1 Caption: SUA
Name: cmdxoa1 Caption: XOA
Name: cmdluu1 Caption: LUU
Hộp chữ Text box:
Name: txtsophieunhap Name: txttennhacungcap
Name: txttennhanvien Name: txtngaynhap
Name: txtdiachinhacungcap Name: txtdiachinhanvien
Name: txtdienthoailienlac Name: txtdtdd
Hộp kết hợp DataCombo:
Name: DataCombomanhacungcap Name: DataCombomanhanvien
Name: DataCombomahang
Điều khiển ADO:
Name: Adodchoadonnhaphang Caption: DIEU KHIEN
Name: Adodcchitiethoadonnhaphang Caption: DIEU KHIEN
Lưới hiển thị DataGrid:
Name: DataGridhoadonnhaphang Caption: HOA DON NHAP HANG
Name: DataGridchitiethoadonnhaphang
Caption: CHI TIET HOA DON NHAP HANG
Từ màn hình giao diện chính của chương trình, khi người sử dụng click nút HOA DON NHAP HANG thì giao diện theo dõi hoá đơn nhập hàng sẽ xuất hiện như sau:
4.2.9 Thiết kế giao diện tìm kiếm mặt hàng
Chức năng
Giao diện tìm kiếm mặt hàng có chức năng tìm kiếm các loại mặt hàng có trong cửa hàng. Người sử dụng có thể tìm kiếm theo mã hàng, và có thể nhìn thấy tên hàng ngay trên giao diện tìm kiếm. Qua đó giúp cho việc tìm kiếm được nhanh chóng và thuận tiện.
Thiết kế giao diện tìm kiếm giấy bao gồm các điều khiển sau
Nhãn Label
Name: lbltimkiemmathang Caption: TIM KIEM MAT HANG
Name: lblmahang Caption: MA HANG:
Name: lbltenhang Caption: TEN HANG:
Name: lbldvt Caption: DON VI TINH
Name: lblmota Caption: MO TA:
Name:lblcua hang thanh Phuong
Caption: CUA HANG THANH PHUONG
Name: lblthinhdan
Caption: THINH DAN – TP.THAI NGUYEN
Nút lệnh Command Button
Name: cmdthoat Caption: THOAT
Hộp chữ Text box:
Name: txttenhang Name: txtdvt
Name: txtmota
Hộp kết hợp DataCombo
Name: DataCombomahang
4.2.10 Thiết kế giao diện tìm kiếm khách hàng
Chức năng
Giao diện tìm kiếm khách hàng có chức năng tìm kiếm các khách hàng mua hàng của cửa hàng. Người sử dụng có thể tìm kiếm theo mã khách hàng, và có thể nhìn thấy tên khách hàng ngay trên giao diện tìm kiếm. Qua đó giúp cho việc tìm kiếm được nhanh chóng và thuận tiện.
Thiết kế giao diện tìm kiếm giấy bao gồm các điều khiển sau
Nhãn Label
Name: lbltimkiemkhachhang Caption: TIM KIEM KHACH HANG
Name: lblmakhachhang Caption: MA KHACH HANG:
Name: lbltenkhachhang Caption: TEN KHACH HANG:
Name: lbldiachikhachhang Caption: DIA CHI KHACH HANG:
Name: lbldienthoailienlac Caption: DIEN THOAI LIEN LAC:
Name:lblcua hang thanh Phuong
Caption: CUA HANG THANH PHUONG
Name: lblthinhdan
Caption: THINH DAN – TP.THAI NGUYEN
Nút lệnh Command Button
Name: cmdthoat Caption: THOAT
Hộp chữ Text box:
Name: txttenkhachhang Name: txtdiachikhachhang
Name: txtdienthoailienlac
Hộp kết hợp DataCombo
Name: DataCombomakhachhang
4.2.11 Thiết kế giao diện tìm kiếm nhà cung cấp
Chức năng
Giao diện tìm kiếm nhà cung cấp có chức năng tìm kiếm các nhà cung cấp đã cung cấp hàng cho cửa hàng. Người sử dụng có thể tìm kiếm theo mã nhà cung cấp, và có thể nhìn thấy tên nhà cung cấp ngay trên giao diện tìm kiếm. Qua đó giúp cho việc tìm kiếm được nhanh chóng và thuận tiện.
Thiết kế giao diện tìm kiếm giấy bao gồm các điều khiển sau
Nhãn Label
Name: lbltimkiemnhacungcap
Caption: TIM KIEM NHA CUNG CAP
Name: lblmanhacungcap Caption: MA NHA CUNG CAP:
Name: lbltennhacungcap Caption: TEN NHA CUNG CAP:
Name: lbldiachinhacungcap Caption: DIA CHI NHA CUNG CAP:
Name: lbldienthoailienlac Caption: DIEN THOAI LIEN LAC:
Name:lblcua hang thanh Phuong
Caption: CUA HANG THANH PHUONG
Name: lblthinhdan
Caption: THINH DAN – TP.THAI NGUYEN
Nút lệnh Command Button
Name: cmdthoat Caption: THOAT
Hộp chữ Text box:
Name: txttennhacungcap Name: txtdiachinhacungcap
Name: txtdienthoailienlac
Hộp kết hợp DataCombo
Name: DataCombomanhacungcap
4.2.12 Thiết kế giao diện thống kê báo cáo
4.2.13 Thiết kế giao diện thống kê báo cáo hàng tồn
v 554.2.13 Thiết kế giao diện thống kê báo cáo hàng bán chạy
LỜI CẢM ƠN
Trong thời gian thực tập tốt nghiệp, em đã gặp nhiều khó khăn. Song với sự cố gắng lỗ lực và sự tìm tòi học hỏi của bản thân cùng với sự hướng dẫn tận tình của cô giáo Nguyễn Hiền Trinh, em đã hoàn thành được đề tài.
Trong thời gian làm đề tài thực tập tốt nghiệp, em đã hết sức nghiêm túc và cố gắng tìm tòi học hỏi cùng với sự giúp đỡ tận tình của cô giáo Nguyễn Hiền Trinh. Mặc dù, được sự hướng dẫn tận tình của cô giáo, và sự cố gắng tìm hiểu của bản thân nhưng do thời gian và kiến thức còn hạn chế nên đề tài của em không thể không tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo của thầy cô và các bạn giúp em hoàn thiện hơn.
Em xin chân thành cảm ơn cô đã hướng dẫn em để em hoàn thành tốt đề tài thực tập tốt nghiệp này.
Trong tương lai, em sẽ cố gắng phát triển đề tài theo hướng sâu hơn, với quy mô rộng hơn và có tính thực tế cao hơn, giúp cho công việc của người quản lý dễ dàng hơn. Trong tương lai, em sẽ cố gắng xây dựng được một phần mềm quản lý kho hàng hoàn thiện hơn.
Em xin chân thành cảm ơn !
KẾT LUẬN
Đánh giá
Bài toán quản lý là một bài toán phức tạp và nhiều chi tiết, nhất là đối với bài toán quản lý bán hàng có nhiều thay đổi, để giải quyết được bài toán quản lý bán hàng một cách chi tiết và rõ ràng thì người giải quyết bài toán phải nắm rõ những mục đích cũng như yêu cầu mà bài toán đặt ra, và các khả năng có thể xảy ra đối với bài toán.
Với thời gian tìm hiểu, nghiên cứu và khảo sát không nhiều cũng như kinh nghiệm còn nhiều hạn chế, bản thân em cũng rất cố gắng cùng với sự giúp đỡ tận tình của cô giáo và các bạn cùng lớp để bài toán của em được hoàn thiện hơn. Em hy vọng rằng trong tương lai, chương trình sẽ được sử dụng phổ biến và rộng rãi trong các lĩnh vực kinh doanh.
Vì thời gian và kinh nghiệm còn nhiều hạn chế nên chương trình của em không thể tránh khỏi những sai sót, em rất mong được sự góp ý, bổ sung chân thành của các thầy cô trong khoa và các bạn để chương trình ngày càng được hoàn thiện hơn.
Hệ thống quản lý bán hàng đã làm được các việc như:
- Cho phép nhập dữ liệu một cách nhanh chóng chính xác và thuận tiện.
- Cập nhật thông tin một cách nhanh chóng và đầy đủ khi có thay đổi.
- Chương trình tự động tổng hợp, tìm kiếm, sắp xếp, chỉnh sửa và cho kết quả tin cậy và đúng yêu cầu.
- Giảm bớt công việc và thời gian làm sổ sách, thống kê, báo cáo.
- Lưu trữ dễ dàng, tránh nhầm lẫn, lộn xộn, mất mát, hư hỏng các chứng từ thu chi.
Hướng phát triển của bài toán trong tương lai
Chương trình được xây dựng trong thời gian ngắn và kiến thức còn nhiều hạn chế. Vì vậy chương trình không thể tránh khỏi những thiếu sót và những điểm chưa phù hợp với yêu cầu của thực tế đặt ra.
Chương trình quản lý bán hàng áp dụng cho nhiều máy tính văn phòng cũng như máy tính cá nhân. Trong tương lai với sự mở rộng và phát triển qui mô của cửa hàng, chương trình sẽ được nâng cao để có thể áp dụng cho các phần mềm nghiệp vụ kế toán, chức năng tự động tính giá bán của sản phẩm và áp dụng trên hệ thống các mạng.
Từ những bất cập thường mắc phải trong thực tế, em thấy cần phải xây dựng một hệ thống mới đạt được các yêu cầu sau:
-Khắc phục được những hạn chế của hệ thống hiện tại.
-Bổ sung thêm các chức năng mà người sử dụng yêu cầu.
-Dễ dàng sử dụng.
-Làm việc một cách nhanh chóng và đạt hiệu quả cao.
-Đáp ứng tốt các yêu cầu, báo cáo, thống kê.
Þ Tóm lại, việc xây dựng và thiết kế một hệ thống quản lý, nhằm đáp ứng và khắc phục được những hạn chế, đang tồn tại trong hệ thống cũ và mang tính thực tiễn cao.
Em xin chân thành cảm ơn cô giáo đã tạo điều kiện hướng dẫn em hoàn thành đề tài này.
Em xin chân thành cảm ơn !
Thái nguyên, tháng 10 năm 2008
Sinh viên thực hiện
Đỗ Thanh Trang
TÀI LIỆU THAM KHẢO
1. Phân tích thiết kế hệ thống thông tin - Nguyễn Văn Ba – NXB Đại học quốc gia Hà Nội.
2. Giáo trình Microsoft Access căn bản và nâng cao – Bùi Thế Tâm – NXB Đại học quốc gia Hà Nội.
3. Cơ sở dữ liệu – lý thuyết và thực hành, Nguyễn Bá Tường, NXB khoa học kỹ thuật.
4. Nhập môn cơ sở dữ liệu, Lê Tiến Vương, Nhà xuất bản Thống kê, 2000.
5. Mcrosoft Access 2000 lập trình ứng dụng cơ sở dữ liệu, Nguyễn Đình Tê, NXB Lao động-xã hội, 2004.
6. Quản trị cơ sở dữ liệu với Microsoft Access 97- Ông Văn Thông.
7. Microsoft Visual Basic 6.0 lập trình cơ sở dữ liệu, Nguyễn Thị Ngọc Mai, Nhà xuất bản lao động xã hội, 2006.
8. Giáo trình lập trình cơ sở dữ liệu với Visual Basic, Nguyễn Văn Toàn, Nguyễn Thị Kim Phụng, Nguyễn Đình Loan Phương, Đại học quốc gia thành phố HCM, 2003.
9. Tự học lập trình Visual Basic 6.0, Trương Công Tuân, Nguyễn Văn Dũng, Nhà xuất bản Văn Hoá Thông Tin.
10. Những bài thực hành Cơ sở dữ liệu Visual Basic 6.0 căn bản, Nhà xuất bản thống kê, 2004.
PHỤ LỤC
Một số đoạn mã lệnh của chương trình
+ Form đăng nhập vào hệ thống
Private Sub cmddangnhap_Click()
Me.txtmatkhau.Enabled = True
Me.txtten.Enabled = True
Me.cmddangnhap.Enabled = False
Me.cmddongy.Enabled = True
End Sub
Private Sub cmddongy_Click()
If (txtten = "Trang") And (txtmatkhau = "123") Then
frmchinh.Show
Else
returnvalue = MsgBox("Ban nhap sai ten dang nhap hoac mat khau, Yeu cau ban nhap lai", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
txtten = ""
txtmatkhau = ""
Else: End
End If
End If
End Sub
Private Sub cmdthoat_Click()
returnvalue = MsgBox("Ban co muon thoat khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
End
End If
Exit Sub
End Sub
Private Sub Form_Load()
Me.txtmatkhau.Enabled = False
Me.txtten.Enabled = False
Me.cmddongy.Enabled = False
End Sub
Private Sub txtmatkhau_Click()
Me.txtmatkhau = ""
End Sub
Private Sub txtmatkhau_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter chuyen sang cmddangnhap
Me.cmddongy.SetFocus
End Select
End Sub
Private Sub txtten_Click()
Me.txtten = ""
End Sub
Private Sub txtten_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter chuyen sang txtmatkhau
Me.txtmatkhau.SetFocus
End Select
End Sub
+ Form chính
Private Sub cmdbaocao_Click()
Me.frabaocao.Enabled = True
Me.cmdbaocao.Enabled = True
Me.cmdbaocaohangbanchay.Enabled = True
Me.cmdbaocaohangton.Enabled = True
Me.cmdquaylai.Enabled = True
Me.cmddanhmuchang.Enabled = False
Me.cmddanhmuckhachhang.Enabled = False
Me.cmddanhmucnhacungcap.Enabled = False
Me.cmddanhmucnhanvien.Enabled = False
Me.fracapnhat.Enabled = False
Me.frachucnang.Enabled = False
Me.fratheodoi.Enabled = False
Me.fratimkiem.Enabled = False
Me.cmdtimkiem.Enabled = False
Me.cmdtimkiemkhachhang.Enabled = False
Me.cmdtimkiemmathang.Enabled = False
Me.cmdtimkiemnhacungcap.Enabled = False
Me.cmdtheodoi.Enabled = False
Me.cmdhoadonbanhang.Enabled = False
Me.cmdhoadonnhaphang.Enabled = False
Me.cmdtrogiup.Enabled = False
End Sub
Private Sub cmdbaocaohangbanchay_Click()
DataReporthangbanchay.Show
End Sub
Private Sub cmdbaocaohangton_Click()
DataReporthangton.Show
End Sub
Private Sub cmdcapnhat_Click()
Me.fracapnhat.Enabled = True
Me.cmddanhmuchang.Enabled = True
Me.cmddanhmuckhachhang.Enabled = True
Me.cmddanhmucnhacungcap.Enabled = True
Me.cmddanhmucnhanvien.Enabled = True
Me.cmdquaylai.Enabled = True
Me.frachucnang.Enabled = False
Me.fratheodoi.Enabled = False
Me.fratimkiem.Enabled = False
Me.frabaocao.Enabled = False
Me.cmdtheodoi.Enabled = False
Me.cmdhoadonbanhang.Enabled = False
Me.cmdhoadonnhaphang.Enabled = False
Me.cmdtimkiem.Enabled = False
Me.cmdtimkiemkhachhang.Enabled = False
Me.cmdtimkiemmathang.Enabled = False
Me.cmdtimkiemnhacungcap.Enabled = False
Me.cmdbaocao.Enabled = False
Me.cmdbaocaohangbanchay.Enabled = False
Me.cmdbaocaohangton.Enabled = False
Me.cmdtrogiup.Enabled = False
End Sub
Private Sub cmddanhmuchang_Click()
frmdanhmuchang.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmddanhmuckhachhang_Click()
frmdanhmuckhachhang.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmddanhmucnhacungcap_Click()
frmdanhmucnhacungcap.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmddanhmucnhanvien_Click()
frmdnahmucnhanvien.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmdhoadonbanhang_Click()
frmhoadonbanhang.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmdhoadonnhaphang_Click()
frmhoadonnhaphang.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmdquaylai_Click()
Me.frachucnang.Enabled = True
Me.cmdcapnhat.Enabled = True
Me.cmdtheodoi.Enabled = True
Me.cmdtimkiem.Enabled = True
Me.cmdbaocao.Enabled = True
Me.cmdtrogiup.Enabled = True
Me.fracapnhat.Enabled = False
Me.fratheodoi.Enabled = False
Me.frabaocao.Enabled = False
Me.fratimkiem.Enabled = False
Me.cmddanhmuchang.Enabled = False
Me.cmddanhmuckhachhang.Enabled = False
Me.cmddanhmucnhacungcap.Enabled = False
Me.cmddanhmucnhanvien.Enabled = False
Me.cmdhoadonnhaphang.Enabled = False
Me.cmdhoadonbanhang.Enabled = False
Me.cmdtimkiemmathang.Enabled = False
Me.cmdtimkiemkhachhang.Enabled = False
Me.cmdtimkiemnhacungcap.Enabled = False
Me.cmdbaocaohangton.Enabled = False
Me.cmdbaocaohangbanchay.Enabled = False
Me.cmdthoat.Enabled = True
End Sub
Private Sub cmdtheodoi_Click()
Me.fratheodoi.Enabled = True
Me.cmdtheodoi.Enabled = True
Me.cmdhoadonbanhang.Enabled = True
Me.cmdhoadonnhaphang.Enabled = True
Me.cmdquaylai.Enabled = True
Me.fracapnhat.Enabled = False
Me.cmdcapnhat.Enabled = False
Me.cmddanhmuchang.Enabled = False
Me.cmddanhmuckhachhang.Enabled = False
Me.cmddanhmucnhacungcap.Enabled = False
Me.cmddanhmucnhanvien.Enabled = False
Me.fratimkiem.Enabled = False
Me.cmdtimkiem.Enabled = False
Me.cmdtimkiemmathang.Enabled = False
Me.cmdtimkiemkhachhang.Enabled = False
Me.cmdtimkiemnhacungcap.Enabled = False
Me.frabaocao.Enabled = False
Me.cmdbaocao.Enabled = False
Me.cmdbaocaohangbanchay.Enabled = False
Me.cmdbaocaohangton.Enabled = False
Me.cmdtrogiup.Enabled = False
End Sub
Private Sub cmdthoat_Click()
returnvalue = MsgBox("Ban co muon thoat khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
End
End If
Exit Sub
End Sub
Private Sub cmdtimkiem_Click()
Me.fratimkiem.Enabled = True
Me.cmdtimkiem.Enabled = True
Me.cmdtimkiemmathang.Enabled = True
Me.cmdtimkiemkhachhang.Enabled = True
Me.cmdtimkiemnhacungcap.Enabled = True
Me.cmdquaylai.Enabled = True
Me.fratheodoi.Enabled = False
Me.cmdtheodoi.Enabled = False
Me.cmdhoadonbanhang.Enabled = False
Me.cmdhoadonnhaphang.Enabled = False
Me.fracapnhat.Enabled = False
Me.cmdcapnhat.Enabled = False
Me.cmddanhmuchang.Enabled = False
Me.cmddanhmuckhachhang.Enabled = False
Me.cmddanhmucnhacungcap.Enabled = False
Me.cmddanhmucnhanvien.Enabled = False
Me.frabaocao.Enabled = False
Me.cmdbaocao.Enabled = False
Me.cmdbaocaohangbanchay.Enabled = False
Me.cmdbaocaohangton.Enabled = False
Me.cmdtrogiup.Enabled = False
End Sub
Private Sub cmdtimkiemkhachhang_Click()
frmtimkiemkhachhang.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmdtimkiemmathang_Click()
frmtimkiemmathang.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmdtimkiemnhacungcap_Click()
frmtimkiemnhacungcap.Show
frmchinh.Hide
frmdangnhap.Hide
End Sub
Private Sub cmdtrogiup_Click()
frmchinh.Hide
frmdangnhap.Hide
frmtrogiup.Show
End Sub
Private Sub Form_Load()
Me.fracapnhat.Enabled = False
Me.fratheodoi.Enabled = False
Me.fratimkiem.Enabled = False
Me.frabaocao.Enabled = False
Me.cmddanhmuchang.Enabled = False
Me.cmddanhmuckhachhang.Enabled = False
Me.cmddanhmucnhacungcap.Enabled = False
Me.cmddanhmucnhanvien.Enabled = False
Me.cmdhoadonnhaphang.Enabled = False
Me.cmdhoadonbanhang.Enabled = False
Me.cmdquaylai.Enabled = False
Me.cmdbaocaohangton.Enabled = False
Me.cmdbaocaohangbanchay.Enabled = False
Me.cmdtimkiemmathang.Enabled = False
Me.cmdtimkiemkhachhang.Enabled = False
Me.cmdtimkiemnhacungcap.Enabled = False
End Sub
+ Form cập nhật danh mục hàng
Private Sub cmdbanghicuoi_Click()
Me.Adodcdanhmuchang.Recordset.MoveLast
End Sub
Private Sub cmdbanghidau_Click()
Me.Adodcdanhmuchang.Recordset.MoveFirst
End Sub
Private Sub cmdbanghitiep_Click()
Me.Adodcdanhmuchang.Recordset.MoveNext
End Sub
Private Sub cmdbanghitruoc_Click()
Me.Adodcdanhmuchang.Recordset.MovePrevious
End Sub
Private Sub cmdluu_Click()
Adodcdanhmuchang.Recordset.Save
Me.cmdluu.Enabled = True
Me.cmdsua.Enabled = True
Me.cmdthem.Enabled = True
Me.cmdxoa.Enabled = True
Me.cmdthoat.Enabled = True
End Sub
Private Sub cmdsua_Click()
mo_khoa 'Goi thu tuc mo khoa cac text box
Me.Adodcdanhmuchang.Recordset.Update
Me.cmdthem.Enabled = False
Me.cmdxoa.Enabled = False
Me.cmdsua.Enabled = True
Me.cmdluu.Enabled = True
End Sub
Private Sub cmdthem_Click()
mo_khoa 'Goi thu tuc mo khoa cac text box
Me.cmdsua.Enabled = False
Me.cmdxoa.Enabled = False
Me.cmdthem.Enabled = True
Me.cmdluu.Enabled = True
Me.cmdthoat.Enabled = True
Me.Adodcdanhmuchang.Recordset.MoveLast
Me.Adodcdanhmuchang.Recordset.AddNew
End Sub
Private Sub mo_khoa()
Me.txtmahang.Enabled = True
Me.txttenhang.Enabled = True
Me.txtdvt.Enabled = True
Me.txtmota.Enabled = True
Me.txtmahang.SetFocus
End Sub
Private Sub cmdthoat_Click()
returnvalue = MsgBox("Ban co muon thoat khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
frmdanhmuchang.Hide
frmchinh.Show
End If
End Sub
Private Sub khoa()
Me.txtmahang.Enabled = False
Me.txttenhang.Enabled = False
Me.txtdvt.Enabled = False
Me.txtmota.Enabled = False
Me.DataGriddanhmuchang.Enabled = False
End Sub
Private Sub cmdxoa_Click()
If (Adodcdanhmuchang.Recordset.BOF = False) And (Adodcdanhmuchang.Recordset.EOF = False) Then
returnvalue = MsgBox("Ban co muon xoa ban ghi nay khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
Adodcdanhmuchang.Recordset.Delete
Adodcdanhmuchang.Recordset.MoveNext
End If
Exit Sub
End If
Me.cmdthem.Enabled = False
Me.cmdsua.Enabled = False
Me.cmdluu.Enabled = True
Me.cmdthoat.Enabled = True
Me.cmdxoa.Enabled = True
End Sub
Private Sub Form_Load()
khoa 'Khoa cac text box truoc khi bat dau load form
'An dieu khien adodc
Me.Adodcdanhmuchang.Visible = False
End Sub
+ Form hoá đơn nhập hàng
Private Sub cmdbanghicuoi_Click()
Me.Adodchoadonban.Recordset.MoveLast
End Sub
Private Sub cmdbanghidau_Click()
Me.Adodchoadonban.Recordset.MoveFirst
End Sub
Private Sub cmdbanghitiep_Click()
Me.Adodchoadonban.Recordset.MoveNext
End Sub
Private Sub cmdbanghitruoc_Click()
Me.Adodchoadonban.Recordset.MovePrevious
End Sub
Private Sub cmdcuoi_Click()
Me.Adodcchitiethoadonban.Recordset.MoveLast
End Sub
Private Sub cmddau_Click()
Me.Adodcchitiethoadonban.Recordset.MoveFirst
End Sub
Private Sub cmdluu_Click()
Me.Adodchoadonban.Recordset.Save
Me.cmdsua.Enabled = True
Me.cmdthem.Enabled = True
Me.cmdxoa.Enabled = True
Me.cmdxoa1.Enabled = True
Me.cmdthoat.Enabled = True
Me.cmdluu.Enabled = True
Me.cmdluu1.Enabled = True
Me.cmdsua1.Enabled = True
Me.cmdthem1.Enabled = True
End Sub
Private Sub cmdluu1_Click()
Me.Adodcchitiethoadonban.Recordset.Save
Me.cmdluu1.Enabled = True
Me.cmdsua1.Enabled = True
Me.cmdxoa1.Enabled = True
Me.cmdthem1.Enabled = True
End Sub
Private Sub cmdsua_Click()
mo_khoa 'Goi thu tuc mo khoa cac text box
Me.Adodchoadonban.Recordset.Update
Me.cmdthem.Enabled = False
Me.cmdxoa.Enabled = False
Me.cmdsua.Enabled = True
Me.cmdluu.Enabled = True
End Sub
Private Sub cmdsua1_Click()
mo_khoa 'Goi thu tuc mo khoa cac text box
Me.Adodcchitiethoadonban.Recordset.Update
Me.cmdluu.Enabled = True
Me.cmdsua.Enabled = True
Me.cmdthoat.Enabled = True
Me.cmdxoa.Enabled = False
Me.cmdthem.Enabled = False
End Sub
Private Sub cmdthem_Click()
mo_khoa 'Goi thu tuc mo khoa cac text box
Me.Adodchoadonban.Recordset.MoveLast
Me.Adodchoadonban.Recordset.AddNew
Me.cmdluu.Enabled = True
Me.cmdthem.Enabled = True
Me.cmdsua.Enabled = False
Me.cmdxoa.Enabled = False
End Sub
Private Sub cmdthem1_Click()
mo_khoa 'Goi thu tuc mo khoa cac text box
Me.Adodcchitiethoadonban.Recordset.MoveLast
Me.Adodcchitiethoadonban.Recordset.AddNew
Me.cmdthem1.Enabled = True
Me.cmdluu1.Enabled = True
Me.cmdsua1.Enabled = False
Me.cmdxoa1.Enabled = False
End Sub
Private Sub cmdthoat_Click()
returnvalue = MsgBox("Ban co muon thoat khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
frmhoadonbanhang.Hide
frmchinh.Show
End If
End Sub
Private Sub cmdtiep_Click()
Me.Adodcchitiethoadonban.Recordset.MoveNext
End Sub
Private Sub cmdtruoc_Click()
Me.Adodcchitiethoadonban.Recordset.MovePrevious
End Sub
Private Sub mo_khoa()
Me.txtsohoadonban.Enabled = True
Me.txtngayban.Enabled = True
Me.txtdongia.Enabled = True
Me.txtsoluong.Enabled = True
Me.DataCombomahang.Enabled = True
Me.DataCombomakhachhang.Enabled = True
Me.DataCombomanhanvien.Enabled = True
End Sub
Private Sub khoa()
Me.txtsohoadonban.Enabled = False
Me.txtngayban.Enabled = False
Me.txtdongia.Enabled = False
Me.txtsoluong.Enabled = False
Me.txttenkhachhang.Enabled = False
Me.txttennhanvien.Enabled = False
Me.txtdiachikhachhang.Enabled = False
Me.txtdiachinhanvien.Enabled = False
Me.txtdtdd.Enabled = False
Me.txtdienthoailienlac.Enabled = False
Me.DataCombomahang.Enabled = False
Me.DataCombomakhachhang.Enabled = False
Me.DataCombomanhanvien.Enabled = False
Me.DataGridhoadonban.Enabled = False
Me.DataGridchitiethoadonban.Enabled = False
End Sub
Private Sub cmdxoa_Click()
If (Adodchoadonban.Recordset.BOF = False) And (Adodchoadonban.Recordset.EOF = False) Then
returnvalue = MsgBox("Ban co muon xoa ban ghi nay khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
Me.Adodchoadonban.Recordset.Delete
Me.Adodchoadonban.Recordset.MoveNext
End If
Exit Sub
End If
End Sub
Private Sub cmdxoa1_Click()
If (Adodcchitiethoadonban.Recordset.BOF = False) And (Adodcchitiethoadonban.Recordset.EOF = False) Then
returnvalue = MsgBox("Ban co muon xoa ban ghi nay khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
Me.Adodcchitiethoadonban.Recordset.Delete
Me.Adodcchitiethoadonban.Recordset.MoveNext
End If
Exit Sub
End If
End Sub
Private Sub DataCombomahang_Click(Area As Integer)
Me.DataGridchitiethoadonban.Columns("Mahang") = Me.DataCombomahang.Text
Me.DataGridchitiethoadonban.Columns("Tenhang") = Me.txttenhang.Text
Me.DataGridchitiethoadonban.Columns("Dongiaban") = Me.txtdongia.Text
Me.DataGridchitiethoadonban.Columns("Soluongban") = Me.txtsoluong.Text
End Sub
Private Sub DataCombomanhacungcap_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter se chuyen sang datacombomathkho
Me.DataCombomanhanvien.SetFocus
End Select
End Sub
Private Sub DataCombomanhanvien_Change()
If IsNull(Me.Adodchoadonban.Recordset.Fields("Manhanvien")) = True Then
txttennhanvien.Text = ""
txtdiachinhanvien.Text = ""
txtdtdd.Text = ""
Else
If Me.DataCombomanhanvien.SelectedItem > 0 Then
Me.Adodcdanhmucnhanvien.Recordset.Bookmark = Me.DataCombomanhanvien.SelectedItem
txttennhanvien.Text = Me.Adodcdanhmucnhanvien.Recordset.Fields("Tennhanvien")
txtdiachinhanvien.Text = Me.Adodcdanhmucnhanvien.Recordset.Fields("Diachinhanvien")
txtdtdd.Text = Me.Adodcdanhmucnhanvien.Recordset.Fields("DTDD")
End If
End If
End Sub
Private Sub DataCombomahang_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter se chuyen sang soluong
Me.txtsoluong.SetFocus
End Select
End Sub
Private Sub DataCombomakhachhang_Change()
If IsNull(Me.Adodchoadonban.Recordset.Fields("Makhachhang")) = True Then
txttenkhachhang.Text = ""
txtdiachikhachhang.Text = ""
txtdienthoailienlac.Text = ""
Else
If Me.DataCombomakhachhang.SelectedItem > 0 Then
Me.Adodcdanhmuckhachhang.Recordset.Bookmark = Me.DataCombomakhachhang.SelectedItem
txttenkhachhang.Text = Me.Adodcdanhmuckhachhang.Recordset.Fields("Tenkhachhang")
txtdiachikhachhang.Text = Me.Adodcdanhmuckhachhang.Recordset.Fields("Diachikhachhang")
txtdienthoailienlac.Text = Me.Adodcdanhmuckhachhang.Recordset.Fields("Dienthoailienlac")
End If
End If
End Sub
Private Sub DataCombomakhachhang_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter se chuyen sang manhanvien
Me.DataCombomanhanvien.SetFocus
End Select
End Sub
Private Sub DataCombomanhanvien_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter se chuyen sang txtngaynhap
Me.txtngaynhap.SetFocus
End Select
End Sub
Private Sub txtsohoadonban_KeyPress(KeyAscii As Integer)
If Me.txtsohoadonban = "HDB01" Then
MsgBox "Ban da nhap 2 so hoa don ban trung nhau. Yeu cau nhap lai !"
If returvalue = vbOK Then
Me.txtsohoadonban = ""
End If
End If
If Me.txtsohoadonban = "HDB02" Then
MsgBox "Ban da nhap 2 so hoa don ban trung nhau. Yeu cau nhap lai !"
If returvalue = vbOK Then
Me.txtsohoadonban = ""
End If
End If
If Me.txtsohoadonban = "HDB03" Then
MsgBox "Ban da nhap 2 so hoa don ban trung nhau. Yeu cau nhap lai !"
If returvalue = vbOK Then
Me.txtsohoadonban = ""
End If
End If
If Me.txtsohoadonban = "HDB04" Then
MsgBox "Ban da nhap 2 so hoa don ban trung nhau. Yeu cau nhap lai !"
If returvalue = vbOK Then
Me.txtsohoadonban = ""
End If
End If
If Me.txtsohoadonban = "HDB05" Then
MsgBox "Ban da nhap 2 so hoa don ban trung nhau. Yeu cau nhap lai !"
If returvalue = vbOK Then
Me.txtsohoadonban = ""
End If
End If
Select Case KeyAscii
Case 13 'Nhan enter se chuyen sang datacombomanhacungcap
Me.DataCombomakhachhang.SetFocus
End Select
End Sub
Private Sub Form_Load()
Set DataCombomakhachhang.DataSource = Adodchoadonban
DataCombomakhachhang.DataField = "Makhachhang"
Set DataCombomakhachhang.RowSource = Adodcdanhmuckhachhang
DataCombomakhachhang.ListField = "Makhachhang"
DataCombomakhachhang.BoundColumn = "Makhachhang"
Set DataCombomanhanvien.DataSource = Adodchoadonban
DataCombomanhanvien.DataField = "Manhanvien"
Set DataCombomanhanvien.RowSource = Adodcdanhmucnhanvien
DataCombomanhanvien.ListField = "Manhanvien"
DataCombomanhanvien.BoundColumn = "Manhanvien"
Set DataCombomahang.DataSource = Adodcchitiethoadonban
DataCombomahang.DataField = "Mahang"
Set DataCombomahang.RowSource = Adodcdanhmuchang
DataCombomahang.ListField = "Mahang"
DataCombomahang.BoundColumn = "Mahang"
khoa 'Goi thu tuc khoa cac text box
Me.Adodcdanhmuchang.Visible = False
Me.Adodcdanhmuckhachhang.Visible = False
Me.Adodcdanhmucnhanvien.Visible = False
Me.Adodcchitiethoadonban.Visible = False
Me.Adodchoadonban.Visible = False
End Sub
Private Sub txtngayban_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter se chuyen con tro sang makhachhang
Me.DataCombomakhachhang.SetFocus
End Select
End Sub
Private Sub txtsoluong_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13 'Nhan enter se luu lai
Me.cmdluu1.SetFocus
End Select
If KeyAscii Asc("9") Then
KeyAscii = 0 'Huy bo phim duoc nhap
Beep 'Phat am thanh beep bao loi
returnvalue = MsgBox("Ban da nhap sai kieu du lieu. Hay nhap lai kieu so", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
Me.txtsoluong.SetFocus
End If
End If
End Sub
Private Sub txtdongia_KeyPress(KeyAscii As Integer)
If KeyAscii Asc("9") Then
KeyAscii = 0 'Huy bo phim duoc nhap
Beep 'Phat am thanh beep bao loi
returnvalue = MsgBox("Ban da nhap sai kieu du lieu. Hay nhap lai kieu so", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
Me.txtdongia.SetFocus
End If
End If
End Sub
+ Form tìm kiếm mặt hàng
Private Sub cmdthoat_Click()
returnvalue = MsgBox("Ban co muon thoat khong?", vbOKCancel + vbQuestion, "Notice")
If returnvalue = vbOK Then
Unload Me
frmchinh.Show
End If
End Sub
Private Sub DataCombomahang_Change()
If IsNull(Adodcchitiethoadonnhap.Recordset.Fields("Mahang")) = True Then
Me.txttenhang.Text = ""
Me.txtdvt.Text = ""
Me.txtmota.Text = ""
Else
If Me.DataCombomahang.SelectedItem > 0 Then
Me.Adodcdanhmuchang.Recordset.Bookmark = Me.DataCombomahang.SelectedItem
Me.txttenhang.Text = Me.Adodcdanhmuchang.Recordset.Fields("Tenhang")
Me.txtdvt.Text = Me.Adodcdanhmuchang.Recordset.Fields("Donvitinh")
Me.txtmota.Text = Me.Adodcdanhmuchang.Recordset.Fields("Mota")
End If
End If
End Sub
Private Sub Form_Load()
Set DataCombomahang.DataSource = Adodcchitiethoadonnhap
DataCombomahang.DataField = "Mahang"
Set DataCombomahang.RowSource = Adodcdanhmuchang
DataCombomahang.ListField = "Mahang"
DataCombomahang.BoundColumn = "Mahang"
Me.Adodcchitiethoadonnhap.Visible = False
Me.Adodcdanhmuchang.Visible = False
Me.txttenhang.Enabled = False
Me.txtdvt.Enabled = False
Me.txtmota.Enabled = False
End Sub
+ Form thống kê báo cáo hàng tồn
SELECT Danhmuchang.Mahang, Danhmuchang.Tenhang, Danhmuchang.Donvitinh, Danhmuchang.Mota,
Chitiethoadonban.Soluongban, Chitiethoadonmua.Soluongmua,
Chitiethoadonmua.Soluongmua - Chitiethoadonban.Soluongban AS
Soluongton
FROM Chitiethoadonban, Danhmuchang, Chitiethoadonmua
WHERE Chitiethoadonban.Mahang = Danhmuchang.Mahang AND
Danhmuchang.Mahang = Chitiethoadonmua.Mahang
+ Form thống kê báo cáo hàng bán chạy
SELECT Danhmuchang.Mahang, Danhmuchang.Tenhang,
Danhmuchang.Donvitinh, Danhmuchang.Mota,
Chitiethoadonban.Soluongban
FROM Chitiethoadonban, Danhmuchang
WHERE Chitiethoadonban.Mahang = Danhmuchang.Mahang AND
NHẬN XÉT CỦA GIÁO VIÊN
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Sinh viên thực hiện
Đỗ Thanh Trang