Đề tài Chương trinh quản lí bán hàng

 Với sự phát triển của tin học và công nghệ thông tin như hiện nay thì việc ứng dụng tin học vào tất cả các lĩnh vực của đời sống xã hội là điều tất yếu. Mục đích nhằm tăng tốc độ xử lí tự động, đồng thời giảm xử lí thủ công của con người.

Kỹ thuật số có thể làm thay đổiquy trình sản xuất và quy trình kinh doanh của mỗi doanh nghiệp. Nó có thể giải phóng nhân viên khỏi những quy trình chậm chạp, cứng nhắc của việc xử lý giấy tờ hành chính. Việc thay thế những quy trình xử lý giấy tờ bằng quy trình xử lý kỹ thuật số sẽ giải phóng người nhân viên tri thức để họ có thể làm những công việc có lợi hơn.

 

doc36 trang | Chia sẻ: maiphuongdc | Lượt xem: 1745 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Chương trinh quản lí bán hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n lý bán hàng “ nhằm hoàn thiện hơn quá trình quản lý là hết sức cần thiết . Công việc chính của quá trình của quản lý bán hàng là thiết kế nên một chương trình nhập liệu vào máy tính và quản lý và xử lý các chỉ tiêu từ các số liệu được nhập. Xét thấy khả năng và trình độ bản thân phù hợp, hơn nữa đề tài có thể đáp ứng kịp thời phục vụ cho công việc quản lý bán hàng, nên em đã quyết định chọn đề tài này. 2. Mục đích nghiên cứu của đề tài. Đề tài này được nghiên cứu trên cơ sở phân tích thực trạng của vấn đề bán hàng ở một trung tâm thương mại, kết hợp với nghiên cứu các vấn đề: Nhập số liệu Xử lí số liệu Kết xuất báo cáo 3. Khả năng áp dụng và vị trí của đề tài. Chương trình có khả năng áp dụng cho các trung tâm thương mại vừa và nhỏ Chương trình có khả năng nhập vào các hoá đơn và in ra các hoá đơn, kết xuất nhanh các báo cáo: Báo cáo tồn kho Báo cáo lợi nhuận Báo cáo doanh thu từng gian hàng .... 4. Phương án và giải pháp để thực hiện đề tài. 4.1 Phương pháp tổng hợp số liệu. Phương pháp này đòi hỏi phải xây dựng nhiệm vụ cho từng bộ phận của chương trình nhưng phải đảm bảo lôgic toán học trong hệ thống để sau này có thể xây dựng được các mảng cơ bản trên từng nhiệm vụ đó. Ưu điểm : Phương pháp này cho phép đưa dần hệ thống vào làm việc theo từng giai đoạn và nhanh chóng thu được kết quả. Nhược điểm : Các thông tin dễ bị trùng lặp dẫn đến các thao tác không cần thiết. 4.2 Phương pháp phân tích số liệu Phương pháp này có nhiệm vụ đầu tiên là phải xây dựng bảo đảm hệ thống hoàn chỉnh sau đó xây dựng các chương trình làm việc và thiết lập các mảng làm việc cho chương trình đó. Ưu điểm : Phương pháp này cho phép tránh được việc thiết lập các mảng làm việc một cách thủ công. Nhược điểm : Hệ thống chỉ hoạt động khi đưa vào đồng thời toàn bộ các mảng này vào sử dụng. 4.3 Phương pháp tổng hợp và phân tích Đây là phương pháp kết hợp đồng thời cả hai phương pháp trên. Tiến hành đồng thời việc xây dựngcác mảng cơ bản và các thao tác cũng như các nhiệm vụ cần thiết. Phương pháp yêu cầ phải tổ chức chặt chẽ đảm bảo tính nhất quán của thông tin trong hệ thống. 4.4 Ngôn ngữ viết chương trình Lựa chọn ngôn ngữ lập trình đóng vai trò quan trọng đối với sự thành công của chương trình. Mỗi ngôn ngữ đều có những điểm mạnh và điểm yếu riêng. Việc lựa chọn ngôn ngữ lập trình dựa trên nhiều yếu tố khách quan và chủ quan như : khả năng của người sử dụng, thói quen của người sử dụng, yêu cầu về môi trường làm việc nhu cầu thực tế của công việc đòi hỏi người làm chương trình phải lựa chọn ngôn ngữ thích hợp... Chương trình : “Quản lí bán hàng” Được thực hiện trên ngôn ngữ Visual Basic với Hệ quản trị cơ sở dữ liệu Microsoft Access. Đây là ngôn ngữ lập trình hướng đối tượng (Object Oriented Programing Language), là một ngôn ngữ mới có nhiều tính năng ưu việt dễ sử dụng với nhiều hỗ trợ sử dụng khác với ngôn ngữ lập trình thủ tục (Procedure Programing Language) truyền thống. Ngôn ngữ Visual Basic đã được cải tiến và phát triển đến phiên bản thứ 6 và trở thành một hệ thống mở. Nó có khả năng sử dụng cơ sở dữ liệu của các phần mềm Quản trị cơ sở dữ liệu khác nhau như: Microsoft Access, Visual Foxpro, Database, Oracle ... Và đặc biệt là sử dụng các cơ sở dữ liệu của SQL Server dành cho các ứng dụng trên mạng. Đặc biệt, phần lớn các ứng dụng sử dụng tại Trung tâm tính toán trung ương trước đây được phát triển trên các phần mềm quản trị cơ sở dữ liệu đồng thời : Foxpro For Windows và Foxpro For Dos trong việc nhập và xử lí số liệu thống kê , vì vậy việc sử dụng ngôn ngữ Visual Basic sẽ tạo điều kiện dễ dàng cho việc cập nhật cơ sở dữ liệu cho chương trình từ các cuộc điều tra khác nhau mà không phải mất nhiều công sức làm lại từ đầu. Ngoài ra, ngôn ngữ Visual Basic còn có các ưu điểm vượt trội so với các ngôn ngữ lập trình khác như sau: * Visual Basic gắn liền với khái niệm lập trình trực quan nên khi thiết kế ta có thể nhìn thấy ngay kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Visual Basic cung cấp nhiều công cụ để sử dụng thiết kế những ứng dụng có giao diện rất đẹp tạo cảm giác gần gũi , dễ hiểu, dễ sử dụng cho người dùng. * Việc xây dựng, thiết kế chương trình có thể xác định được thời gian cần thiết để thực hiên vì được thiết kế theo từng module, đảm bảo cho yêu cầu xây dựng chương trình trong thời gian ngắn đáp ứng kịp thời nhu cầu về tiến độ. * Dễ thực hiện , dễ bảo trì và phát triển trong tương lai. Hệ quản trị cơ sơ dữ liệu Microsoft Access là hệ quản trị dữ liệu được dụng phổ biến và thông dụng nhất hiện nay nó cho phép tạo lập và lưu trũ dữ liệu ở qui mô lớn. Dễ tra cứu bảo trì. Đặc biệt với các thư viện liên kết động với đặc tính mở của nó thông qua ADO và ADOBC .Access cho phép làm việc với nhiều ngôn ngữ lập trình thông dụng và mạnh nhất hiện nay. 4.5 Giải pháp về phần cứng để thực hiện chương trình. CPU Pentium II trở lên. Màn hình VGA. Chuột. 64 Mb RAM. 300 Mb đĩa cứng còn trống Phần II : Phân tích và thiết kế hệ thống quản lý bán hàng Phân tích hệ thống thông tin quản lý. Sơ đồ ngữ cảnh, sơ đồ luông thông tin (IFD), sơ đồ luông dữ liệu(DFD) Sơ đồ ngữ cảnh. Ban Quản lý Gian hàng 1 Kho hàng Gian hàng 2 Gian hàng 3 ........... Gian hàng 50 Sơ đồ luồng dữ liệu (DFD) b1 d1 c1 a1 c2 3.0 Cập nhật danh mục KH Ban quản lý Khách hàng d2 c3 c4 a2 a4 1.0 Cập nhật phiếu nhập xuất Phiếu thu chi Phiếu NX a3 3.0 Cập nhật danh mục KH f3 3.0 Cập nhật danh mục KH c5 Danh muc KH a5 f2 f2 Danh mục hang hóa e2 e2 e3 f1 3.0 Cập nhật danh mục KH 4.0 Báo cáo hang hoá Ban quản lý f3 e1 Cập nhật phiếu xuất: a1 nhà cung cấp giao hàng hoặc khách hàng mua hàng a2 lưu phiếu nhập xuất a3 yêu cầu nhập danh mục hàng hoá (nếu là hàng hoá mới) a4 cập nhật danh mục khách hàng(nếu là khách hàng mới) a5 lưu thông tin hàng hoá mới Điều chỉnh phiếu nhập – xuất b1 Ban quản lý yêu cầu điều chỉnh phiếu nhập xuất(do nhập sai) b2 lấy phiếu nhập xuất cần điều chỉnh từ kho lưu ra điều chỉnh theo yêu cầu và lưu lại. Báo cáo tồn kho e1 ban quản lý yêu cầu báo cáo tồn kho e2 lấy số tồn từ danh mục HH và tình hình nhập xuất từ kho dữ liệu phiếu nhập xuất để xác định số tồn kho cuối kỳ. e3 gửi ban quản lý báo cáo tồn kho Cập nhật phiếu thu chi c1 ban quản lý yêu cầu trả nợ cho nhà cung cấp( yêu cầu lập phiếu chi) c2 khách hàng trả nợ ( yêu cầu lạp phiếu thu) c3 lưu phiếu thu chi đã lập. c4 yêu cầu cập nhật danh mục khách hàng(nếu là khách hàng mới) Điều chỉnh phiếu thu chi d1 ban quản lý yêu cầu điều chỉnh phiếu thu chi(do nhập sai sót) d2 Lờy phiếu thu chi cần điều chỉnh tử kho ra điều chỉnh theo yêu cầu và lưu lại. Báo cáo công nợ. f1 ban quản lý yêu cầu báo cáo công nợ. f2 Lấy số nợ đầu kỳ từ danh mục khách hàng và tình hình nhập xuất từ kho dữ liệu phiếu nhập xuất, tình hình thu chi từ kho dữ liệu phiếu thu chi để xác định tăng giảm nợ trong kỳ và cuối kỳ. f3 Gửi ban quản lý báo cáo công nợ. sơ đồ quan hệ giữa các thực thể Phiếu thu chi Danh mục khách hàng Danh mục tài khoản Phiếu nhập xuất kho Chi tiết dm Hàng hoá Danh mục Hàng hoá : Quan hệ 1 – n Danh mục khách hàng có thể là khách hàng mua hoặc nhà cung cấp do có nhiều trường giống nhau nên ta có thể dùng một thực thể hay hai thực thể. Phiếu nhập kho và xuất kho có thể dùng chung một thực thể. Phiếu thu chi gần như trùng nhau về các tông tin nên ta có thể sử dụng một thực thể. . Chuẩn hoá dữ liệu xác định các thực thể Chuẩn hoá từ phiếu nhập xuất kho ban đầu: Phiếu nhập xuất kho Chuẩn dạng 1 Chuẩn dạng 2 Chuẩn dạng 3 Mã số phiếu Ngày Mã khách hàng Địa chỉ Lý do Phí Mã hàng Số lượng Đơn giá Mã số phiếu Mã khách hàng Ngày Lý do Phí Tên khách hàng Địa chỉ Mã số phiếu Mã hàng Số lượng Đơn giá Mã số phiếu Mã khách hàng Ngày Lý do Phí Mã số phiếu Ma hàng Số lượng đơn gía Thành tiền Mã khách hàng Mã số phiếu thu chi Tên khách hàng Địa chỉ Nợ đầu kỳ Mã hàng Tên hàng Quy cách Đơn vị tính Đơn gía bán Số lượng tồn Tg tồn Mã số phiếu Mã khách hàng Ngày Lý do Phí Mã số phiếu Mã hàng Số lượng đơn giá thành tiền Mã khách hàng Mã số phiếu thu chi Tên khách hang Địa chỉ Nợ đầu kỳ Mã hàng Tên hàng Quy cách Đơn vị tính Đơn giá bán Số lượng tồn Tg tồn Mã số phiếu thu chi Mã khách hàng Lý do Đơn giá Ngày Số tiền Thông tin đầu vào & đầu ra của hệ thống quản lý. Các luồng thông tin vào. Thông tin vào là các hoá đơn nhập, hoá đơn bán hàng. Thông tin ra từ hệ thống. Thông tin ra là những thông tin đã xử lý và tổng hợp từ các thông tin vào. Thông tin ra chính là kết quả hoạt động của hệ thống. Nó phục vụ cho nhu cầu về thông tin của những người sử dụng hệ thống này và đáp ứng nhu cầu của cơ quan. Thông tin ra càng có chất lượng cao tức là đáp ứng tốt nhu cầu về thông tin của người sử dụng, nâng cao hiệu quả quản lý thì càng chứng tỏ hệ thống hoạt động tốt. Thông tin ra là các báo cáo: Báo cáo tồn kho Báo cáo lợi nhuận Báo cáo doanh thu từng gian hàng Báo cáo doanh số từng nhân viên. Thiết kế chương trình. Thiết kế cơ sở dữ liệu. Cơ sở dữ liệu là nơi lưu trữ lâu dài các tệp dữ liệu của hệ thống ở bộ nhớ ngoài. các dữ liệu này phải tổ chức tôt theo hai tiêu chí: Hợp lý , nghĩa là phải đủ dùng và không thừa; Truy nhập thuận lợi, nghĩa là tim kiếm, cập nhật , bổ xung và loại bỏ các thông tin sao cho nhanh chóng và tiện dùng. ở giai đoạn phân tích, ta đã nghiên cứu dữ liệu theo tiêu chí hợp lý(đủ và không thừa). Kết quả là đã thành lập được lược đồ luồng dữ liệu và đã chuẩn hoá dữ liệu qua 3 bước chuẩn hoá . Sang giai đoạn này, ta phải biến đổi lược đồ khái niệm nói trên thành lược đồ vật lý, tức là một cấu trúc lưu trữ thực sự của dữ liệu trong bộ nhớ ngoài. Cờu trúc này thường được lựa chọn trong số các dạng sau: Các tệp tuần tự. Các tệp tuần tự có chỉ dẫn. Các tệp trực truy, Các tệp đảo ngược Các bảng băm Các mạng sử dụng con trỏ Các cây Các quan hệ Thông qua các lý do trên ta tách việc thiết kế dưc liẹu thành hai bước: Thiết kế lược đồ lôgic của dữ liệu Thành lập lược đồ vật lý của dữ liệu Thành lập lược đồ lôgic Lược đồ bán hàng: Ma_KH Ten_KH Dien_thoai Dia_chi Ma_HDB Ngay_ban Nguoi_ban Khach_hang Gian_hang Ma_HDB Ma_hang Gia So_luong Giam_gia Khách hàng Mua Hàng Lược đồ mua hàng: Ma_NCC Ten_NCC Dien_thoai Dia_chi Loai_hang Ma_HDN Ngay_Nhap Nguoi_Nhap Nha_CC Ma_HDB Ma_hang Gia So_luong Chiet_khau Nhà CC Bán Hàng Thành lập lược đồ vật lý Dựa trên cơ sở lược đồ lôgic ta tiến hành xây dựng lược đồ vật lý cho chương trinh “ quản lý ban hang”. Lược đồ vật lý là cấu trúc lưu trữ thực sự của dữ liệu trong bộ nhớ ngoài, phụ thuộc theo cấu hình của hệ thống. Chương trình gồm các bảng chính: Hoá đơn bán hàng Chi tiết HDB Hoá đơn nhập hàng Chi tiet HDN Hàng hoá Nhân viên Gian hàng ... Giao diện và các thành phần của chương trình chương trình Giao diện chương trình gồm 1 Form chính; các From, các báo cáo và các thành phần khác của chương trình có thể được truy nhập từ menu của From chính. Các From của chương trình. From Chính Chứa các menu: Xử lý hoá đơn Hoá đơn bán hàng Hoá đơn nhập hàng Thoát Báo cáo tổng hợp Doanh số bán hang(gian hàng, toàn bộ trung tâm) Hàng nhập Hàng tồn kho Doanh số của mỗi nhân viên Lợi nhuận Hệ thống Điều chỉnh hệ thống danh mục Trợ giúp Hướng dẫn sử dụng Thông tin về phần mềm From hoá đơn bán hàng From hoá đơn nhập hàng Form danh mục From điều chỉnh Từ Form này ta có thể truy nhập Form XemHDB va Form XemHDN. Các báo cáo của chương trình Doanh số bán hàng của mỗi gian hàng Báo cáo doanh số bán hàng của toàn bộ trung tâm Báo cáohàngnhập Báo cáo tồn kho Báo cáo doanh số của mỗi nhân viên Báo cáo lợi nhuận Các thuật toán của chương trình. thuật toán đăng nhập Bắt đầu Nhập tên người dùng & mật khẩu Có Có tiếp tiếp tục không Kiểm tra sự hợp lệ của tên người dùng & mật khẩu Sai ĐúNG Thực hiện các công việc cần làm của người sử dụng theo quyền hạn người sử dụng Không Kết thúc Thuật toán nhập dữ liệu Bắt đầu Tạo bản ghi rỗng Tiến hành nhập dữ liệu Kiểm tra sự hợp lệ của tên người dùng & mật khẩu Có Không Kết thúc Thuật toán sửa dữ liệu Bắt đầu Nhập mã bản ghi muốn sửa Có tồn tại bản ghi này không Hiện bản ghi cần sửa Thông Báo Sửa dữ liệu bản ghi Có sửa tiếp không Có Không Kết thúc Thuật toán tìm kiếm thông tin Bắt đầu Nhập mã bản ghi cần tìm Có Kiểm tra bản ghi này có hay không theo mã bản ghi? Có tiếp tục không ? Không Có Không Hiện thông tin tìm thấy Kết thúc Cài đặt và bảo trì hệ thống 4.1 Cài đặt hệ thống. Các phương pháp cài đặt hệ thống bao gôm: Cài đặt trực tiếp. Cài đặt song song. Cài đặt thí điểm. Cài đặt chuyển đổi theo giai đoạn. Hướng dẫn - đào tạo người sử dụng: Đào tạo người sử dụng hệ thống thông tin. Hỗ trợ người sử dụng hệ thôngs thông tin. 4.2 Bảo trì hệ thống. Là giai đoạn chiếm chi phí lớn nhất trong chu kỳ sống của một hệ thống.Bắt đầu từ khi phần mềm được cài đặt nhằm tiến triển hệ thống.Về mặt chức năng để hỗ trợ tốt hơn nhu cầu thay đổi về các bước của quá trình bảo trì. Các kiểu bảo trì Bảo trì hiệu chỉnh (Giải quyết lỗi thiết kế và lỗi lập trình còn tiềm ẩn trong hệ thống sau khi cài đặt). Bảo trì thích nghi: Sửa đổi hệ thống để phù hợp với các thay đổi của môi trường. Bảo trì hoàn thiện: Cải tiến hệ thống theo nhu cầu mới. Bảo trì phòng ngừa: Phòng ngừa các thay đổi trong tương lai. Quản trị bảo trì hệ thống Quản lý bán hàng Đo lường hiệu quả bảo trì hệ thống (Số lượng lỗi,khoảng thời gian giữa các lỗi, kiểu lỗi). Kiểm soát các yêu cầu bảo trì. 4.3 Đánh giá sau cài đặt Đánh giá dự án xem có đúng thời gian, tiến độ không. Đánh giá hệ thống: Xem xét hệ thống có đạt mục tiêu đề ra không (Đánh giá sau một thời gian hoạt động). Báo cáo tổng kết dự án Dự án hoàn thành đúng kế hoạch, đáp ứng nhu cầu kế hoạch. Tài liệu về hệ thống hiện tại, các yêu cầu BT Yêu cầu bảo trì phân công NS Chuyển đổi các yêu cầu Quản trị các yêu cầu bảo trì Thiết kế công việc Yêu cầu thay đổi Hồ sơ dự án Hệ thống hiện tại Hệ thống mới Yêu cầubảo trì Các đặc tả Yêu cầu Thiết kế các thay đổi Triển khai các thay đổi Kết luận Với sự phát triển của tin học và công nghệ thông tin như hiện nay thì việc ứng dụng tin học vào tất cả các lĩnh vực của đời sống xã hội là điều tất yếu. Mục đích nhằm tăng tốc độ xử lí tự động, đồng thời giảm xử lí thủ công của con người. Kỹ thuật số có thể làm thay đổiquy trình sản xuất và quy trình kinh doanh của mỗi doanh nghiệp. Nó có thể giải phóng nhân viên khỏi những quy trình chậm chạp, cứng nhắc của việc xử lý giấy tờ hành chính. Việc thay thế những quy trình xử lý giấy tờ bằng quy trình xử lý kỹ thuật số sẽ giải phóng người nhân viên tri thức để họ có thể làm những công việc có lợi hơn. Chương trình “ quản lý Bán hàng ”được xây dựng dựa trên cơ sở nhu cầu thực tế của công tác quản lý trong các cơ quan hành chính sự nghiệp hiện nay. Chương trình đã thực hiện tốt được một số công việc cơ bản của ngành thống kê như: + Nhập, xử lí, lưu trữ dữ liệu nhập . + In nhanh các hoá đơn, báo cáo theo yêu cầu cấp trên và người sử dụng. Trong điều kiện kiến thức còn hạn chế, lại chưa có nhiều điều kiện tiếp xúc với thực tế công việc. Hơn nữa, thời gian xây dựng chương trình ngắn nên trong chương trình khó tránh khỏi những thiếu sót. Với mục đích thực hiện chương trình một cách hoàn thiện, có thể sử dụng phục vụ cho công tác bán hàng ở các siêu thị hay ở các trung tâm thương mại vừa và nhỏ một cách đầy đủ và thuận lợi theo đúng mong muốn của bản thân và nhu cầu thực tế công việc. Em rất mong nhận được sự thông cảm và góp ý quý báu của thầy cô giáo, các bạn, các cán bộ chuyên trách về lĩnh vực quản lý bán hàng và những người tâm huyết với vấn đề này. Đó cũng là một cách để chương trình ngày càng hữu ích và hoàn thiện, ứng dụng được vào thực tế cuộc sống. DANH MụC CáC TàI LIệU THAM KHảO 1- PTS Hàn Viết Thuận, Giáo trình “ Cấu trúc dữ liệu và giải thuật ”, Nhà xuất bản Thống kê -Hà nội 1999. 2- TS Trương Văn Tú & TS Trần Thị Song Minh, Giáo trình “ Hệ thống thông tin quản lí “ Nhà xuất bản thống kê- Hà nội 2000. 3- ThS Trần Công Uẩn, Giáo trình “ Cơ sở dữ liệu SQL – Access ”, Nhà xuất bản Thống kê- Hà nội 2000 . 4- “ Phân tích và thiết kế hệ thông tin “ – Nguyễn Văn Ba, ĐHBK Hà Nội, Nhà xuất bản Đại học quốc gia Hà Nội - 2002 5- “ Microsoft Visual Basic 6.0 & Lập trình cơ sở dữ liệu “, Nguyễn Thị Ngọc Mai(Chủ biên), Nhà xuất bản giáo dục. 6- Tập 1, Tập 2 “ Microsoft Access 2000 lập trình ứng dụng cơ sở dữ liệu”, Nguyễn Đình Tê (Chủ biên), Nhà xuất bản giáo dục. Phụ Lục (Một số đoạn code chính của chương trình) ‘Tạo mới hoá đơn Private Sub cmdTaoMoi_Click() On Error GoTo loi choise = 1 save = False txtNgayban.Enabled = True CboNguoiBan.Enabled = True cboGianhang.Enabled = True CboKhachHang.Enabled = True frago.Enabled = False fraHH.Enabled = True CmdXoa.Enabled = True cmdTaoMoi.Enabled = False cmdSua.Enabled = False cmdluu.Enabled = True cmdIn.Enabled = False TxtSoHD.Enabled = True TxtSoHD.Text = "" CboKhachHang.Text = "" CboTenhang.Text = "" txtGia.Text = "" TxtSoluong.Text = "" lblCong.Caption = "" lblThue.Caption = "" LblTongCong.Caption = "" str = "select * from chitiethdb where ma_hdb like '0'" DEqlbh.Commands.Item("Q_hdb").CommandText = str grdHDB.DataMember = "Q_hdb" DEqlbh.rsQ_HDB.Close grdHDB.Refresh TxtSoHD.SetFocus loi: End Sub ‘Sửa hoá đơn Private Sub cmdSua_Click() On Error GoTo loi choise = 2 save = True ma_tg = TxtSoHD.Text txtNgayban.Enabled = True CboNguoiBan.Enabled = True cboGianhang.Enabled = True CboKhachHang.Enabled = True CmdXoa.Enabled = False TxtSoHD.Enabled = True frago.Enabled = False fraHH.Enabled = True cmdIn.Enabled = False cmdluu.Enabled = True TxtSoHD.SetFocus cmdTaoMoi.Enabled = False cmdSua.Enabled = False loi: End Sub ‘Lưu hoá đơn Private Sub cmdluu_Click() On Error GoTo loi Dim str1 As String Dim rshd As ADODB.Recordset Dim rs1 As ADODB.Recordset Set rshd = New ADODB.Recordset Set rs1 = New ADODB.Recordset str = "select * from hdb where ma_hdb = '" & TxtSoHD & "'" rshd.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If CboKhachHang.Text "" Then str1 = "select * from khachhang where ten_kh = '" & CboKhachHang.Text & "'" rs1.Open str1, cn, adOpenKeyset, adLockReadOnly, adCmdText If rs1.BOF = True And rs1.EOF = True Then Dim rsKH As ADODB.Recordset Set rsKH = New ADODB.Recordset str1 = "select max(ma_kh) as ma from khachhang" rsKH.Open str1, cn, adOpenKeyset, adLockReadOnly, adCmdText Dim n As Long n = CLng(rsKH.Fields("ma")) + 1 rsKH.Close str1 = "select * from khachhang" rsKH.Open str1, cn, adOpenKeyset, adLockOptimistic, adCmdText rsKH.AddNew rsKH.Fields("ma_kh") = CStr(n) rsKH.Fields("ten_kh") = CboKhachHang.Text rsKH.Update rsKH.Close rshd.Fields("khach_hang") = CStr(n) Else rshd.Fields("khach_hang") = rs1.Fields("ma_kh") End If rshd.Update rs1.Close Else MsgBox "Chưa nhập tên khách hàng" CboKhachHang.SetFocus rshd.Close Exit Sub End If If CboNguoiBan.Text "" Then str1 = "select * from nhanvien where ten_nv = '" & CboNguoiBan.Text & "'" rs1.Open str1, cn, adOpenKeyset, adLockReadOnly, adCmdText rshd.Fields("nguoi_ban") = rs1.Fields("ma_nv") rshd.Update rs1.Close Else MsgBox "Chưa nhập người bán", vbInformation, "Thông báo" CboNguoiBan.SetFocus rshd.Close Exit Sub End If If IsDate(txtNgayban) = True Then rshd.Fields("ngay_ban") = CVDate(txtNgayban) rshd.Update Else MsgBox "Nhập ngày không hợp lệ", vbInformation, "Thông báo" txtNgayban.SetFocus rshd.Close Exit Sub End If If cboGianhang.Text "" Then rshd.Fields("quay") = cboGianhang.Text rshd.Update Else MsgBox "Chưa nhập gian hàng ", vbInformation, "thong báo" cboGianhang.SetFocus rshd.Close Exit Sub End If rshd.Update rshd.Close str = "select count(ma_hdb) from HDB" rshd.Open str, cn, adOpenKeyset, adLockReadOnly, adCmdText rshd.Close Set rshd = Nothing TxtSoHD.Enabled = False txtNgayban.Enabled = False CboNguoiBan.Enabled = False cboGianhang.Enabled = False CboKhachHang.Enabled = False frago.Enabled = True cmdluu.Enabled = False fraHH.Enabled = False cmdIn.Enabled = True cmdSua.Enabled = True cmdTaoMoi.Enabled = True CmdXoa.Enabled = True cmdTaoMoi.SetFocus save = True adoHoadon.Refresh loi: End Sub ‘Xoá hoá đơn Private Sub cmdXoa_Click() On Error GoTo loi If MsgBox("Bạn chắc chắn muốn xoá", vbYesNo, "Cảnh Báo") = vbYes Then txtNgayban.Enabled = False CboNguoiBan.Enabled = False cboGianhang.Enabled = False CboKhachHang.Enabled = False frago.Enabled = True fraHH.Enabled = False cmdTaoMoi.Enabled = True cmdSua.Enabled = True cmdluu.Enabled = False cmdIn.Enabled = True save = True Call Xoa Call cmdDau_Click End If loi: End Sub ‘Thêm hàng Private Sub cmdBoxung_Click() On Error GoTo loi If CboTenhang.Text = "" Then MsgBox " Chưa có hàng !", vbInformation, "Thông báo" Exit Sub End If Dim rsGrd As ADODB.Recordset Set rsGrd = New ADODB.Recordset Dim rsHH As ADODB.Recordset Dim rsChitietHDB As ADODB.Recordset Set rsHH = New ADODB.Recordset Set rsChitietHDB = New ADODB.Recordset str = "select * from hangHoa where ten_hang = '" & CboTenhang.Text & "'" rsHH.Open str, cn, adOpenKeyset, adLockReadOnly, adCmdText str = "select * from chitiethdb where ma_hdb = '" & TxtSoHD & "'" & _ " and ma_hang = '" & rsHH.Fields("ma_hang") & "'" rsChitietHDB.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText 'Kiểm tra tính duy nhất của hàng hoá nhập vào hoá đơn If rsChitietHDB.BOF = True And rsChitietHDB.EOF = True Then rsChitietHDB.Close str = "select * from ChitietHDB " rsChitietHDB.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText rsChitietHDB.AddNew rsChitietHDB.Fields("ma_hdb") = TxtSoHD rsChitietHDB.Fields("ma_hang") = rsHH.Fields("ma_hang") If txtGia "" Then rsChitietHDB.Fields("gia_ban_thuc") = Val(txtGia) Else rsChitietHDB.Fields("gia_ban_thuc") = rsHH.Fields("gia_ban") End If If Val(TxtSoluong) > 0 Then rsChitietHDB.Fields("so_luong") = Val(TxtSoluong) Else rsChitietHDB.Fields("so_luong") = 1 End If rsChitietHDB.Update rsHH.Close rsChitietHDB.Close Else If txtGia "" Then rsChitietHDB.Fields("gia_ban_thuc") = Val(txtGia) Else rsChitietHDB.Fields("gia_ban_thuc") = rsHH.Fields("gia_ban") End If If Val(TxtSoluong) > 0 Then rsChitietHDB.Fields("so_luong") = Val(TxtSoluong) Else rsChitietHDB.Fields("so_luong") = 1 End If rsChitietHDB.Update rsHH.Close rsChitietHDB.Close End If str = "select ma_hdb, sum(gia_ban_thuc*1000*so_luong*(1-giam_gia)) " & _ " as cong from hanghoa, chitietHDB " & _ " where hanghoa.ma_hang = chitietHDB.ma_hang " & _ " and chitiethdb.ma_hdb = '" & TxtSoHD.Text & "'" & _ " group by chitiethdb.ma_hdb " rsGrd.Open str, cn, adOpenKeyset, adLockReadOnly, adCmdText lblCong.Caption = rsGrd.Fields("cong") lblThue.Caption = rsGrd.Fields("cong") * 0.1 LblTongCong.Caption = rsGrd.Fields("cong") * 1.1 lblchu.Caption = SoSangChu.chuyenso(LblTongCong.Caption) rsGrd.Close str = "select count(ma_hdb) from chitiethdb" rsGrd.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText rsGrd.Close ' Hiển thị trên Grid str = "select Ten_hang, DV_tinh, gia_ban_thuc, so_luong, giam_gia, " & _ " gia_ban_thuc*so_luong*(1- giam_gia) as TT " & _ " from hanghoa, chitietHDB " & _ " where hanghoa.ma_hang = chitietHDB.ma_hang " & _ " and chitiethdb.ma_hdb like " & """" & TxtSoHD & """" DEqlbh.Commands.Item("Q_HDB").CommandText = str grdHDB.DataMember = "Q_HDB" DEqlbh.rsQ_HDB.Close loi: End Sub ‘ In hoá đơn Private Sub cmdIn_Click() On Error GoTo loi DEqlbh.Qhdb (TxtSoHD) rptHDB.Show cmdIn.Enabled = False loi: End Sub ‘ Tim kiếm Private Sub Cmdtim_Click() On Error GoTo loi adoHoadon.Recordset.MoveFirst Do While adoHoadon.Recordset.Fields("ma_hdb") txtTim.Text And adoHoadon.Recordset.EOF = False adoHoadon.Recordset.MoveNext Loop Dim rsGrd As ADODB.Recordset Set rsGrd = New ADODB.Recordset str = "select ma_hdb, sum(gia_ban_thuc*1000*so_luong*(1-giam_gia)) as cong " & _ " from hanghoa, chitietHDB " & _ " where hanghoa.ma_hang = chitietHDB.ma_hang " & _ " and chitiethdb.ma_hdb = '" & TxtSoHD.Text & "'" & _ " group by chitiethdb.ma_hdb " rsGrd.Open str, cn, adOpenKeyset, adLockReadOnly, adCmdText lblCong.Caption = rsGrd.Fields("cong") lblThue.Caption = rsGrd.Fields("cong") * 0.1 LblTongCong.Caption = rsGrd.Fields("cong") * 1.1 lblchu.Caption = SoSangChu.chuyenso(LblTongCong.Caption) rsGrd.Close If adoHoadon.Recordset.Fields("quay") "" Then cboGianhang.Text = adoHoadon.Recordset.Fields("quay") End If str = "select Ten_hang, DV_tinh, gia_ban_thuc, so_luong, giam_gia, " & _ " gia_ban_thuc*1000*so_luong*(1- giam_gia) as TT " & _ " from hanghoa, chitietHDB " & _ " where hanghoa.ma_hang =

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

  • doc35533.doc