1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích, thiết kế và xây dựng phần mềm quản lí bán hàng taị công ty tnhh đầu tư thương mại và dịch vụ đức linh

101 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 1,43 MB

Cấu trúc

  • I. Khảo sát hiện trạng (3)
    • 1. Giới thiệu chung về bμy các kết quả thu đ−ợc trong quá trìnhài toán (0)
    • 2. Phạm vi đề tài (3)
      • 2.1. Chức năng nhập kho (3)
      • 2.2. Chức năng xuất kho (4)
      • 2.3. Chức năng kiểm kê (4)
      • 2.4. Chức năng bμy các kết quả thu đ−ợc trong quá trìnhán hàng (0)
      • 2.5. Chức năng bμy các kết quả thu đ−ợc trong quá trìnhảo mật (0)
      • 2.6. Chức năng thống kê, bμy các kết quả thu đ−ợc trong quá trìnháo cáo (4)
    • 3. Nghiên cứu hiện trạng và giải quyết vấn đề (5)
      • 3.1. Giám đốc (Ban điều hành) (6)
      • 3.2. Bộ phận hành chính (6)
      • 3.3. Bộ phận bμy các kết quả thu đ−ợc trong quá trìnhán hàng (0)
      • 3.4. Bé phËn kho (7)
        • 3.4.1. Quản lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiý h ng hoá μi trình bμy các kết quả thu đ−ợc trong quá trình (0)
        • 3.4.2. Quá trình đặt h ng với nh cung cấp μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình (0)
        • 3.4.3. Quá trình nhập h ng v o kho μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình (0)
        • 3.4.4. Quá trình xuất h ng μi trình bμy các kết quả thu đ−ợc trong quá trình (8)
        • 3.4.5. Định giá (9)
      • 3.5. Bộ phận kế toán thống kê (9)
      • 3.6. Bộ phận quản trị (9)
    • 4. Yêu cầu tin học hoá (10)
      • 4.1. Nội dung đề tài (10)
      • 4.2. Mô tả yêu cầu (10)
    • 5. Cách tiếp cận và giải quyết vấn đề (12)
      • 5.1. Cách tiếp cận (12)
      • 5.2. Giải quyết vấn đề (12)
  • CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Phân tích mô hình hoá dữ lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiiệu (0)
    • 1. Xác định các lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiớp (13)
    • 2. Sơ đồ ngữ cảnh của bμy các kết quả thu đ−ợc trong quá trình i toán “ Quản lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhán h ng”. Điểm trung tâm lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giải μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình (0)
    • 3. Mối quan hệ giữa các thực thể (14)
    • 4. Mô tả quan hệ (15)
    • 5. Mô hình quan niệm xử lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiý (15)
    • 6. Danh sách các thuộc tính (17)
      • 6.1 Danh mục Thanh toán nhà cung cấp (17)
      • 6.2 Danh Mục Thông Tin (18)
      • 6.3 Danh mục Thanh Toán Khách hàng (18)
      • 6.4 Danh môc PhiÕu xuÊt (18)
      • 6.5 Danh môc PhiÕu nhËp (19)
      • 6.6 Danh mục Nhân viên (19)
      • 6.7 Danh mục Nhãn hiệu (19)
      • 6.8 Danh mục Nhà cung cấp (19)
      • 6.9 Danh mục Khách hàng (19)
      • 6.10 Danh mục Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtàng hoá (0)
      • 6.11 Danh môc Chi tiÕt xuÊt (20)
      • 6.12 Danh môc Chi tiÕt nhËp (20)
      • 6.13 Danh mục Chi tiết Báo giá (21)
      • 6.14 Danh mục Chủng lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảioại (21)
      • 6.15 Danh mục Báo giá (21)
      • 6.16 Danh môc Admin (21)
    • II. Thiết kế cơ sở dữ lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiiệu và sơ đồ quan hệ (0)
      • 1. Thiết kế cơ sở dữ lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiiệu (21)
      • 2. Sơ đồ quan hệ (23)
  • CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH (0)
    • CHƯƠNG 4: KẾT LUẬN I. Đánh giá kết quả đạt đ ợc (0)
      • II. Kết lμm rõ các yêu cầu tin học hoá. Cách tiếp cận giảiuận (0)

Nội dung

Khảo sát hiện trạng

Phạm vi đề tài

Ch ơng trình xây dựng nhằm mục đích phục vụ công việc quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhán h ng tại một Doanh nghiệp kinh doanh mặt h ng máy tính, bμy các kết quả thu đ−ợc trong quá trìnhao gồm những μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình chức năng chính sau:

* Dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu (Tên, nhãn hiệu, quy cách của h ng hoá vật t v các thông μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình tin khác) đ ợc nhập v o hệ thống theo cách: μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Cập nhật dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu thông qua form nhập lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu

* Sắp xếp phân lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại h ng hoá trong kho theo danh mục, chủng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại v μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình nhiều cấp độ khác nhau. μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình h ng hoá μi trình bμy các kết quả thu đ−ợc trong quá trình

* Cập nhật trạng thái h ng hoá, tự động thông bμy các kết quả thu đ−ợc trong quá trìnháo cho ng ời quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý về μi trình bμy các kết quả thu đ−ợc trong quá trình tình trạng của h ng hoá μi trình bμy các kết quả thu đ−ợc trong quá trình

VD: Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá hết hạn sử dụng, h ng nhập quá mức yêu cầu, h ng mất μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình phÈm chÊt.

* Cập nhật các thông tin về phiếu xuất kho nh : Tên h ng hoá, số μi trình bμy các kết quả thu đ−ợc trong quá trình lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng, ng y xuất, ng ời nhận h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

* Cập nhật số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng h ng hoá còn lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiại trong kho μi trình bμy các kết quả thu đ−ợc trong quá trình

* Đồng bμy các kết quả thu đ−ợc trong quá trìnhộ dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu giữa các kho trong cùng một hệ thống.

* Khoá mọi hoạt động giao dịch khi của các mặt h ng cần kiểm kê Sau μi trình bμy các kết quả thu đ−ợc trong quá trình khi kiểm kê xong mới cho phép nở các giao dịch đã bμy các kết quả thu đ−ợc trong quá trìnhị đóng để tiếp tục giao dịch nhËp – xuÊt kho.

* Kiểm kê h ng hoá tồn trong kho v tình trạng của h ng hoá μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

* Quản trị các thông tin giao dịch của khách h ng: Thông tin của khách μi trình bμy các kết quả thu đ−ợc trong quá trình h ng; Thông tin đơn đặt h ng; Thông tin số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng h ng hoá bμy các kết quả thu đ−ợc trong quá trìnhán ra μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

* Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý doanh thu

*Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý chi tiết h ng hoá v công nợ của khách h ng theo các tiêu μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình thức quản trị tuỳ chọn.

Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtệ thống cho phép phân quyền sử dụng, từ đó chống đ ợc những truy nhập bμy các kết quả thu đ−ợc trong quá trìnhất hợp pháp v o hệ thống dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu, đồng thời định rõ đ ợc trách nhiệm μi trình bμy các kết quả thu đ−ợc trong quá trình trong tr ờng hợp có sự cố.

2.6 Chức năng thống kê, báo cáo

* Báo cáo phân lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại h ng hoá Cho bμy các kết quả thu đ−ợc trong quá trìnhiết thông tin về h ng hoá trong khi μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình hoặc hệ thống kho theo các tiêu chí phân lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại của ng ời sử dụng.

* Báo cáo doanh thu thu đ ợc theo từng mặt h ng, theo từng kỳ, μi trình bμy các kết quả thu đ−ợc trong quá trình

* Thống kê đơn đặt h ng, số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng h ng bμy các kết quả thu đ−ợc trong quá trìnhán ra μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

* Lập các bμy các kết quả thu đ−ợc trong quá trìnháo giá theo từng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại khách h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

* Lập hoá đơn mua h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

* Lập hoá đơn bμy các kết quả thu đ−ợc trong quá trìnhán h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

* Lập hoá đơn thanh toán mua h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

* Lập hoá đơn thanh toán bμy các kết quả thu đ−ợc trong quá trìnhán h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

Nghiên cứu hiện trạng và giải quyết vấn đề

Trong Công ty TNHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất Đầu T Thuơng Mại và Dịch Vụ Đức Linh hệ thống tổ chức các bμy các kết quả thu đ−ợc trong quá trìnhộ phận có sự hỗ trợ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiần nhau bμy các kết quả thu đ−ợc trong quá trìnhao gồm: Giám đốc (Ban điều h nh), Bộ phận bμy các kết quả thu đ−ợc trong quá trìnhán h ng, Bộ phận kế toán, Bộ phận kho, Bộ phận h nh μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình chÝnh.

Phó Giám Đốc (Bộ phận bμy các kết quả thu đ−ợc trong quá trìnhán hàng)

Bộ phận kế toán Bộ phận kho

Giám Đốc (Ban điều hành)

3.1 Giám đốc (Ban điều hành)

- Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý v phân phối hoạt động của công ty μi trình bμy các kết quả thu đ−ợc trong quá trình

- Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý v điều h nh hoạt động của nhân viên μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

Phân lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại khách h ng: μi trình bμy các kết quả thu đ−ợc trong quá trình

Quyết định giá chính thức cho từng mặt h ng Tuy nhiên giá đ ợc chia μi trình bμy các kết quả thu đ−ợc trong quá trình theo từng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại tuỳ v o khách h ng (Khách h ng mua số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng nhiều, khách μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình h ng th ờng xuyên ) μi trình bμy các kết quả thu đ−ợc trong quá trình

Nhận bμy các kết quả thu đ−ợc trong quá trìnháo cáo từ các bμy các kết quả thu đ−ợc trong quá trìnhộ phần khác nh : kế toán, h nh chính, bμy các kết quả thu đ−ợc trong quá trìnhán μi trình bμy các kết quả thu đ−ợc trong quá trình h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

Từ đó có cách nhìn về tình hình công ty, thị hiếu khách h ng để có μi trình bμy các kết quả thu đ−ợc trong quá trình kế hoặc định h ớng, phát triển nhằm đáp ứng yêu cầu thì hiếu khách h ng v μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình tiến triển của công ty.

- Ghi chép những chi phí về vận chuyển, mua h ng từ nh cung cấp Chế μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình độ tiền lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ơng của nhân viên.

- Xem năng suất để có chế độ khen th ởng đối với những cá nhân có th nh μi trình bμy các kết quả thu đ−ợc trong quá trình tích góp phần phát triển công ty hoặc kỹ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuật đối với cá nhân không ho n th nh nhiệm vụ hau các bμy các kết quả thu đ−ợc trong quá trìnhiểu hiện tiêu cực μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Bên cạnh đó phải theo dõi bμy các kết quả thu đ−ợc trong quá trìnhiến động giá cả v đây lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải bμy các kết quả thu đ−ợc trong quá trìnhiến động theo μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình thời gian Từ đó đ a ra bμy các kết quả thu đ−ợc trong quá trìnhản giá phù hợp cho từng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

Trực tiếp tại cửa h ng: μi trình bμy các kết quả thu đ−ợc trong quá trình

Tại cửa h ng công việc bμy các kết quả thu đ−ợc trong quá trìnhán h ng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiập đơn đặt h ng của khách Khách μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình h ng phải đăng ký ở bμy các kết quả thu đ−ợc trong quá trìnhộ phận bμy các kết quả thu đ−ợc trong quá trìnhán h ng các thông tin về mình để dễ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiên lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiạc μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình vμi trình bμy các kết quả thu đ−ợc trong quá trình quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý nh : Tên khách h ng, địa chỉ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiên lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiạc, số điện thoại, v mỗi khách μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình h ng đ ợc quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhằng mã số riêng v khách h ng dùng mã số đó để mua μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình h ng hay đặt h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng đ ợc tr ng bμy các kết quả thu đ−ợc trong quá trình y tại cửa h ng, khách h ng có thể chọn những μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình mặt h ng bμy các kết quả thu đ−ợc trong quá trìnhằng cách tự chọn tại cửa h ng hay thông qua bμy các kết quả thu đ−ợc trong quá trìnhảng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình Báo giá Khi khách h ng mua h ng, bμy các kết quả thu đ−ợc trong quá trìnhộ phận bμy các kết quả thu đ−ợc trong quá trìnhán h ng trao đổi thông tin cùng khách h ng, μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình chịu trách nhiện h ớng dẫn, lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải m μi trình bμy các kết quả thu đ−ợc trong quá trình Phiếu giao hàng (trong tr ờng hợp khách h ng mua) Sau khi tiếp nhận yêu cầu trên bμy các kết quả thu đ−ợc trong quá trìnhộ phận n y sẽ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải m hoá đơn v μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình thanh toán tiền.

Trong tr ờng hợp nhiều công ty, các doanh nghiệp có yêu cầu đặt h ng, μi trình bμy các kết quả thu đ−ợc trong quá trình mua với số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiớn thì cửa h ng nhanh chóng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải m μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình phiếu đặt hàng , phiếu thu có giá trị thuế cho từng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại h ng v chuyển giao h ng theo yêu cầu μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình Công việc cụ thể cho bμy các kết quả thu đ−ợc trong quá trìnhộ phận bμy các kết quả thu đ−ợc trong quá trìnhán h ng: μi trình bμy các kết quả thu đ−ợc trong quá trình

- Theo dõi đ ợc h ng hoá trong kho μi trình bμy các kết quả thu đ−ợc trong quá trình

- Nhân viên bμy các kết quả thu đ−ợc trong quá trìnhán h ng cần phải nhập những thông tin cần thiết của từng μi trình bμy các kết quả thu đ−ợc trong quá trình mặt h ng v o Ch ơng trình tự tạo mã số riêng của khách h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Nhập thông tin khách hang với mã số riêng bμy các kết quả thu đ−ợc trong quá trìnhiệt.

- Theo dõi, xác định thời gian giao h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

Chức năng chính của bμy các kết quả thu đ−ợc trong quá trìnhộ phận n y lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải nhập h ng, xuất h ng cho bμy các kết quả thu đ−ợc trong quá trìnhộ phận μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình bμy các kết quả thu đ−ợc trong quá trìnhán h ng, theo dõi số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng tồn kho μi trình bμy các kết quả thu đ−ợc trong quá trình Nhân viên phải th ờng xuyên kiểm tra để bμy các kết quả thu đ−ợc trong quá trìnhiết đ ợc số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng h ng hoá bμy các kết quả thu đ−ợc trong quá trìnhị h hỏng, sắp hết, khi đó phải đề xuất để μi trình bμy các kết quả thu đ−ợc trong quá trình bμy các kết quả thu đ−ợc trong quá trìnhan điều h nh có kế hoạch xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý μi trình bμy các kết quả thu đ−ợc trong quá trình

3.4.1 Quản lý h ng hoá μng hoá

Sản phẩm đ ợc lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiấy từ các công ty bμy các kết quả thu đ−ợc trong quá trìnhuôn bμy các kết quả thu đ−ợc trong quá trìnhán khác, những nh cung cấp t μi trình bμy các kết quả thu đ−ợc trong quá trình nhân, các công ty trong n ớc hay ngo i n ớc Công ty có thể lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải đối tác cho μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình những công ty khác Các mặt h ng kinh doanh đều phải có một lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại mã số μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình đủ thông tin nh : Mã h ng, tên h ng hoá, chi tiết h ng hoá, giá cả, thông tin μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình nh sản xuất Các quy định về mã số của Công ty th ờng đ ợc lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải u trữ nội μi trình bμy các kết quả thu đ−ợc trong quá trình bμy các kết quả thu đ−ợc trong quá trìnhộ do bμy các kết quả thu đ−ợc trong quá trìnhộ phận quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý đặt.

3.4.2 Quá trình đặt h ng với nh cung cấp μng hoá μng hoá

Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtằng ng y nhân viên khi sẽ kiểm tra h ng hoá trong khi v đề xuất lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiên μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình bμy các kết quả thu đ−ợc trong quá trìnhan điều h nh cần xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý về việc những mặt h ng cần nhập Trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình đặt h ng thì bμy các kết quả thu đ−ợc trong quá trìnhan điều h nh sẽ có trách nhiệm xem xét các đề xuất V μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình ề những mặt h ng yêu cầu v quyết định lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại h ng, số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng h ng cần μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình đặt v ph ơng μi trình bμy các kết quả thu đ−ợc trong quá trình thức đặt h ng với nh cung cấp μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

3.4.3 Quá trình nhập h ng v o kho μng hoá μng hoá

* Quá trình nhập h ng v o kho theo nhiều cách khác nhau: μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

Yêu cầu tin học hoá

Với nhu cầu thông tin v quy mô kinh doanh ng y c ng mở rộng cho μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình các công ty, doanh nghiệp nhằm tạo sự thu hút cũng nh giới quan tâm về mua bμy các kết quả thu đ−ợc trong quá trìnhán, có thể quan hệ hợp tác v trao đổi trực tiếp những vấn đề cần thiết về μi trình bμy các kết quả thu đ−ợc trong quá trình mua bμy các kết quả thu đ−ợc trong quá trìnhán, hay tìm hiều về chính công ty, h ng hoá của mình Do đó ch ơng trình n y μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình đòi hỏi phải tiện lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiợi, đơn giản, đẹp mắt dễ dùng v cách h ớng dẫn μi trình bμy các kết quả thu đ−ợc trong quá trình sử dụng ch ơng trình sao cho dễ hiểu, các thao tác dễ d ng, lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuôn cập nhật μi trình bμy các kết quả thu đ−ợc trong quá trình những sản phẩm, mặt h ng mới của công ty mình μi trình bμy các kết quả thu đ−ợc trong quá trình

* Với nhân viên quản lý:

Ch ơng trình n y đòi hỏi nhân viên phải th ờng xuyên theo dõi các μi trình bμy các kết quả thu đ−ợc trong quá trình thông tin về h ng hoá, xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý đúng yêu cầu, đúng chức năng do nhân viên nhập μi trình bμy các kết quả thu đ−ợc trong quá trình v o v thao tác dễ d ng với công việc quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu phải đáp ứng đ ợc yêu μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình cÇu.

- Nhân viên phải nhập các thông tin cho các vật lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu mới, nh cung cấp μi trình bμy các kết quả thu đ−ợc trong quá trình mới, khách h ng mới v o trong dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu v có sự kiểm tra về tình hình chính μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình xác, đúng đắn của dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu.

- Nhân viên đ ợc phép chỉnh sữa, xoá những thông tin sai, không phù hợp.

- Theo dõi quá trình mua bμy các kết quả thu đ−ợc trong quá trìnhán của công ty.

+ Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá: Tìm kiếm thông tin về sản phẩm μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Đơn đặt h ng: Thông tin về h ng hoá đã đ ợc đặt mua μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Khác: Các thông tin về các h ớng dẫn hỗ trợ kỹ thuật, h ớng dẫn mua h ng, các văn bμy các kết quả thu đ−ợc trong quá trìnhằng kinh doanh, giới thiệu cửa h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá đây lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải hệ thống dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu về quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý h ng hoá, bμy các kết quả thu đ−ợc trong quá trìnhao gồm các μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình thông tin về h ng hoá: Tên, chi tiết, lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại, giá Trong đó các thao tác về h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình hoá lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải thêm chi tiết từng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại sản phẩm μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Loại h ng: Dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu thông tin quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý về các h ng hoá có trong kho nh μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảioại h ng, tên h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Khách h ng: Đây lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải hệ thống dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu về quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý khách h ng, bμy các kết quả thu đ−ợc trong quá trìnhao gồm μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình các thông tin về khách h ng: Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtọ tên, địa chỉ, điện thoại, emailμm rõ các yêu cầu tin học hoá Cách tiếp cận giải μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Đơn đặt h ng: Đây lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải hệ thống dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu về quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý đơn đặt h ng, bμy các kết quả thu đ−ợc trong quá trìnhao gồm các μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình thông tin về đơn đặt h ng: Cart, ng y đặt hang, địa chỉ các thao tác μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình thêm, hủy.

+ Phiếu nhập: Dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý nội dung các thông tin nhập từ đơn đặt h ng μi trình bμy các kết quả thu đ−ợc trong quá trình + Phiếu xuất: Dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý nội dung các thông tin xuất.

+ Phiếu giao h ng: Dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý các thông tin về bμy các kết quả thu đ−ợc trong quá trìnhảo h nh các thông μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình tin về h ng hoá cho khách h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

+ Quyền: Dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý nội dung các thông tin về quyền của nhân viên khi đăng nhập hệ thống.

Trong đó: P: Doanh thu, Q: Số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng bμy các kết quả thu đ−ợc trong quá trìnhán ra, p: giá

* Tính số l ợng tồn kho: −u trữ:

Số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng tồn kho = SLTồnĐK + Số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng nhập – Số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng xuất

- Nếu h ng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiấy đi một đơn vị thì số lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng h ng sẽ giảm đi μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Tiền chi phí khi di chuyển, giao h ng, đặt h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Tính giá th nh nhập xuất μi trình bμy các kết quả thu đ−ợc trong quá trình

- Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtiển thị danh sách h ng hoá μi trình bμy các kết quả thu đ−ợc trong quá trình

- Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtiển thị đơn đặt h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

- Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtiển thị thông tin từng mặt h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

- Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtiển thị danh sách khách h ng μi trình bμy các kết quả thu đ−ợc trong quá trình

- Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtiển thị danh sách nh cung cấp μi trình bμy các kết quả thu đ−ợc trong quá trình

Cách tiếp cận và giải quyết vấn đề

Dùng ph ơng pháp h ớng đối t ợng để tiếp cận vấn đề rõ hơn, tạo khung nhìn tổng thể của vấn đề.

Có nhiều cách để giải quyết vấn đề Nh ng ở đây bμy các kết quả thu đ−ợc trong quá trình i toán chọn phân tích μi trình bμy các kết quả thu đ−ợc trong quá trình thiết kế hệ thống.

Từ những kết quả trên, triển khai thiết kế để đạt đ ợc các kết quả sau:

- Thiết kế cơ sở dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu.

Cài đặt: Thực hiện c i đặt các kết quả đã thiết kế trên “ Microsoft SQL μi trình bμy các kết quả thu đ−ợc trong quá trìnhServer 2005, Visualμm rõ các yêu cầu tin học hoá Cách tiếp cận giải Studio.net 2005”

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Phân tích mô hình hoá dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu

Xác định các lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiớp

B i toán bμy các kết quả thu đ−ợc trong quá trìnhao gồm các đối t ợng sau: μi trình bμy các kết quả thu đ−ợc trong quá trình

* Tbμy các kết quả thu đ−ợc trong quá trình_NhanHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtieu

* Tbμy các kết quả thu đ−ợc trong quá trình_NhanVien

* Tbμy các kết quả thu đ−ợc trong quá trình_PhieuXuat

* Tbμy các kết quả thu đ−ợc trong quá trình_CTXuat

* Tbμy các kết quả thu đ−ợc trong quá trình_KhachHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtang

* Tbμy các kết quả thu đ−ợc trong quá trình_CTNhap

* Tbμy các kết quả thu đ−ợc trong quá trình_NCC

* Tbμy các kết quả thu đ−ợc trong quá trình_ChungLoai

* Tbμy các kết quả thu đ−ợc trong quá trình_PhieuNhap

* Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanKHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất

* Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanNCC

* Tbμy các kết quả thu đ−ợc trong quá trình_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtangHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtoa

* Tbμy các kết quả thu đ−ợc trong quá trình_ThongTin

* Tbμy các kết quả thu đ−ợc trong quá trình_Admin

* Tbμy các kết quả thu đ−ợc trong quá trình_CTBaoGia

* Tbμy các kết quả thu đ−ợc trong quá trình_BaoGia

2 Sơ đồ ngữ cảnh của b i toán Quản lý bán h ng Điểm trung μ thiết kế hệ thống “ Quản lý bán hμng” Điểm trung μ thiết kế hệ thống ” Điểm trung tâm lμ thiết kế hệ thống

Ng ời bán hàng −u trữ:

3 Mối quan hệ giữa các thực thể

Mối quan hệ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải sự mô tả sự lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiên hệ giữa các phần tử của các tập thực thể μi trình bμy các kết quả thu đ−ợc trong quá trình với nhau, chúng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải sự gắn kết các tập thực thể với nhau μi trình bμy các kết quả thu đ−ợc trong quá trình

Mối quan hệ giữa các tập thực thể có thể lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải một mối quan hệ sở hữu hoặc μi trình bμy các kết quả thu đ−ợc trong quá trình phụ thuộc hoặc mô tả sự t ơng tác giữa chúng.

- Giữa Khách h ng v Phiếu xuất có mối quan hệ “Xuất cho” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Giữa Nh cung cấp v Phiếu nhập có mối quan hệ “Nhập từ” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Giữa Phiếu nhập v Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá có mối quan hệ “Gồm h ng nhập, số μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng nhập”.

- Giữa Kho v Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng có mối quan hệ “Chứa” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Giữa Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá v Phiếu xuất cũng có mối quan hệ “Gồm h ng xuất, μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình sè lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng xuất”.

- Giữa Khách h ng v Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá cũng có mối quan hệ “Đặt h ng v μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình Giao h ng” thông qua số hoá đơn v số phiếu giao μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

Mô hình thực thể của hệ thống thông tin “Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhán h ng” μi trình bμy các kết quả thu đ−ợc trong quá trình

Tbμy các kết quả thu đ−ợc trong quá trình_CTBaoGia

Tbμy các kết quả thu đ−ợc trong quá trình_Admin

Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanNCC

Tbμy các kết quả thu đ−ợc trong quá trình_KhachHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtang Tbμy các kết quả thu đ−ợc trong quá trình_NhanVien

Tbμy các kết quả thu đ−ợc trong quá trình_ThongTin

Tbμy các kết quả thu đ−ợc trong quá trình_PhieuNhap

Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanKHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất Tbμy các kết quả thu đ−ợc trong quá trình_NCC

Tbμy các kết quả thu đ−ợc trong quá trình_CTNhap

Tbμy các kết quả thu đ−ợc trong quá trình_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtangHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtoa

Tbμy các kết quả thu đ−ợc trong quá trình_NhanHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtieu Tbμy các kết quả thu đ−ợc trong quá trình_PhieuXuat

Tbμy các kết quả thu đ−ợc trong quá trình_ChungLoai Tbμy các kết quả thu đ−ợc trong quá trình_CTXuat

Tbμy các kết quả thu đ−ợc trong quá trình_BaoGia

5 Mô hình quan niệm xử lý

Một hệ thông có thể đ ợc phân rã th nh các hệ thống con bμy các kết quả thu đ−ợc trong quá trìnhằng cách chi μi trình bμy các kết quả thu đ−ợc trong quá trình tiết các xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý th nh các công việc để cuối cùng mỗi công việc sau khi thực μi trình bμy các kết quả thu đ−ợc trong quá trình hiện sẽ cho một trong hai trạng thái “Th nh công” v “Không th nh công” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtai trạng thái n y sẽ cho các bμy các kết quả thu đ−ợc trong quá trìnhiến cố khác nhau để lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải m bμy các kết quả thu đ−ợc trong quá trìnhiến cố v o cho các μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình công việc tiếp theo.

Mối quan hệ giữa các thực thể

Mối quan hệ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải sự mô tả sự lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiên hệ giữa các phần tử của các tập thực thể μi trình bμy các kết quả thu đ−ợc trong quá trình với nhau, chúng lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải sự gắn kết các tập thực thể với nhau μi trình bμy các kết quả thu đ−ợc trong quá trình

Mối quan hệ giữa các tập thực thể có thể lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải một mối quan hệ sở hữu hoặc μi trình bμy các kết quả thu đ−ợc trong quá trình phụ thuộc hoặc mô tả sự t ơng tác giữa chúng.

- Giữa Khách h ng v Phiếu xuất có mối quan hệ “Xuất cho” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Giữa Nh cung cấp v Phiếu nhập có mối quan hệ “Nhập từ” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Giữa Phiếu nhập v Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá có mối quan hệ “Gồm h ng nhập, số μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng nhập”.

- Giữa Kho v Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng có mối quan hệ “Chứa” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Giữa Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá v Phiếu xuất cũng có mối quan hệ “Gồm h ng xuất, μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình sè lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải ợng xuất”.

- Giữa Khách h ng v Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất ng hoá cũng có mối quan hệ “Đặt h ng v μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trìnhGiao h ng” thông qua số hoá đơn v số phiếu giao μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

Mô tả quan hệ

Mô hình thực thể của hệ thống thông tin “Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhán h ng” μi trình bμy các kết quả thu đ−ợc trong quá trình

Tbμy các kết quả thu đ−ợc trong quá trình_CTBaoGia

Tbμy các kết quả thu đ−ợc trong quá trình_Admin

Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanNCC

Tbμy các kết quả thu đ−ợc trong quá trình_KhachHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtang Tbμy các kết quả thu đ−ợc trong quá trình_NhanVien

Tbμy các kết quả thu đ−ợc trong quá trình_ThongTin

Tbμy các kết quả thu đ−ợc trong quá trình_PhieuNhap

Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanKHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất Tbμy các kết quả thu đ−ợc trong quá trình_NCC

Tbμy các kết quả thu đ−ợc trong quá trình_CTNhap

Tbμy các kết quả thu đ−ợc trong quá trình_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtangHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtoa

Tbμy các kết quả thu đ−ợc trong quá trình_NhanHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtieu Tbμy các kết quả thu đ−ợc trong quá trình_PhieuXuat

Tbμy các kết quả thu đ−ợc trong quá trình_ChungLoai Tbμy các kết quả thu đ−ợc trong quá trình_CTXuat

Tbμy các kết quả thu đ−ợc trong quá trình_BaoGia

Mô hình quan niệm xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý

Một hệ thông có thể đ ợc phân rã th nh các hệ thống con bμy các kết quả thu đ−ợc trong quá trìnhằng cách chi μi trình bμy các kết quả thu đ−ợc trong quá trình tiết các xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý th nh các công việc để cuối cùng mỗi công việc sau khi thực μi trình bμy các kết quả thu đ−ợc trong quá trình hiện sẽ cho một trong hai trạng thái “Th nh công” v “Không th nh công” μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtai trạng thái n y sẽ cho các bμy các kết quả thu đ−ợc trong quá trìnhiến cố khác nhau để lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải m bμy các kết quả thu đ−ợc trong quá trìnhiến cố v o cho các μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình công việc tiếp theo.

Cụ thể: Trong hệ thống thông tin “Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhán h ng” Chức năng “ μi trình bμy các kết quả thu đ−ợc trong quá trình Bán hàng ” sẽ bμy các kết quả thu đ−ợc trong quá trìnhao gồm các công việc: Kiểm tra t cách khách h ng, Kiểm tra μi trình bμy các kết quả thu đ−ợc trong quá trình h ng tồn kho, Viết phiếu xuất, Thanh toán v xuất kho μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

* Chức năng bán hàng khi ch a phân rã: −ơng I: MÔ Tả BàI TOáN

* Chức năng bán hàng khi đã phân rã đ ợc mô tả nh sau: −ơng I: MÔ Tả BàI TOáN −ơng I: MÔ Tả BàI TOáN

Danh sách các thuộc tính

6.1 Danh mục Thanh toán nhà cung cấp

Tên Trờng Kiểu Độ rộng Ghi chú

ID_ThanhToan int Khoá chính

SoTien decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18,

0) nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải TTNo bμy các kết quả thu đ−ợc trong quá trìnhit Nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Tên Trờng Kiểu Độ rộng Ghi chú

TenCHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất nvarchar 50

Fax nvarchar 50 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

MST nvarchar 50 Mã số thuế, nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

6.3 Danh mục Thanh Toán Khách hàng

Tên Trờng Kiểu Độ rộng Ghi chú

ID_Thanhtoan int Khoá chính

SoTien decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0) nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

TTNo bμy các kết quả thu đ−ợc trong quá trìnhit Nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Tên Trờng Kiểu Độ rộng Ghi chú

ID_PX int Khoá chính

SoHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtD int nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

ID_KHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất Int

ID_NVC int nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

TongTien decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18,

0)Ghichu nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Tên Trờng Kiểu Độ rộng Ghi chú

ID_PN int Khoá chính

SoHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtD int

TongTien decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0)

Ghichu nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Tên Trờng Kiểu Độ rộng Ghi chú

ID_NV int Khoá chính

TrangThaiAn bμy các kết quả thu đ−ợc trong quá trìnhit

Tên Trờng Kiểu Độ rộng Ghi chú

ID_NHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int Khoá chính

TenNhanHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtieu nvarchar 50

Mota nvarchar 50 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

6.8 Danh mục Nhà cung cấp

Tên Trờng Kiểu Độ rộng Ghi chú

ID_NCC int Khoá chính

TrangThaiAn bμy các kết quả thu đ−ợc trong quá trìnhit

Tên Trờng Kiểu Độ rộng Ghi chú

ID_KHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int Khoá chính

TenKHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất nvarchar 50

Tên Trờng Kiểu Độ rộng Ghi chú

ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int Khoá chính ID_NHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int 50

TenHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtang nvarchar 100

DVT nvarchar 20 đơn vị tính

Solμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuong int

DonGiaNhap decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0) nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

DonGiaXuat decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0) Nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Mota nvarchar Nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

TrangThaiAn bμy các kết quả thu đ−ợc trong quá trìnhit

6.11 Danh môc Chi tiÕt xuÊt

Tên Trờng Kiểu Độ rộng Ghi chú

ID_CTX int Khoá chính

ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int

Seri nvarchar 30 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Solμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuong int

DonGiaXuat decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0)

Ghichu nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

6.12 Danh môc Chi tiÕt nhËp

Tên Trờng Kiểu Độ rộng Ghi chú

ID_CTPN int Khoá chính

ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int

Solμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuong int

DonGiaNhap decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0)

Ghichu nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Thiết kế cơ sở dữ lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiiệu và sơ đồ quan hệ

Tên Trờng Kiểu Độ rộng Ghi chú

ID_BG int Khoá chính

ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất int

DonGia decimalμm rõ các yêu cầu tin học hoá Cách tiếp cận giải(18, 0)

Tên Trờng Kiểu Độ rộng Ghi chú

ID_CL int Khoá chính

Mota nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Tên Trờng Kiểu Độ rộng Ghi chú

ID_BG int Khoá chính

Ngay_BG datetime nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

NguoiNhan nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

GhiChu nvarchar 200 nulμm rõ các yêu cầu tin học hoá Cách tiếp cận giảilμm rõ các yêu cầu tin học hoá Cách tiếp cận giải

Tên Trờng Kiểu Độ rộng Ghi chú uname nvarchar 50 pass nvarchar 50

II Thiết kế cơ sở dữ liệu vμ thiết kế hệ thốngà sơ đồ quan hệ

1 Thiết kế cơ sở dữ liệu

Mô tả chi tiết các bμy các kết quả thu đ−ợc trong quá trìnhảng:

Từ mô hình trên các quan hệ nhận đ ợc lμm rõ các yêu cầu tin học hoá Cách tiếp cận giải : μi trình bμy các kết quả thu đ−ợc trong quá trình

Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanNCC(ID_ThanhToan, ID_PN, Ngay, SoTien, TTNo)

Tbμy các kết quả thu đ−ợc trong quá trình_PhieuNhap(ID_PN, SoHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtD, Ngay, ID_NCC, TongTien, Ghichu)

Tbμy các kết quả thu đ−ợc trong quá trình_NCC(ID_NCC, TenNCC, SDT, Fax, MSThue, Diachi)

Tbμy các kết quả thu đ−ợc trong quá trình_CTNhap(ID_CTPN, ID_PN, ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, Solμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuong, DonGiaNhap, Ghichu) Tbμy các kết quả thu đ−ợc trong quá trình_ThanhToanKHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất(ID_Thanhtoan, ID_PX, Ngay, SoTien, TTNo)

Tbμy các kết quả thu đ−ợc trong quá trình_KhachHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtang(ID_KHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, TenKHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, Diachi, SDT)

Tbμy các kết quả thu đ−ợc trong quá trình_NhanHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtieu(ID_NHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, TenNhanHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtieu, Mota)

Tbμy các kết quả thu đ−ợc trong quá trình_PhieuXuat(ID_PX, SoHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtD, Ngay, ID_KHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, ID_NLP, ID_NVC, TongTien, Ghichu)

Tbμy các kết quả thu đ−ợc trong quá trình_BaoGia(ID_BG, Ngay_BG, NguoiNhan, GhiChu)

Tbμy các kết quả thu đ−ợc trong quá trình_CTBaoGia(ID_BG, ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, DonGia, GhiChu)

Tbμy các kết quả thu đ−ợc trong quá trình_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtangHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtoa(ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, ID_NHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, ID_CL, TenHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtang, DVT, Solμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuong, DonGiaNhap, DonGiaXuat, Mota, TrangThaiAn)

Tbμy các kết quả thu đ−ợc trong quá trình_ChungLoai(ID_CL, TenChungLoai, Mota)

Tbμy các kết quả thu đ−ợc trong quá trình_NhanVien(ID_NV, TenNV, Diachi, SDT, TrangThaiAn)

Tbμy các kết quả thu đ−ợc trong quá trình_CTXuat(ID_CTX, ID_PX, ID_Hμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mấtHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, Seri, Solμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiuong, DonGiaXuat, Ghichu)

Tbμy các kết quả thu đ−ợc trong quá trình_ThongTin(TenCHμng hoá hết hạn sử dụng, hμng nhập quá mức yêu cầu, hμng mất, Diachi, SDT, Fax, MST)

Tbμy các kết quả thu đ−ợc trong quá trình_Admin(uname, pass)

Chơng III Xây dựng chơng trình

Một số form đặc trng của hệ thống

Chức năng : Chỉ nguời quản lý mới đăng nhập và sử dụng chuơng tr×nh

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

Dim uname As String = Me.UsernameTextBox.Text

Dim pass As String = Me.PasswordTextBox.Text

If uname Me.Cua_hang_1DataSet.Tb_Admin.Rows(0).Item("uname") And pass Me.Cua_hang_1DataSet.Tb_Admin.Rows(0).Item("pass") Then

MessageBox.Show("Đăng nhập sai!", TenCH,

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Cancel.Click

Private Sub FrmDangNhap_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_Admin' table You can move, or remove it, as needed.

Me.Tb_AdminTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_Admin) End Sub

-Thêm mới nhà cung cấp hoặc chọn những nhà cung cấp sẵn có -Lựa chọn mặt hàng thêm hoặc thêm những mặt hàng sẵn có

Private Sub FrmPhieuNhap_FormClosing(ByVal sender As Object, ByVal e

As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

If MessageBox.Show("Bạn có chắc chắn chắn muốn hủy Đơn hàng này ?", "Xác nhận hành động", MessageBoxButtons.YesNo,

MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then e.Cancel = True

Private Sub FrmPhieuNhap_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_NhanHieu' table You can move, or remove it, as needed.

Me.Tb_NhanHieuTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanHieu)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ChungLoai' table You can move, or remove it, as needed.

Me.Tb_ChungLoaiTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ChungLoai)

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC, "", "",

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Me.GrdDsHangNhap.Columns(3).SortMode DataGridViewColumnSortMode.NotSortable

For i = 0 To Me.Cua_hang_1DataSet.Func_TimNCC.Rows.Count - 1

Me.TxtTimNCC.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Func_TimNC C.Rows(i).Item("TenNCC"))

Me.Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaNhap.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangKtAn.Rows(i).Item("TenHang"))

Private Sub TxtTimNCC_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtTimNCC.TextChanged

Select Case DkLoc(CmbDkLocNCC.SelectedItem.ToString)

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC,

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC, "", TxtTimNCC.Text.Trim, "")

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC, "", "", TxtTimNCC.Text.Trim)

Private Sub CmbDkLocNCC_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Select Case DkLoc(CmbDkLocNCC.SelectedItem.ToString)

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC,

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC, "", TxtTimNCC.Text.Trim, "")

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC, "", "", TxtTimNCC.Text.Trim)

LstBNCC.DisplayMember (DkLoc(CmbDkLocNCC.SelectedItem.ToString))

Private Sub CmbChungloaiNhap_SelectedIndexChanged(ByVal sender

As System.Object, ByVal e As System.EventArgs) Handles

'Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMat HangKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Me.Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaNhap.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangKtAn.Rows(i).Item("TenHang"))

Private Sub CmbNhanhieuNhap_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Me.Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaNhap.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangKtAn.Rows(i).Item("TenHang"))

Private Sub TxtTimHanghoaNhap_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtTimHanghoaNhap.GotFocus

Private Sub TxtTimHanghoaNhap_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles

If e.KeyCode = Keys.Enter Then add()

Private Sub TxtTimHanghoaNhap_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Me.CmbChungloaiNhap.SelectedValue, Me.TxtTimHanghoaNhap.Text)

Private Sub CmbDkLocHanghoanhap_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Me.CmbChungloaiNhap.SelectedValue, Me.TxtTimHanghoaNhap.Text)

Dim intID_HH As Integer = Me.LstBHanghoaNhap.SelectedValue Dim strDVT As String = Me.Queries.Qr_DVT(intID_HH)

Dim strTenHang As String = Me.Queries.Qr_TenHang(intID_HH) Dim sl As Integer = 1

Dim intDongia As Integer Me.Queries.Qr_DonGiaNhap(intID_HH)

Dim intThanhTien As Integer = sl * intDongia

Dim rowobj As String() = New String() {intID_HH, strTenHang, strDVT, sl, intDongia, intThanhTien}

Dim count As Integer = Me.GrdDsHangNhap.Rows.Count

Dim grd As String = Nothing

If intID_HH = Nothing Then

Me.GrdDsHangNhap.Rows(0).Cells(4).Value Format(CType(Me.GrdDsHangNhap.Rows(0).Cells(4).Value, Double), "N0") Me.GrdDsHangNhap.Rows(0).Cells(5).Value Format(CType(Me.GrdDsHangNhap.Rows(0).Cells(5).Value, Double), "N0") '============ Else

For i = 0 To count - 1 intDongia = Me.GrdDsHangNhap.Rows(i).Cells(4).Value grd = Me.GrdDsHangNhap.Rows(i).Cells(0).Value

If (intID_HH = grd) Then sl = Me.GrdDsHangNhap.Rows(i).Cells(3).Value + 1

Me.GrdDsHangNhap.Rows(i).Cells(3).Value = sl Me.GrdDsHangNhap.Rows(i).Cells(5).Value = sl * intDongia

Me.GrdDsHangNhap.Rows(i).Cells(4).Value Format(CType(Me.GrdDsHangNhap.Rows(i).Cells(4).Value, Double), "N0") Me.GrdDsHangNhap.Rows(i).Cells(5).Value Format(CType(Me.GrdDsHangNhap.Rows(i).Cells(5).Value, Double), "N0") '============ End If

Private Sub LstBHanghoaNhap_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles

If LstBHanghoaNhap.Items.Count 0 Then add()

Private Sub BtnNhap_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnNhap.Click

If TxtTenNCC.Text = "" Or TxtSdtNCC.Text = "" Or

MessageBox.Show("Bạn chưa chọn Nhà cung cấp.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

If Trim(Me.TxtSoHD.Text) = "" Then

If MessageBox.Show("Bạn có muốn tiếp tục ghi Hóa đơn này mà không có Số Hóa đơn?", "Chưa nhập số hóa đơn",

MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.No Then Me.TxtSoHD.Focus()

Dim intID_HH As Integer

If Me.txtThanhToan.Text = 0 Then

If MessageBox.Show("Bạn có muốn tiếp tục ghi Hóa đơn vói Thanh toán = 0?", "Hóa đơn chưa được thanh toán",

MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.No Then Exit Sub

If Me.GrdDsHangNhap.Rows.Count = 0 Then

MessageBox.Show("Bạn chưa chọn Mặt hàng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

Me.Queries.Ins_PhieuNhap(Me.DtNgayNhap.Value,

Me.TxtSoHD.Text, Me.LstBNCC.SelectedValue, Me.TxtTongTien.Text,

Me.txtThanhToan.Text, Me.TxtGhichu.Text)

For i As Integer = 0 To Me.GrdDsHangNhap.Rows.Count - 1 intID_HH = Me.GrdDsHangNhap.Rows(i).Cells(0).Value intSoLuong = Me.GrdDsHangNhap.Rows(i).Cells(3).Value intDonGiaNhap = Me.GrdDsHangNhap.Rows(i).Cells(4).Value strGhiChu = Me.GrdDsHangNhap.Rows(i).Cells(6).Value

Me.Queries.Ins_CTNhap(Me.Queries.Qr_MaxID_PN, intID_HH, intSoLuong, intDonGiaNhap, strGhiChu)

If MessageBox.Show("Đơn hàng đã được lưu, bạn có muốn in hóa đơn không?", "Đã lưu Đơn hàng", MessageBoxButtons.YesNo,

MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

FrmInPhieuNhap.Thanhtoan = Me.txtThanhToan.Text

FrmInPhieuNhap.TongTien = Me.TxtTongTien.Text

FrmInPhieuNhap.ID_PN = Me.Queries.Qr_MaxID_PN

Private Sub BtnHuy_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnHuy.Click

Private Sub GrdDsHangNhap_CellEndEdit(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles GrdDsHangNhap.CellEndEdit

Dim Dongchon As DataGridViewRow Me.GrdDsHangNhap.CurrentRow

If Not IsNumeric(Dongchon.Cells(3).Value) Then

MessageBox.Show("Số lượng phải là số!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

If Not IsNumeric(Dongchon.Cells(4).Value) Then

MessageBox.Show("Đơn giá phải là số!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

Dongchon.Cells(4).Value Queries.Qr_DonGiaNhap(Dongchon.Cells(0).Value)

Dim intSL As Integer = Dongchon.Cells(3).Value

Dim intDonGia As Integer = Dongchon.Cells(4).Value

Dongchon.Cells(4).Value Format(CType(Dongchon.Cells(4).Value, Double), "N0")

Dongchon.Cells(4).Value Format(CType(Dongchon.Cells(4).Value, Double), "N0")

'============ Dim intThanhTien As Integer = intSL * intDonGia

For i As Integer = 0 To Me.GrdDsHangNhap.Rows.Count - 1 intTongTien += Me.GrdDsHangNhap.Rows(i).Cells(5).Value Next

Private Sub GrdDsHangNhap_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles GrdDsHangNhap.CellValueChanged

For i As Integer = 0 To Me.GrdDsHangNhap.Rows.Count - 1 intTongTien += Me.GrdDsHangNhap.Rows(i).Cells(5).Value Next

Private Sub btnNhaplai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNhaplai.Click

Me.Tb_NhanHieuTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanHieu)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ChungLoai' table You can move, or remove it, as needed.

Me.Tb_ChungLoaiTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ChungLoai)

Me.Func_TimNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNCC, "", "",

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Private Sub GrdDsHangNhap_RowsAdded(ByVal sender As

System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles

For i As Integer = 0 To Me.GrdDsHangNhap.Rows.Count - 1 intTongTien += Me.GrdDsHangNhap.Rows(i).Cells(5).Value Next

Private Sub txtThanhToan_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtThanhToan.TextChanged

If (Me.TxtTongTien.Text = "") Then

Dim tongtien As Integer = CType(Me.TxtTongTien.Text, Long)

Dim thanhtoan As Integer = Me.txtThanhToan.Text

If txtThanhToan.Text.Trim = "" Then txtThanhToan.Text = "0"

Else txtThanhToan.Text = Format(CType(txtThanhToan.Text, Long), "N0") txtThanhToan.SelectionStart txtThanhToan.Text.Length

If thanhtoan > tongtien Then thanhtoan = tongtien

Me.TxtConNo.Text = Format(tongtien - thanhtoan,

'MessageBox.Show("Thanh toán phải nhập số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

If (txtThanhToan.Text.Length > 0) Then txtThanhToan.Text = Mid(txtThanhToan.Text, 1, txtThanhToan.Text.Length - 1)

Private Sub TxtTongTien_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

TxtTongTien.TextChanged txtThanhToan_TextChanged(sender, e)

Private Sub GrdDsHangNhap_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs)

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 35, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(GrdDsHangNhap.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(),

GrdDsHangNhap.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub CmbChungloaiNhap_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuNhap.SelectedValue,

Me.Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaNhap.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangKtAn.Rows(i).Item("TenHang"))

Chức năng : lập phiếu xuất chi tiết khi hàng đuợc bán ra

Private Sub FrmPhieuXuat_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles

If MessageBox.Show("Bạn có chắc chắn chắn muốn hủy Đơn hàng này ?", "Xác nhận hành động", MessageBoxButtons.YesNo,

MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then e.Cancel = True

Private Sub FrmPhieuXuat_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_NhanVien' table You can move, or remove it, as needed.

Me.Tb_NhanVienTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanVien)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_NhanHieu' table You can move, or remove it, as needed.

Me.Tb_NhanHieuTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanHieu)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ChungLoai' table You can move, or remove it, as needed.

Me.Tb_ChungLoaiTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ChungLoai)

Me.Func_TimMatHangBanKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimM atHangBanKtAn, Me.CmbNhanhieuXuat.SelectedValue,

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", "")

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH, "", "")

For i = 0 To Me.Cua_hang_1DataSet.Func_TimKH.Rows.Count - 1

Me.TxtTimKH.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Func_TimKH. Rows(i).Item("TenKH"))

Me.Cua_hang_1DataSet.Func_TimMatHangBanKtAn.Rows.Count - 1

Me.TxtTimHanghoaXuat.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangBanKtAn.Rows(i).Item("TenHang"))

Private Sub CmbChungloaiXuat_SelectedIndexChanged(ByVal sender

As System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangBanKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimM atHangBanKtAn, Me.CmbNhanhieuXuat.SelectedValue,

Me.Cua_hang_1DataSet.Func_TimMatHangBanKtAn.Rows.Count - 1

Me.TxtTimHanghoaXuat.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangBanKtAn.Rows(i).Item("TenHang"))

Private Sub CmbNhanhieuXuat_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangBanKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimM atHangBanKtAn, Me.CmbNhanhieuXuat.SelectedValue,

Me.Cua_hang_1DataSet.Func_TimMatHangBanKtAn.Rows.Count - 1

Me.TxtTimHanghoaXuat.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Fu nc_TimMatHangBanKtAn.Rows(i).Item("TenHang"))

Private Sub TxtTimHanghoaXuat_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtTimHanghoaXuat.GotFocus

Private Sub TxtTimHanghoaXuat_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles

If e.KeyCode = Keys.Enter Then add()

Private Sub TxtTimHanghoaXuat_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangBanKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimM atHangBanKtAn, Me.CmbNhanhieuXuat.SelectedValue,

Me.CmbChungloaiXuat.SelectedValue, Me.TxtTimHanghoaXuat.Text)

Dim intID_HH As Integer = Me.LstBHanghoaXuat.SelectedValue Dim strDVT As String = Me.Queries.Qr_DVT(intID_HH)

Dim strTenHang As String = Me.Queries.Qr_TenHang(intID_HH) Dim sl As Integer = 1

Dim intDongia As Long = Me.Queries.Qr_DonGiaXuat(intID_HH) Dim intThanhTien As Long = sl * intDongia

Dim strSeri As String = Nothing

Dim slTrongKho As Integer = Me.Queries.Qr_SoLuong(intID_HH)

MessageBox.Show("Mặt hàng này trong kho đã hết!", "Vượt giới hạn kho hàng", MessageBoxButtons.OK)

Dim rowobj As String() = New String() {intID_HH, strTenHang, strSeri, strDVT, sl, intDongia, intThanhTien}

Dim count As Integer = Me.GrdDsHangXuat.Rows.Count

Dim grd As String = Nothing

If intID_HH = Nothing Then

Me.GrdDsHangXuat.Rows(0).Cells(5).Value Format(CType(Me.GrdDsHangXuat.Rows(0).Cells(5).Value, Double), "N0") Me.GrdDsHangXuat.Rows(0).Cells(6).Value Format(CType(Me.GrdDsHangXuat.Rows(0).Cells(6).Value, Double), "N0") '============ Else

For i = 0 To count - 1 intDongia = Me.GrdDsHangXuat.Rows(i).Cells(5).Value grd = Me.GrdDsHangXuat.Rows(i).Cells(0).Value

If (intID_HH = grd) Then sl = Me.GrdDsHangXuat.Rows(i).Cells(4).Value + 1

If sl > Me.Queries.Qr_SoLuong(intID_HH) Then

MessageBox.Show("Bạn đã chọn quá số lượng hàng còn trong kho!", "Vượt giới hạn kho hàng", MessageBoxButtons.OK) Exit Sub

Me.GrdDsHangXuat.Rows(i).Cells(4).Value = sl Me.GrdDsHangXuat.Rows(i).Cells(6).Value = sl * intDongia

Me.GrdDsHangXuat.Rows(i).Cells(5).Value Format(CType(Me.GrdDsHangXuat.Rows(i).Cells(5).Value, Double), "N0") Me.GrdDsHangXuat.Rows(i).Cells(6).Value Format(CType(Me.GrdDsHangXuat.Rows(i).Cells(6).Value, Double), "N0") '===================== End If

Private Sub LstBHanghoaXuat_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LstBHanghoaXuat.MouseDoubleClick

If LstBHanghoaXuat.Items.Count 0 Then add()

Private Sub GrdDsHangXuat_CellEndEdit(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles GrdDsHangXuat.CellEndEdit

Dim Dongchon As DataGridViewRow Me.GrdDsHangXuat.CurrentRow

If Not IsNumeric(Dongchon.Cells(4).Value) Then

MessageBox.Show("Số lượng phải là số!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

If Dongchon.Cells(4).Value Me.Queries.Qr_SoLuong(Dongchon.Cells(0).Value) Then

MessageBox.Show("Bạn đã chọn quá số lượng hàng còn trong kho!", "Vượt giới hạn kho hàng", MessageBoxButtons.OK)

Dongchon.Cells(4).Value Me.Queries.Qr_SoLuong(Dongchon.Cells(0).Value)

Dim intDonGia As Long = Dongchon.Cells(5).Value intSL = Dongchon.Cells(4).Value

Dim intThanhTien As Long = intSL * intDonGia

For i As Integer = 0 To Me.GrdDsHangXuat.Rows.Count - 1 intTongTien += Me.GrdDsHangXuat.Rows(i).Cells(6).Value Next

Private Sub BtnHuy_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnHuy.Click

Private Sub TxtTimKH_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtTimKH.TextChanged

Select Case DkLoc(CmbDkLocKH.SelectedItem.ToString)

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH,

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH, "", TxtTimKH.Text)

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH, "", "") End Select

Private Sub CmbDkLocKH_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Select Case DkLoc(CmbDkLocKH.SelectedItem.ToString)

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH,

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH, "", TxtTimKH.Text)

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH, "", "") End Select

LstBKhachHang.DisplayMember (DkLoc(CmbDkLocKH.SelectedItem.ToString))

Private Sub BtnNhap_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnNhap.Click

Dim strSoHD As String = Nothing

Dim intID_HH As Integer = Nothing

Dim strSeri As String = Nothing

Dim intSoLuong As Integer = Nothing

Dim intDonGiaXuat As Long = Nothing

If Me.txtThanhToan.Text = 0 Then

If MessageBox.Show("Bạn có muốn tiếp tục ghi Hóa đơn với Thanh toán = 0?", "Hóa đơn chưa được thanh toán",

MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.No Then Exit Sub

If Me.GrdDsHangXuat.Rows.Count = 0 Then

MessageBox.Show("Bạn chưa chọn Mặt hàng.",

"Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

'Lỗi khi không có nhân viên được nhập vào

Me.Queries.Ins_PhieuXuat(taoMaPhieuXuat,

Me.DtNgayXuat.Value, Me.LstBKhachHang.SelectedValue,

Me.cmbLapPhieu.SelectedValue, Me.cmbNguoiVanChuyen.SelectedValue,

Me.TxtTongTien.Text, Me.txtThanhToan.Text, Me.TxtGhichu.Text)

MessageBox.Show("Bạn chưa chọn Khách hàng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

For i As Integer = 0 To Me.GrdDsHangXuat.Rows.Count - 1 intID_HH = Me.GrdDsHangXuat.Rows(i).Cells(0).Value strSeri = Me.GrdDsHangXuat.Rows(i).Cells(2).Value intSoLuong = Me.GrdDsHangXuat.Rows(i).Cells(4).Value intDonGiaXuat = Me.GrdDsHangXuat.Rows(i).Cells(5).Value strGhiChu = Me.GrdDsHangXuat.Rows(i).Cells(7).Value Me.Queries.Ins_CTXuat(Me.Queries.Qr_MaxID_PX, intID_HH, strSeri, intSoLuong, intDonGiaXuat, strGhiChu)

MessageBox.Show("Đã lưu Hóa đơn Xin chờ Hóa đơn bán hàng được sinh ra", TenCH, MessageBoxButtons.OK, MessageBoxIcon.Information) FrmInPhieuXuat.Thanhtoan = Me.txtThanhToan.Text

FrmInPhieuXuat.TongTien = Me.TxtTongTien.Text

FrmInPhieuXuat.ID_PX = Me.Queries.Qr_MaxID_PX

FrmInPhieuXuat.NLP Queries.Qr_TenNV(cmbLapPhieu.SelectedValue)

Private Sub btnNhaplai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNhaplai.Click

Me.Tb_NhanVienTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanVien)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_NhanHieu' table You can move, or remove it, as needed.

Me.Tb_NhanHieuTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanHieu)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ChungLoai' table You can move, or remove it, as needed.

Me.Tb_ChungLoaiTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ChungLoai)

Me.Func_TimMatHangBanKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimM atHangBanKtAn, Me.CmbNhanhieuXuat.SelectedValue,

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", "")

Me.Func_TimKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimKH, "", "") End Sub

Private Sub GrdDsHangXuat_RowsAdded(ByVal sender As

System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles

For i As Integer = 0 To Me.GrdDsHangXuat.Rows.Count - 1 intTongTien += Me.GrdDsHangXuat.Rows(i).Cells(6).Value Next

Private Sub GrdDsHangXuat_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles GrdDsHangXuat.CellValueChanged

For i As Integer = 0 To Me.GrdDsHangXuat.Rows.Count - 1 intTongTien += Me.GrdDsHangXuat.Rows(i).Cells(6).Value Next

Private Sub TxtTongTien_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

TxtTongTien.TextChanged txtThanhToan_TextChanged(sender, e)

Private Sub txtThanhToan_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtThanhToan.TextChanged

If (Me.TxtTongTien.Text = "") Then

Dim tongtien As Long = CType(Me.TxtTongTien.Text, Long) Dim thanhtoan As Long = Me.txtThanhToan.Text

If txtThanhToan.Text.Trim = "" Then txtThanhToan.Text = "0"

Else txtThanhToan.Text = Format(CType(txtThanhToan.Text, Long), "N0") txtThanhToan.SelectionStart txtThanhToan.Text.Length

If thanhtoan > tongtien Then thanhtoan = tongtien

Me.TxtConNo.Text = Format(tongtien - thanhtoan,

'MessageBox.Show("Thanh toán phải nhập số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

If (txtThanhToan.Text.Length > 0) Then txtThanhToan.Text = Mid(txtThanhToan.Text, 1, txtThanhToan.Text.Length - 1)

Private Sub GrdDsHangXuat_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles GrdDsHangXuat.RowPostPaint

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 35, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(GrdDsHangXuat.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(),

GrdDsHangXuat.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub FrmPhieuXuat_FormClosed(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed

Chức năng : Quản lý nợ của công ty

Inherits DevComponents.DotNetBar.Office2007Form

Private Sub FrmCongNoNCC_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'd Me.dtNgayTra.Value = DateTime.Now

Me.dtTuNgay.Value = DateSerial(Now.Year, Now.Month, 1) ' Me.dtDenngay.Value = Now.Date

'CHÚ Ý Ở ĐÂY số lượng bản ghi trong csdl = 0 hoặc giờ hệ thống bị reset

Me.Func_TimNoNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNoNCC, Me.dtTuNgay.Value, Date.Now, "", "")

If Me.grdNo.RowCount 0 Then

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, Me.grdNo.CurrentRow.Cells(0).Value)

' MessageBox.Show(Me.cmbDkLoc.SelectedItem.ToString) Me.lblTimThay.Text = "Tìm được " & Me.grdNo.RowCount & " Hóa đơn"

For i = 0 To Me.Cua_hang_1DataSet.Func_TimNoNCC.Rows.Count - 1

Me.txtDkLoc.AutoCompleteCustomSource.Add(Me.Cua_hang_1DataSet.Func_TimNoN CC.Rows(i).Item("SoHD"))

Next grdNo.Columns(0).Visible = False

Dim key As String = Trim(Me.txtDkLoc.Text)

Dim loc As String = DkLoc(Me.cmbDkLoc.SelectedItem.ToString)

If Me.dtTungay.Value = Nothing Then dtTu = DateSerial(Now.Year, Now.Month, 1)

Else dtTu = Me.dtTungay.Value

If Me.dtDenngay.Value = Nothing Then dtDen = Date.Now

Else dtDen = Me.dtDenngay.Value

Me.Func_TimNoNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNoNCC, dtTu, dtDen, key, "")

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, Me.grdNo.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, 0)

Me.Func_TimNoNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNoNCC, dtTu, dtDen, "", key)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, Me.grdNo.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, 0)

Me.lblTimThay.Text = "Tìm được " & Me.grdNo.RowCount & " Hóa đơn"

Private Sub txtDkLoc_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDkLoc.TextChanged

'MessageBox.Show(Me.cmbDkLoc.SelectedItem.ToString)

If DkLoc(Me.cmbDkLoc.SelectedItem.ToString) = "Số Hóa đơn" Then

Me.Func_TimNoNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNoNCC, Me.dtTuNgay.Value, Me.dtDenNgay.Value, txtDkLoc.Text.Trim, "")

Me.Func_TimNoNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNoNCC, Me.dtTuNgay.Value, Me.dtDenNgay.Value, "", txtDkLoc.Text.Trim)

Private Sub dtTungay_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtTuNgay.CloseUp

Private Sub dtDenngay_ValueChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles dtDenNgay.CloseUp Tim()

Private Sub cmbDkLoc_SelectedIndexChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmbDkLoc.SelectedIndexChanged

Private Sub btnexit_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles btnexit.Click

If MessageBox.Show("Bạn chắc chắn muốn thoát ?", "Xác nhận hành động", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) Windows.Forms.DialogResult.Yes Then

Private Sub btnCapnhat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCapnhat.Click

If txtSoTien.Text.Trim = "" Or txtSoTien.Text.Trim = "0" Then Exit Sub

Dim chon As Integer Me.grdNo.CurrentRow.Cells(0).Value.ToString

Me.Queries.Ins_ThanhToanNCC(Me.grdNo.CurrentRow.Cells(0).Value,

Me.dtNgayTra.Value, Me.txtSoTien.Text)

For i = 0 To Me.grdNo.RowCount - 1

If Me.grdNo.Rows(i).Cells(0).Value = chon Then Me.grdNo.CurrentCell Me.grdNo.Rows(i).Cells(1)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, chon)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, 0)

FrmInHDTTNCC.ShowDialog() txtSoTien.Text = "0" txtConNo.Text = "0"

Private Sub grdNo_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdNo.CellClick grdNo_CellContentClick(sender, e)

Private Sub grdNo_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdNo.CellContentClick

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, Me.grdNo.CurrentRow.Cells(0).Value)

Private Sub grdNo_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles grdNo.KeyDown

If e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Up Or e.KeyCode = Keys.Down Or e.KeyCode = Keys.Tab Then

Me.Func_CTThanhToanNCCTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanh ToanNCC, Me.grdNo.CurrentRow.Cells(0).Value)

Private Sub txtSoTien_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSoTien.TextChanged

If Trim(Me.txtConLai.Text) = "" Then

Dim tong As Integer = CType(Me.txtConLai.Text, Integer) Dim sotien As Integer = Me.txtSoTien.Text

If Trim(Me.txtSoTien.Text) = "" Then

Else txtSoTien.Text = Format(CType(txtSoTien.Text, Long),

"N0") txtSoTien.SelectionStart = txtSoTien.Text.Length

If sotien > tong Then sotien = tong

Me.txtConNo.Text = Format(tong - sotien, "N0")

'MessageBox.Show("Thanh toán phải nhập số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

If (Me.txtSoTien.Text.Length > 0) Then txtSoTien.Text = Mid(txtSoTien.Text, 1, txtSoTien.Text.Length - 1)

Private Sub grdNo_RowPostPaint(ByVal sender As Object, ByVal e

As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdNo.RowPostPaint grdNo.CreateGraphics.DrawString("", New Font(Me.Font.Name,

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 35, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdNo.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdNo.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdTraNo_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdTraNo.RowPostPaint grdTraNo.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 35, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdTraNo.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdTraNo.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub txtDaTT_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDaTT.TextChanged

If txtDaTT.Text.Trim = "" Then txtDaTT.Text = "0"

Else txtDaTT.Text = Format(CType(txtDaTT.Text, Long),

"N0") txtDaTT.SelectionStart = txtDaTT.Text.Length txtConLai.Text = Format(CType(txtConLai.Text, Long),

"N0") txtConLai.SelectionStart = txtConLai.Text.Length End If

' MessageBox.Show("Đơn giá phải là số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

Private Sub txtTong_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTong.TextChanged

If txtTong.Text.Trim = "" Then txtDaTT.Text = "0"

Else txtTong.Text = Format(CType(txtTong.Text, Long),

"N0") txtTong.SelectionStart = txtTong.Text.Length

' MessageBox.Show("Đơn giá phải là số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

Private Sub txtConLai_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtConLai.TextChanged

If txtConLai.Text.Trim = "" Then txtConLai.Text = "0"

Else txtConLai.Text = Format(CType(txtConLai.Text, Long),

"N0") txtConLai.SelectionStart = txtConLai.Text.Length End If

' MessageBox.Show("Đơn giá phải là số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

Private Sub FrmCongNoNCC_FormClosed(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed

 Form Quản lý hàng hóa ( kho hàng )

Chức năng : thêm mới các loại hàng hoá , nhãn hiệu với các đơn vị tính , giá nhập , giá bán

Inherits DevComponents.DotNetBar.Office2007Form

Private Sub FrmTemHangHoa_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_NhanHieu' table You can move, or remove it, as needed.

Me.Tb_NhanHieuTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanHieu)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ChungLoai' table You can move, or remove it, as needed.

Me.Tb_ChungLoaiTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ChungLoai)

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue, "")

Private Sub TxtTimHangHoa_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue,

Private Sub CmbChungLoai_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue, "")

Private Sub CmbNhanHieu_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue, "")

Private Sub BtnNhaplai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNhaplai.Click

TxtMota.Clear() txtDonGiaBan.Clear() txtDonGiaNhap.Clear()

Private Sub BtnDong_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnDong.Click

Private Sub BtnThem_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnThem.Click

If CmbChungLoai.SelectedValue = Nothing Then

MessageBox.Show(Nothing, "Chọn sai tên chủng loại hoặc chủng loại chưa có", "Thông báo", MessageBoxButtons.OK,

If CmbNhanHieu.SelectedValue = Nothing Then

MessageBox.Show(Nothing, "Chọn sai tên nhãn hiệu hoặc nhãn hiệu chưa có", "Thông báo", MessageBoxButtons.OK,

Me.Queries.Ins_HangHoa(Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue, Trim(TxtTenHang.Text), Trim(TxtDVT.Text), Trim(txtDonGiaNhap.Text), Trim(txtDonGiaBan.Text), Trim(TxtMota.Text)) TxtTenHang.Clear()

TxtMota.Clear() txtDonGiaBan.Clear() txtDonGiaNhap.Clear()

MessageBox.Show("Bạn chưa nhập đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue, "")

Private Sub GrdHangHoa_CellContentClick(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles GrdHangHoa.CellContentClick

If e.ColumnIndex = 10 And e.RowIndex -1 Then

Dim Dongchon As DataGridViewRow GrdHangHoa.CurrentRow

Me.Queries.Upd_HangHoa(Dongchon.Cells(0).Value, Trim(Dongchon.Cells(1).Value), Trim(Dongchon.Cells(2).Value),

Trim(Dongchon.Cells(3).Value), Dongchon.Cells(5).Value.ToString,

Trim(Dongchon.Cells(4).Value), Trim(Dongchon.Cells(6).Value),

Trim(Dongchon.Cells(7).Value), Dongchon.Cells(8).Value.ToString,

MessageBox.Show("Dữ liệu đã được sửa.", TenCH, MessageBoxButtons.OK, MessageBoxIcon.Information)

MessageBox.Show("Dữ liệu nhập vào không hợp lệ",

"Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue, "")

Private Sub TxtTenHang_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatHang, Me.CmbNhanHieu.SelectedValue, Me.CmbChungLoai.SelectedValue,

Private Sub GrdHangHoa_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles GrdHangHoa.CellBeginEdit dgQLKH = GrdHangHoa.CurrentCell.Value.ToString

Private Sub GrdHangHoa_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles

'Dim dongChon As DataGridViewRow = Me.GrdHangHoa.CurrentRow

If (e.ColumnIndex = 5 Or e.ColumnIndex = 6 Or e.ColumnIndex

If Not IsNumeric(GrdHangHoa.CurrentCell.Value) Then 'MessageBox.Show("Đơn giá phải là số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

'Queries.Qr_DonGiaNhap(dongChon.Cells(0).Value)

'If Not IsNumeric(dongChon.Cells(7).Value) Or

Trim(dongChon.Cells(7).Value) = "" Then

' 'MessageBox.Show("Đơn giá phải là số!", "Có lỗi xảy ra", MessageBoxButtons.OK, MessageBoxIcon.Error)

'Queries.Qr_DonGiaNhap(dongChon.Cells(0).Value)

'BAT LOI NHAP DU LIEU

Private Sub GrdHangHoa_DataError(ByVal sender As Object, ByVal e

As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles

'MessageBox.Show("Lỗi nhập dữ liệu!", "Có lỗi do người dùng", MessageBoxButtons.OK, MessageBoxIcon.Error)

Private Sub BtnThemNhanHieu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnThemNhanHieu.Click frmDmNhanHieu.ShowDialog()

Private Sub BtnThemChungLoai_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Private Sub txtDonGiaNhap_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtDonGiaNhap.TextChanged

If txtDonGiaNhap.Text.Trim = "" Then txtDonGiaNhap.Text = "0"

Else txtDonGiaNhap.Text Format(CType(txtDonGiaNhap.Text, Long), "N0") txtDonGiaNhap.SelectionStart txtDonGiaNhap.Text.Length

MessageBox.Show("Đơn giá phải là số!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error) txtDonGiaNhap.Text = Mid(txtDonGiaNhap.Text, 1, txtDonGiaNhap.Text.Length - 1)

Private Sub txtDonGiaBan_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtDonGiaBan.TextChanged

If txtDonGiaBan.Text.Trim = "" Then txtDonGiaBan.Text = "0"

Else txtDonGiaBan.Text = Format(CType(txtDonGiaBan.Text, Long), "N0") txtDonGiaBan.SelectionStart txtDonGiaBan.Text.Length

MessageBox.Show("Đơn giá phải là số!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error) txtDonGiaBan.Text = Mid(txtDonGiaBan.Text, 1, txtDonGiaBan.Text.Length - 1)

Private Sub GrdHangHoa_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles GrdHangHoa.RowPostPaint

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 38, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(GrdHangHoa.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(),

GrdHangHoa.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub FrmQLKhoHang_FormClosed(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed

Inherits DevComponents.DotNetBar.Office2007Form

Private Sub FrmBaoGia_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load grdDSHangBG.Columns(0).Visible = False

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ChungLoai' table You can move, or remove it, as needed.

Me.Tb_ChungLoaiTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ChungLoai)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_NhanHieu' table You can move, or remove it, as needed.

Me.Tb_NhanHieuTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_NhanHieu)

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_HangHoa' table You can move, or remove it, as needed.

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuBG.SelectedValue, Me.CmbChungloaiBG.SelectedValue,

Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaBG.AutoCompleteCustomSource.Add(Cua_hang_1DataSet.Func_Ti mMatHangKtAn.Rows(i).Item("TenHang"))

Me.LabelX3.Text = TenCH + " chúng tôi xin gửi tới quí khách báo giá chi tiết các mặt hàng sau"

Private Sub TxtTimHanghoaBG_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuBG.SelectedValue, Me.CmbChungloaiBG.SelectedValue, Me.TxtTimHanghoaBG.Text.Trim)

Private Sub CmbChungloaiBG_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuBG.SelectedValue, Me.CmbChungloaiBG.SelectedValue,

Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaBG.AutoCompleteCustomSource.Add(Cua_hang_1DataSet.Func_Ti mMatHangKtAn.Rows(i).Item("TenHang"))

Private Sub CmbNhanhieuBG_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Func_TimMatHangKtAnTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimMatH angKtAn, Me.CmbNhanhieuBG.SelectedValue, Me.CmbChungloaiBG.SelectedValue,

Cua_hang_1DataSet.Func_TimMatHangKtAn.Rows.Count - 1

Me.TxtTimHanghoaBG.AutoCompleteCustomSource.Add(Cua_hang_1DataSet.Func_Ti mMatHangKtAn.Rows(i).Item("TenHang"))

Private Sub grdDSHangBG_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs)

Handles grdDSHangBG.RowPostPaint grdDSHangBG.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdDSHangBG.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdDSHangBG.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdDSHangBG_CellBeginEdit(ByVal sender As

System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles grdDSHangBG.CellBeginEdit dg = grdDSHangBG.CurrentCell.Value.ToString

Private Sub grdDSHangBG_CellEndEdit(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdDSHangBG.CellEndEdit

If Not IsNumeric(grdDSHangBG.CurrentCell.Value) Then grdDSHangBG.CurrentCell.Value = dg

Private Sub TxtTimHanghoaBG_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtTimHanghoaBG.Enter

For i = 0 To grdDSHangBG.Rows.Count - 1

Me.grdDSHangBG.Rows(i).Cells(3).Value Format(CType(Me.grdDSHangBG.Rows(i).Cells(3).Value, Long), "N0")

Dim ID_HH As Integer

TenMH = Queries.Qr_TenHang(ID_HH)

DVT = Queries.Qr_DVT(ID_HH)

DonGia = Queries.Qr_DonGiaXuat(ID_HH)

If ID_HH = Nothing Then

End If strobj = New String() {ID_HH, TenMH, DVT, DonGia, ""} For i = 0 To grdDSHangBG.Rows.Count - 1 grd = Me.grdDSHangBG.Rows(i).Cells(0).Value

If grd = ID_HH Then

Next grdDSHangBG.Rows.Add(strobj)

Private Sub btnHoanTat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHoanTat.Click

If grdDSHangBG.Rows.Count 0 Then

Queries.Ins_BaoGia(dateNgayBG.Value, txtKinhGui.Text, txtGhiChu.Text)

Dim ID_BG = Queries.Qr_MaxID_BG()

For i = 0 To grdDSHangBG.Rows.Count - 1

Queries.Ins_CTBaoGia(ID_BG, grdDSHangBG.Rows(i).Cells(0).Value.ToString, grdDSHangBG.Rows(i).Cells(3).Value.ToString, grdDSHangBG.Rows(i).Cells(4).Value.ToString)

FrmInBaoGia.ID_BG = ID_BG

Private Sub grdDSHangBG_RowsAdded(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles grdDSHangBG.RowsAdded

Private Sub LstBHanghoaBG_DoubleClick(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

Private Sub TxtTimHanghoaBG_KeyDown(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtTimHanghoaBG.KeyDown

If e.KeyCode = Keys.Enter Then

Private Sub btnHuy_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles btnHuy.Click

Private Sub FrmBaoGia_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles

Private Sub dateNgayBG_ValueChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles dateNgayBG.ValueChanged

Chức năng : thêm sửa xoá thông tin của nhân viên

Inherits DevComponents.DotNetBar.Office2007Form

Private Sub FrmThemNV_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", "") Me.CmbDkLocNV.SelectedItem = TenNV

Private Sub TxtTenNV_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtTenNV.TextChanged

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV,

Private Sub TxtTimNV_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtTimNV.TextChanged

Select Case DkLoc(Me.CmbDkLocNV.SelectedItem.ToString)

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV,

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", Me.TxtTimNV.Text)

Private Sub CmbDkLocNV_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Select Case DkLoc(Me.CmbDkLocNV.SelectedItem.ToString)

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV,

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", Me.TxtTimNV.Text)

Private Sub BtnThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnThoat.Click

Private Sub BtnNhaplai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Private Sub BtnThem_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnThem.Click

If TxtTenNV.Text.Trim "" And TxtDiachiNV.Text.Trim "" And TxtSdtNV.Text "" Then

Me.Queries.Ins_NhanVien(Trim(Me.TxtTenNV.Text),

Trim(Me.TxtDiachiNV.Text), Trim(Me.TxtSdtNV.Text))

MessageBox.Show("Bạn chưa nhập đủ thông tin.", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Error)

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", "") End Sub

Private Sub DataGridNV_CellContentClick(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridNV.CellContentClick

If e.ColumnIndex = 5 And e.RowIndex -1 Then

Dim DongChon As DataGridViewRow Me.DataGridNV.CurrentRow

Me.Queries.Upd_NhanVien(DongChon.Cells(0).Value, Trim(DongChon.Cells(1).Value.ToString),

Trim(DongChon.Cells(2).Value.ToString),

Trim(DongChon.Cells(3).Value.ToString), DongChon.Cells(4).Value)

MessageBox.Show("Dữ liệu đã được cập nhật.", "Cửa hàng Phương Hương", MessageBoxButtons.OK, MessageBoxIcon.Information) Catch ex As Exception

MessageBox.Show("Bạn chưa nhập đủ thông tin.",

"Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", "") End If

'Me.Func_TimNVTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_TimNV, "", "") End Sub

Private Sub DataGridNV_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles DataGridNV.RowPostPaint

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 35, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(DataGridNV.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(),

DataGridNV.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub frmQLNhanVien_FormClosed(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed

 Form Thống kê bán hàng

Chức năng : thống kê lại hàng bán , hàng còn , hàng hết , phiếu bán , phiếu nhập và tiền mặt

Inherits DevComponents.DotNetBar.Office2007Form

Private Sub frmThongKe_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Vie_HangCon' table You can move, or remove it, as needed.

'Me.Vie_HangConTableAdapter.Fill(Me.Cua_hang_1DataSet.Vie_HangCon)

Me.datTuNgay.Value = DateSerial(Now.Year, Now.Month, 1) Me.datDenNgay.Value = Date.Now

Me.cmbDKLocPN.Text = "Tên nhà cung cấp"

KePhieuNhap, "", "", DateSerial(Now.Year, Now.Month, 1), Date.Now)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, 0)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, 0)

Me.Func_ThongKePhieuXuatTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuXuat, "", "", "", DateSerial(Now.Year, Now.Month, 1), Date.Now) Try

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, 0)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, 0)

'Fill cho tab hàng nhập - hàng bán

Me.Func_LocTKHangNhapTableAdapter.Fill(Me.CuaHangDataSet.func_LocTKHangNh ap, "", DateSerial(Now.Year, Now.Month, 1), Date.Now)

Me.Func_LocTKHangBanTableAdapter.Fill(Me.CuaHangDataSet.func_LocTKHangBan , "", DateSerial(Now.Year, Now.Month, 1), Date.Now)

'Fill cho tab hàng còn - hàng hết

Me.Func_TkHangConTableAdapter.Fill(Me.Cua_hang_1DataSet.func_TkHangCon,

Me.Func_TkHangHetTableAdapter.Fill(Me.Cua_hang_1DataSet.func_TkHangHet,

'fill tab thong ke tien mat thongKeTienMat() showTotalMoney() showToTalMoneySale() showTotalProduct()

' Visible cho các cột ID

Me.grdDsPhieuXuat.Columns(0).Visible = False grdDsPhieuNhap.Columns(0).Visible = False grdCTThanhToanKH.Columns(0).Visible = False

Me.grdCTThanhToanNCC.Columns(0).Visible = False

'ĐÁNH SỐ THỨ TỰ================================================ 'DANH SÁCH PHIẾU NHẬP

Private Sub grdDsPhieuNhap_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs)

Handles grdDsPhieuNhap.RowPostPaint grdDsPhieuNhap.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdDsPhieuNhap.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdDsPhieuNhap.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdCtPhieuNhap_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs)

Handles grdCtPhieuNhap.RowPostPaint grdCtPhieuNhap.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdCtPhieuNhap.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdCtPhieuNhap.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdDsPhieuXuat_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs)

Handles grdDsPhieuXuat.RowPostPaint grdDsPhieuXuat.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdDsPhieuXuat.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdDsPhieuXuat.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdCtPhieuBan_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs)

Handles grdCtPhieuBan.RowPostPaint grdDsPhieuXuat.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdDsPhieuXuat.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdDsPhieuXuat.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdTKHangNhap_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdTKHangNhap.RowPostPaint grdTKHangNhap.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdTKHangNhap.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdTKHangNhap.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdTKHangBan_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdTKHangBan.RowPostPaint grdTKHangBan.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdTKHangBan.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdTKHangBan.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdTkHangCon_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdTkHangCon.RowPostPaint grdTkHangCon.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdTkHangCon.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdTkHangCon.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdTkHangHet_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdTkHangHet.RowPostPaint grdTkHangHet.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdTkHangHet.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdTkHangHet.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

'STT Chi tiết thanh toán ncc

Private Sub grdCTThanhToanNCC_RowPostPaint(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdCTThanhToanNCC.RowPostPaint grdCTThanhToanNCC.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdCTThanhToanNCC.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdCTThanhToanNCC.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub grdCTThanhToanKH_RowPostPaint(ByVal sender As

System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles grdCTThanhToanKH.RowPostPaint grdCTThanhToanKH.CreateGraphics.DrawString("", New

Font(Me.Font.Name, 9), Brushes.Black, 2, 5)

Dim RowNo As Integer = e.RowIndex + 1

Dim X As Integer = e.RowBounds.Location.X

Dim Y As Integer = e.RowBounds.Location.Y

Dim drawPoint As New Point(X + 30, Y + 4)

Dim drawFormat As New StringFormat drawFormat.FormatFlags StringFormatFlags.DirectionRightToLeft

Using bs As SolidBrush = New

SolidBrush(grdCTThanhToanKH.RowHeadersDefaultCellStyle.ForeColor) e.Graphics.DrawString(RowNo.ToString(), grdCTThanhToanKH.DefaultCellStyle.Font, bs, drawPoint, drawFormat)

Private Sub datTuNgay_CloseUp(ByVal sender As Object, ByVal e As System.EventArgs) Handles datTuNgay.CloseUp

If Date.Compare(Me.datTuNgay.Value, Me.datDenNgay.Value) = 1 Then

MessageBox.Show("Ngày bắt đầu phải nhỏ hơn hoặc bằng ngày kết thúc", "Lỗi nhập dữ liệu", MessageBoxButtons.OK,

Me.datTuNgay.Value = DateSerial(Now.Year, Now.Month, 1) Exit Sub

End If txtTuKhoaPN_TextChanged(sender, e) txtTuKhoaPB_TextChanged(sender, e) txtTimTKHangNhap_TextChanged(sender, e) txtTKHangBan_TextChanged(sender, e) thongKeTienMat()

Me.grdDsPhieuXuat.Columns(0).Visible = False grdDsPhieuNhap.Columns(0).Visible = False

Me.grdCTThanhToanKH.Columns(0).Visible = False

Me.grdCTThanhToanNCC.Columns(0).Visible = False

Private Sub datDenNgay_CloseUp(ByVal sender As Object, ByVal e

As System.EventArgs) Handles datDenNgay.CloseUp

If Date.Compare(Me.datTuNgay.Value, Me.datDenNgay.Value) = 1 Then

MessageBox.Show("Ngày bắt đầu phải nhỏ hơn hoặc bằng ngày kết thúc", "Lỗi nhập dữ liệu", MessageBoxButtons.OK,

Me.datDenNgay.Value = Now.Date

End If txtTuKhoaPN_TextChanged(sender, e) txtTuKhoaPB_TextChanged(sender, e) txtTimTKHangNhap_TextChanged(sender, e) txtTKHangBan_TextChanged(sender, e) thongKeTienMat()

Me.grdDsPhieuXuat.Columns(0).Visible = False grdDsPhieuNhap.Columns(0).Visible = False

Me.grdCTThanhToanKH.Columns(0).Visible = False

Me.grdCTThanhToanNCC.Columns(0).Visible = False

'TAB NHẬP HÀNG================================ Private Sub grdDsPhieuNhap_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdDsPhieuNhap.CellClick

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Private Sub grdDsPhieuNhap_KeyUp(ByVal sender As Object, ByVal e

As System.Windows.Forms.KeyEventArgs) Handles grdDsPhieuNhap.KeyUp

If e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Up Or e.KeyCode = Keys.Down Or e.KeyCode = Keys.Tab Then

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Private Sub txtTuKhoaPN_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTuKhoaPN.TextChanged

Dim strTukhoa As String = Trim(Me.txtTuKhoaPN.Text)

Me.dtTuNgay = Me.datTuNgay.Value

Me.dtDenNgay = Me.datDenNgay.Value

Select Case (Me.cmbDKLocPN.Text)

Case "Tên nhà cung cấp"

Me.Func_ThongKePhieuNhapTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuNhap, strTukhoa, "", Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, 0)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, 0)

Me.Func_ThongKePhieuNhapTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuNhap, "", strTukhoa, Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, 0)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, 0)

Me.cmbDKLocPN.Text = "Tên nhà cung cấp"

Me.Func_ThongKePhieuNhapTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuNhap, strTukhoa, "", Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_CTNhapByIDTableAdapter.Fill(Me.Cua_hang_1DataSet.func_CTNhapByID, 0)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, 0)

Private Sub cmdDKLoc_SelectedIndexChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmbDKLocPN.SelectedIndexChanged txtTuKhoaPN_TextChanged(sender, e)

HÀNG================================================================ Private Sub txtTuKhoaPB_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTuKhoaPB.TextChanged

Dim strTukhoa As String = Trim(Me.txtTuKhoaPB.Text)

Me.dtTuNgay = Me.datTuNgay.Value

Me.dtDenNgay = Me.datDenNgay.Value

Select Case (Me.cmbDKLocPB.Text)

Me.Func_ThongKePhieuXuatTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuXuat, strTukhoa, "", "", Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, 0)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, 0)

Me.Func_ThongKePhieuXuatTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuXuat, "", strTukhoa, "", Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, 0)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, 0)

Me.Func_ThongKePhieuXuatTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuXuat, "", "", strTukhoa, Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, 0)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, 0)

Me.cmbDKLocPB.Text = "Tên khách hàng"

Me.Func_ThongKePhieuXuatTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuXuat, strTukhoa, "", "", Me.dtTuNgay, Me.dtDenNgay)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, 0)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, 0)

Private Sub cmbDKLocPB_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbDKLocPB.SelectedIndexChanged txtTuKhoaPB_TextChanged(sender, e)

Private Sub grdDsPhieuXuat_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdDsPhieuXuat.CellClick

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Private Sub grdDsPhieuXuat_KeyUp(ByVal sender As Object, ByVal e

As System.Windows.Forms.KeyEventArgs) Handles grdDsPhieuXuat.KeyUp

If e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Up Or e.KeyCode = Keys.Down Or e.KeyCode = Keys.Tab Then

Me.Func_CTXuatByIDTableAdapter.Fill(Me.CuaHangDataSet.func_CTXuatByID, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

Me.Func_CTThanhToanKHTableAdapter.Fill(Me.Cua_hang_1DataSet.Func_CTThanhT oanKH, Me.grdDsPhieuXuat.CurrentRow.Cells(0).Value)

'TAB THỐNG KÊ HÀNG NHẬP======================== Private Sub txtTimTKHangNhap_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTimTKHangNhap.TextChanged

Me.dtTuNgay = Me.datTuNgay.Value

Me.dtDenNgay = Me.datDenNgay.Value

Dim strTuKhoa As String strTuKhoa = Me.txtTimTKHangNhap.Text

Me.Func_LocTKHangNhapTableAdapter.Fill(Me.CuaHangDataSet.func_LocTKHangNh ap, strTuKhoa, dtTuNgay, dtDenNgay)

'TAB THỐNG KÊ HÀNG Bán======================== Private Sub txtTKHangBan_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTKHangBan.TextChanged

Me.dtTuNgay = Me.datTuNgay.Value

Me.dtDenNgay = Me.datDenNgay.Value

Dim strTuKhoa As String strTuKhoa = Me.txtTKHangBan.Text

Me.Func_LocTKHangBanTableAdapter.Fill(Me.CuaHangDataSet.func_LocTKHangBan , strTuKhoa, dtTuNgay, dtDenNgay) showToTalMoneySale()

Private Sub txtTuKhoaHangCon_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTuKhoaHangCon.TextChanged

Me.dtTuNgay = Me.datTuNgay.Value

Me.dtDenNgay = Me.datDenNgay.Value

Dim strTuKhoa As String strTuKhoa = Me.txtTuKhoaHangCon.Text

Me.Func_TkHangConTableAdapter.Fill(Me.Cua_hang_1DataSet.func_TkHangCon, strTuKhoa) showTotalProduct()

Private Sub txtTuKhoaHangHet_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTuKhoaHangHet.TextChanged

Me.dtTuNgay = Me.datTuNgay.Value

Me.dtDenNgay = Me.datDenNgay.Value

Dim strTuKhoa As String strTuKhoa = Me.txtTuKhoaHangHet.Text

Me.Func_TkHangHetTableAdapter.Fill(Me.Cua_hang_1DataSet.func_TkHangHet, strTuKhoa)

Me.Func_ThongKeTienVaoTableAdapter.Fill(Me.Cua_hang_1DataSet.func_ThongKe TienVao, dtTuNgay, dtDenNgay)

Me.Func_ThongKeTienRaTableAdapter.Fill(Me.Cua_hang_1DataSet.func_ThongKeT ienRa, dtTuNgay, dtDenNgay)

Private Sub txtTienVao_TextChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles txtTienVao.TextChanged

If txtTienVao.Text.Trim = "" Then txtTienVao.Text = "0"

Else txtTienVao.Text = Format(CType(txtTienVao.Text, Long),

"N0") txtTienVao.SelectionStart = txtTienVao.Text.Length

Private Sub txtTienRa_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTienRa.TextChanged

If txtTienRa.Text.Trim = "" Then txtTienRa.Text = "0"

Else txtTienRa.Text = Format(CType(txtTienRa.Text, Long),

"N0") txtTienRa.SelectionStart = txtTienRa.Text.Length

Private Sub BtnIn_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnIn.Click

For i = 0 To grdTKHangNhap.RowCount - 1 total = total + Me.grdTKHangNhap.Rows(i).Cells(6).Value Next

Me.lblTotalMoney.Text = Format(CType(total, Long), "N0") Catch ex As Exception

For i = 0 To grdTKHangBan.RowCount - 1 total = total + Me.grdTKHangBan.Rows(i).Cells(6).Value Next

Me.lblTotalMoneySale.Text = Format(CType(total, Long),

For i = 0 To grdTkHangCon.RowCount - 1 total = total + Me.grdTkHangCon.Rows(i).Cells(4).Value Next

Me.lblTotalPro.Text = Format(CType(total, Long), "N0") Catch ex As Exception

Private Sub grdDsPhieuNhap_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdDsPhieuNhap.CellDoubleClick

If e.RowIndex -1 Then frmSuaPN.ID_PN grdDsPhieuNhap.CurrentRow.Cells("IDPNDataGridViewTextBoxColumn").Value frmSuaPN.ShowDialog()

Private Sub grdDsPhieuXuat_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdDsPhieuXuat.CellDoubleClick

If e.RowIndex -1 Then frmSuaPX.ID_PX grdDsPhieuXuat.CurrentRow.Cells(0).Value frmSuaPX.ShowDialog()

'Private Sub grdCTThanhToanNCC_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdCTThanhToanNCC.CellContentClick

' If e.RowIndex -1 And e.ColumnIndex = 3 Then

' If MessageBox.Show("Bạn chắc chắn muốn xóa Thanh toán này?", TenCH, MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then

' Dim ID_ThanhToan As Integer grdCTThanhToanNCC.CurrentRow.Cells(0).Value

' Queries.Del_CtThanhToanNCC(ID_ThanhToan)

Me.Func_CTThanhToanNCCTableAdapter.Fill(Cua_hang_1DataSet.Func_CTThanhToa nNCC, Me.grdDsPhieuNhap.CurrentRow.Cells(0).Value)

Me.Func_ThongKePhieuNhapTableAdapter.Fill(Me.Cua_hang_1DataSet.func_Thong KePhieuNhap, "", "", Me.dtTuNgay, Me.dtDenNgay)

'====================================================================================== 'Truyền tham số và gọi form sửa thanh toán nhà cung cấp

Private Sub grdCTThanhToanNCC_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdCTThanhToanNCC.CellDoubleClick

If e.RowIndex -1 Then frmSuaThanhToanNcc.tongTien grdDsPhieuNhap.CurrentRow.Cells(4).Value frmSuaThanhToanNcc.daThanhToan grdDsPhieuNhap.CurrentRow.Cells(5).Value frmSuaThanhToanNcc.ID_ThanhToan grdCTThanhToanNCC.CurrentRow.Cells("IDThanhToanDataGridViewTextBoxColumn" ).Value frmSuaThanhToanNcc.ID_PN grdDsPhieuNhap.CurrentRow.Cells("IDPNDataGridViewTextBoxColumn").Value frmSuaThanhToanNcc.ShowDialog()

'Truyền tham số và gọi form sửa thanh toán khách hàng

Private Sub grdCTThanhToanKH_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdCTThanhToanKH.CellDoubleClick

If e.RowIndex -1 Then frmSuaThanhToanKh.ID_ThanhToan grdCTThanhToanKH.CurrentRow.Cells(0).Value frmSuaThanhToanKh.tongTien grdDsPhieuXuat.CurrentRow.Cells(5).Value frmSuaThanhToanKh.daThanhToan grdDsPhieuXuat.CurrentRow.Cells(6).Value frmSuaThanhToanKh.ID_PX grdDsPhieuXuat.CurrentRow.Cells("IDPXDataGridViewTextBoxColumn").Value frmSuaThanhToanKh.ShowDialog()

Private Sub frmThongKe_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles

Private Sub tabThongKe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tabThongKe.Click showTotalMoney()

Me.Func_LocTKHangNhapTableAdapter.Fill(Me.CuaHangDataSet.func_LocTKHangNh ap, "", Me.dtTuNgay, Me.dtDenNgay)

 Form Thông tin cửa hàng

Chức năng : tên , địa chỉ , fax , số điện thoại , mã số thuế của công ty

Inherits DevComponents.DotNetBar.Office2007Form

Private Sub FrmThongtinMH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'Cua_hang_1DataSet.Tb_ThongTin' table You can move, or remove it, as needed.

Me.Tb_ThongTinTableAdapter.Fill(Me.Cua_hang_1DataSet.Tb_ThongTin) strOldName = txtName.Text txtName.Select()

'Private Sub Tb_ThongTinBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Tb_ThongTinTableAdapter.Update(Me.Cua_hang_1DataSet.Tb_ThongTin)

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click

'Dim strOldName As String Me.Tb_ThongTinTableAdapter.GetData("1")

Dim strNewName As String = txtName.Text

Dim strAddress As String = txtAddress.Text

Dim strFax As String = txtFax.Text

Dim strPhoneNo As String = txtPhoneNo.Text

Dim strMST As String = txtIdTax.Text

If Trim(strNewName) = "" Then txtName.Text = ""

MessageBox.Show("Chưa nhập tên cửa hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning) txtName.Focus()

If Trim(strAddress) = "" Then txtAddress.Text = ""

MessageBox.Show("Chưa nhập địa chỉ", "Thông báo",

MessageBoxButtons.OK, MessageBoxIcon.Warning) txtAddress.Focus()

If Trim(strPhoneNo) = "" Then txtPhoneNo.Text = ""

MessageBox.Show("Chưa nhập số điện thoại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning) txtPhoneNo.Focus()

Me.Queries.upd_ThongTin(strOldName, strNewName, strAddress, strPhoneNo, strFax, strMST)

MessageBox.Show("Dữ Liệu đã được cập nhật", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information)

Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles btnExit.Click

Private Sub FrmThongtinMH_FormClosed(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed

I Đánh giá kết quả đạt đ ợc −ơng I: MÔ Tả BàI TOáN

Qua quá trình tìm hiểu nghiên cứu đề t i, em đã đ a ra đ ợc ứng dụng μi trình bμy các kết quả thu đ−ợc trong quá trình ch ơng trình “ Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý bμy các kết quả thu đ−ợc trong quá trìnhán h ng” μi trình bμy các kết quả thu đ−ợc trong quá trình

- Cho phép nhập/xuất h ng theo đơn đặt h ng μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình

- Quản lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý việc mua bμy các kết quả thu đ−ợc trong quá trìnhán nhập xuất.

- Xử lμm rõ các yêu cầu tin học hoá Cách tiếp cận giảiý thống kế theo yêu cầu nh : Đơn đặt h ng, Phiếu giao h ng, Báo μi trình bμy các kết quả thu đ−ợc trong quá trình μi trình bμy các kết quả thu đ−ợc trong quá trình giá,

- Cho phép tìm kiếm, tra cứu h ng hoá μi trình bμy các kết quả thu đ−ợc trong quá trình

Sau thời gian thực tập tại công ty TNHH Đầu Tư Thương Mại và Dịch

XÂY DỰNG CHƯƠNG TRÌNH

Ngày đăng: 06/07/2023, 11:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w