Tài liệu Đồ án Đơn hàng gia công: GIỚI THIỆU:Thực hiện chương trình: Võ Hòa Đoàn .
Ngày cập nhật sau cùng: Ngày 26 tháng 10 năm 2004
XYZ là một Công Ty hoạt động theo mô hình phục vụ, được mô tả như sau: Khách hàng ký các đơn đặt hàng để gia công các sản phẩm nào đó.Nguyên liệu sẽ do khách hàng cung cấp để sản xuất và khi sản xuất xong thì Công ty sẽ giao sản phẩm được sản xuất cho khách hàng theo các đơn hàng đã ký. Việc tính lượng tồn nguyên liệu tồn còn lại dựa theo định mức sản xuất là bao nhiêu, các nguyên liệu nào để cho ra 1 đơn vị sản phẩm.
Quản lý việc thanh toán (tiền gia công), công nợ khách hàng vàquản lý tồn nguyên liệu mà công ty còn giữ của khách hàng sau khi đã trừ các nguyên liệu sản xuất và giao các sản phẩm.
Chương trình được viết trên ngôn ngữ Visual Basic, kết nối với Cơ sở dữ liệu Access; cùng với 2 phần mềm Data Widgets để hiển thị dữ liệu lên lưới và ...
43 trang |
Chia sẻ: hunglv | Lượt xem: 1500 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án Đơn hàng gia công, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
GIỚI THIỆU:Thực hiện chương trình: Võ Hòa Đoàn .
Ngày cập nhật sau cùng: Ngày 26 tháng 10 năm 2004
XYZ là một Công Ty hoạt động theo mô hình phục vụ, được mô tả như sau: Khách hàng ký các đơn đặt hàng để gia công các sản phẩm nào đó.Nguyên liệu sẽ do khách hàng cung cấp để sản xuất và khi sản xuất xong thì Công ty sẽ giao sản phẩm được sản xuất cho khách hàng theo các đơn hàng đã ký. Việc tính lượng tồn nguyên liệu tồn còn lại dựa theo định mức sản xuất là bao nhiêu, các nguyên liệu nào để cho ra 1 đơn vị sản phẩm.
Quản lý việc thanh toán (tiền gia công), công nợ khách hàng vàquản lý tồn nguyên liệu mà công ty còn giữ của khách hàng sau khi đã trừ các nguyên liệu sản xuất và giao các sản phẩm.
Chương trình được viết trên ngôn ngữ Visual Basic, kết nối với Cơ sở dữ liệu Access; cùng với 2 phần mềm Data Widgets để hiển thị dữ liệu lên lưới và Crystal Report 8.5 để lập báo cáo.
Chúng em đã được sự hướng dẫn tận tình của thầy Phạm Ngọc Linh cũng như ý kiến đóng góp quý báo của các bạn. Tuy nhiên thới gian và kinh nghiệm có hạn nên chương trìng không tránh khỏi thiếu sót, hạn chế. Rất mong được sự góp ý của quý thầy cô và ý kiến của các bạn.
Thân ái.
Tp HCM ngày 26 tháng 10 năm 2004
Lớp: CV0303S
Nhóm HVTH: VÕ HÒA ĐOÀN
TRỊNH CÔNG MINH
ĐỖ KIẾN HÙNG
Chương trình kết nối trên Cơ sở dữ liệu Access.
Để kết nối với các hệ quản trị cơ sở dữ liệu bằng đối tượng ADO phải dùng chuỗi chuổi kết nối ( SQLConn ) thông qua trình điều khiển Provider:
SQLConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source= Persist Security Info=False "
Đối tượng Connection:
Dùng để kết nối các hệ quản trị cơ sở dữ liệu, thực thi câc lệnh SQL(insert, update, delete) thông qua phương thức Execute
Có thể tạo đối tượng connection thông qua nhiều cách:
Dim Conn as new ADODB.Connection
Thực thi câu lệnh SQL
.Execute
Ví dụ: Với câu lện SQL:
Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')"
Conn.Execute Str
Đối tượng Recordset :
Dùng để thực thi lấy mẫu tin từ cơ sở dữ liệu thông qua câu lệnh SQL Select .
Có thể tạo đối tượng Recordset bằng cách:
Dim Rst as new ADODB. Recordset
Câu lệnh SQL:
strSQL = " select TenkhachHang From KhachHang "
Thực thi câu lệnh SQL
.open ,
ví dụ: Rst.Open strSQL ,Conn
MÔ TẢ CÁC PHIẾU:
Phiếu nhập nguyên liệu:
Nguyên liệu được Khách Hàng cung cấp sau khi Công ty và khách hàng thoả thuận việc gia công sản phẩm mà khách hàng yêu cầu.
Số HĐ :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Ngày Nhập :
Nguyên liệu
Số lượng
ĐVT
Đơn đặt hàng:
Số ĐĐH :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Ngày kí kết :
Hạn giao :
Sản phẩm
ĐVT
Số lượng
Đơn giá
Phiếu giao nhận:
Số Phiếu :
Số ĐĐH :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Ngày Giao :
Sản phẩm
Số lượng
Đơn giá
Phiếu thanh toán:
Số TT :
Ngày TT :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Tiền TT :
Tồn nguyên liệu:
Ngày tồn :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Nguyên liệu
Số lượng tồn
ĐVT
Công nợ:
Ngày CN :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Tiền CN :
Thống kê doanh số theo Sản phẩm của từng ĐĐH:
Tháng…….năm 2004
Sản phẩm
Số lượng
Doanh số (tiền thu)
PHÂN TÍCH:
PHÂN TÍCH THÀNH PHẦN DỮ LIỆU CỦA ỨNG DỤNG:
Sơ đồ quan niệm dữ liệu:
Hình 1: Sơ đồ Quan niệm dữ liệu của ứng dụng ĐƠN HÀNG GIA CÔNG
Mô tả dữ liệu:
a) Các loại thực thể:
KhachHang
Khách hàng
DonDatHang
Đơn đặt hàng
ChiTietDonDatHang
Chi tiết đơn đặt hàng
SanPham
Sản phẩm
DinhMucSanXuat
Định mức sản xuất
CongNo
Công nợ
GiaoNhan
Giao nhận
ChiTietGiaoNhan
Chi tiết giao nhận
NguyenLieu
Nguyên liệu
ThanhToan
Thanh toán
Ton
Tồn
NhapXuatNguyenLieu
Nhập xuất nguyên liệu
ChiTietNguyenLieu
Chi tiết nguyên liệu
Mô tả các loại thực thể:
b1) Thực thể Khách hàng:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaKhachHang
Mã khách hàng
Text
Khoá chính
TenKhachHang
Tên khách hàng
Text
DiaChi
Địa chỉ
Text
DienThoai
Điện thoại
Text
b2) Thực thể đơn đặt hàng:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoDonDatHang
Số đơn đặt hàng
Text
Khoá chính
MaKhachHang
Mã khách hàng
Text
Khoá ngoại
NgayKiKet
Ngày kí kết
Date
DienThoai
Điện thoại
String
b3) Thực thể Chi tiết đơn đặt hàng:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoDonDatHang
Số đơn đặt hàng
Text
Khoá chính
SanPham
Sản phẩm
Text
Khoá ngoại
SoLuongDatHang
SL đặt hàng
Number
DonGia
Đơn giá
Number
HanGia
Hạn giao
Date()
b4) Thực thể Sản phẩm:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SanPham
Sản phẩm
Text
Khoá chính
TenSanPham
Tên sản phẩm
Text
DonViTinh
Đơn vị tính
Number
DonGia
Đơn giá
Number
b5) Thực thể Định mức sản xuất:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
NguyenLieu
Nguyên liệu
Text
Khoá ngoại
SanPham
Sản phẩm
Text
Khoá ngoại
SoLuongSanXuat
Số lượng sản xuất
Number
b6) Thực thể công nợ:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
NgayCongNo
Ngày công nợ
Date()
Khoá chính
MaKhachHang
Mã khách hàng
Text
Khoá ngoại
TienCongNo
Tiền công nợ
Number
b7) Thực thể Giao Nhận:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoPhieu
Số phiếụ
Text
Khoá chính
SoDonDatHang
Số đơn đặt hàng
Text
Khoá ngoại
NgayGiao
Ngày giao
Number
b8) Thực thể Chi tiết giao nhận:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoPhieu
Số phiếu
Text
Khoá ngoại
SanPham
Sản phẩm
Text
Khoá ngoại
SoLuong
Số lượng
Number
DonGia
Đơn giá
Number
b9) Thực thể Nguyên Liệu:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
NguyenLieu
Nguyên liệu
Text
Khoá chính
Ten NguyenLieu
Tên nguyên liệu
Text
DonViTinh
Đơn vị tính
Number
b10) Thực thể Thanh Toán:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoThanhToan
Số thanh toán
Text
Khoá chính
NgayThanhToan
Ngày thanh toán
Date()
Khoá ngoại
MaKhachHang
Mã khách Hàng
Text
TienThanhToan
Tiền thanh toán
Number
b11) Tthực thể Tồn:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
MaKhachHang
Mã khách hàng
Text
Khoá ngoại
NguyenLieu
Nguyên liệu
Text
Khoá ngoại
SoLuongTon
Số lượng tồn
Number
NgayTon
Ngày tồn
Date()
b12) Thực thể Nhập xuất nguyên liệu:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoHoaDonNhap
Số hoá đơn nhập
Text
Khoá chính
MaKhachHang
Mã khách hàng
Text
Khoá ngoại
NgayNhap
Ngày nhập
Date()
b13) Thực thể Chi tiết nguyên liệu:
Thuộc tính
Diễn giải
Kiểu
Ràng buộc
SoHoaDonNhap
Số hoá đơn nhập
Text
Khoá ngoại
NguyenLieu
Nguyên liệu
Text
Khoá ngoại
SoLuong
Số lượng
Date()
c) Ràng buộc toàn vẹn:
KHOÁ CHÍNH:
R1-01: id(CongNo) = sttCNO
R1-02: id(KhachHang) = MaKhachHang
R1-03: id(DonDatHang) = SoDDH
R1-04: id(ChiTietDonDathang) = sttDDH
R1-05: id(SanPham) = SanPham
R1-06: id(DinhMucSanXuat) = sttSX
R1-07: id(GiaoNhan) = SoPhieu
R1-08: id(ChiTietGiaoNhan) = sttGiaoNhan
R1-09: id(ThanhToan) = SoTT
R1-10: id(Ton) = sttTon
R1-11: id(NhapXuatNguyenLieu) = SoHDN
R1-12: id(ChiTietNguyenLieu) = sttHDN
R1-13: id(NguyenLieu) = NguyenLieu
RÀNG BUỘC MIỀN GÁI TRỊ:
R2-01: (CTDDH.SoDDH>0) and (CTDDH.SLDH>0) and (CTDDH.DG>0)
R2-02: (SP.DVT> 0 ) and (SP.DG > 0)
R2-03: (DMSX.SLSX > 0)
R2-04: (GN.NgGiao < DDH.NgKK)
R2-05: (CTNL.SL > 0)
R2-06: (NL.DVT > 0)
R2-07: (TT.TienTT > 0)
RÀNG BUỘC GIỮA CÁC THUỘC TÍNH TRONG THỰC THỂ:
R3-0: CNOCK = CNODK + TIENNO - TIENTHU
R3-0: SLTonCK = SLTonDK + NHAP - XUAT
R3-0: Tiền đặt hàng = CTDDH.SLDH * CTDDH.DG
R3-0: Tiền giao nhận = CTGN.SL * CTGN.DG
R3-0: Số tiền nợ đầu kì ( CNODK ) của tháng này phải bằng số tiền nợ cuối kì ( CNOCK ) của tháng trước.
R3-0: Số lượng tồn đầu kì ( SLTonDK ) của tah1ng này phải bằng số lựơng tồn cuối kì ( SLTonCK ) của tháng trước.
PHÂN TÍCH THÀNH PHẦN XỬ LÝ CỦA ỨNG DỤNG:
XL1: Cập nhật Nguyên liệu.
XL2: Cập nhật phiếu Nhập nguyên liệu.
XL3: Cập nhật đơn đặt hàng.
XL4: Cập nhật Phiếu giao nhận.
XL5: Cập nhật Phiếu thanh toán
XL6: Tính Công nợ Khách hàng.
XL7: Tính Tồn Nguyên liệu.
MÔ TẢ CÁC XỬ LÝ:
_ Tên xử lý : XL1:
Chức năng : cập nhật nguyên liệu.
Input : MaNL, NL.
Output : NL.
Qui tắc : NL n được thêm,sữa xoá vào NL
_Tên xử lý : XL2:
Chức năng : Cập nhật phiếu nhập nguyên liệu.
Input : SoHDN h, NL n, NXNL, CTNL, NL, KH.
Output : NXNL.
Qui tắc : Số lượng nhập trong tháng t của NL n bằng tổng số lượng của CTNL trong tháng t có liên quan đến NL n.
_Tên xử lý : XL3:
Chức năng : Cập nhật Đơn đặt hàng .
Input : SDDH, MSP, DDH, CTDDH, KH, SP
Output : DDH.
Qui tắc : Số lượng Sản phẩm Khách hàng đặt trong tháng t bằng tổng số sản phẩm của CTDDH trong tháng t có liên quan đến sản phẩm đó.
_Tên xử lý : XL4:
Chức năng : Cập nhật phiếu Giao nhận.
Input : SoP p, SoDDH h, GN, CTGN, DDH, CTDDH.
Output : GN.
Qui tắc : Số lượng giao nhận sản phẩm trong tháng t bằng tổng số lượng giao nhận của CTGN trong tháng t liên quan đến Sản phẩm đó.
_Tên xử lý : XL5
Chức năng : Cập nhật phiếu thanh toán.
Input : SoTT, MKH, TTOAN, KH
Output : TTOAN.
Qui tắc : Số tiền thanh toán trong tháng t bằng tổng tiền thanh toán của TTOAN trong tháng t có liên quan đến KH k.
_Tên xử lý : XL6:
Chức năng : Tính nợ Khách hàng.
Input : NgCN, MKH, CNO.
Output : CNO.
Qui tắc : NOCK = NODK + SONO - THANHTOAN
_Tên xử lý : XL7 :
Chức năng : Tính tồn Nguyên liệu :
Input : NgTON, LN, TON.
Output : TON.
Qui tắc : TONCK = TONDK + NHAP - XUAT
THIẾT KẾ DỮ LIỆU :
Sơ đồ Logic dữ liệu:
Hình 2: Sơ đồ Logic dữ liệu của ứng dụng ĐƠN HÀNG GIA CÔNG
Từ điển dữ liệu:
MaKhachHang
Mã khách hàng
TenKhachHang
Ten khách hàng
DiaChi
Địa chỉ
DienThoai
Điện thoại
SoDonDatHang
Số đơn đặt hàng
NgayKiKet
Ngày kí kết
SanPham
Sản phẩm
TenSanPham
Tên sản phẩm
DonViTinh
Đơn vị tính
DonGia
Đơn giá
SoPhieu
Số phiếu
NgayGiao
Ngày giao
NgayCongNo
Ngày công nợ
TienCongNo
Tiền công nợ
NguyenLieu
Nguyên liệu
TenNguyenLieu
Tên Nguyên liệu
SoThanhToan
Số thanh toán
NgayThanhToan
Ngày thanh toán
TienThanhToan
Tiền thanh toán
SoHoaDonNhap
Số hoá đơn nhập
NgayNhap
Ngày nhập
SoLuongDatHang
Số lượng đặt hàng
DonGia
Đơn giá
HanGiao
Hạn giao
SoLuong
Số lượng
SoLuongSanXuat
Số lượng sản xuất
SoLuongTon
Số lượng tồn
NgayTon
Ngày tồn
Mô tả các bảng:
3.1) Khách hàng
Thuộc tính:
Thuộc tính
Kiểu
Khóa
MaKhachHang
Text
Chính
TenKhachHang
Text
DiaChi
Text
DienThoai
Text
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
KHACHHANG_PK
MakhachHang
ASC
3.2) Công nợ:
Thuộc tính:
Thuộc tính
Kiểu
Khóa
NgayCongNo
Text
Chính
MaKhachHang
Text
Ngoại
TienCongNo
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
CONGNO_PK
NgayCongNo
MaKhachHang
ASC
CONGNO_FK
MaKhachHang
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
MaKhachHang
KhachHang
MaKhachHang
3.3) Đơn đặt hàng
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoDonDatHang
Text
Chính
MaKhachHang
Text
Ngoại
NgayKiKet
Date()
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
DONDATHANG_PK
SoDonDatHang
MaKhachHang
ASC
DONDATHANG_FK
MaKhachHang
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
MaKhachHang
KhachHang
MaKhachHang
3.4) Chi tiết Đơn đặt hàng
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoDonDatHang
Text
Ngoại
SanPham
Text
Ngoại
SoLuongDatHang
Number
DonGia
Number
HanGiao
Date()
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
CTDONDATHANG_PK
SoDonDatHang
SanPham
ASC
CTDONDATHANG_FK
SanPham
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
SoDonDatHang
DonDatHang
SoDonDatHang
SanPham
SanPham
SanPham
Tồn :
Thuộc tính:
Thuộc tính
Kiểu
Khóa
MaKhachHang
Text
Ngoại
NguyenLieu
Text
Ngoại
SoLuongTon
Number
NgayTon
Date()
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
TON_PK
MaKhachHang
NguyenLieu
ASC
TON_FK
NguyenLieu
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
MaKhachHang
KhachHang
MaKhachHang
NguyenLieu
NguyenLieu
NguyenLieu
Sản phẩm :
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SanPham
Text
Chính
TenSanPham
Text
DonViTinh
Number
DonGia
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
SANPHAM_PK
SanPham
ASC
Định mức sản xuất :
Thuộc tính:
Thuộc tính
Kiểu
Khóa
NguyenLieu
Text
Ngoại
SanPham
Text
Ngoại
SoLuongSanXuat
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
DMSX_PK
NguyenLieu
SanPham
ASC
DMSX _FK
SanPham
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
NguyenLieu
NguyenLieu
NguyenLieu
SanPham
SanPham
SanPham
Giao Nhận:
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoPhieu
Text
Chính
SoDonDatHang
Text
Ngoại
NgayGiao
Date()
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
GIAONHAN_PK
SoPhieu
SoDonDatHang
ASC
GIAONHAN_FK
SoDonDatHang
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
SoDonDatHang
DonDatHang
SoDonDatHang
Chi tiết Giao Nhận:
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoPhieu
Text
Ngoại
SanPham
Text
Ngoại
SoLuong
Number
DonGia
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
CTGN_PK
SoPhieu
SanPham
ASC
CTGN_FK
SanPham
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
SoPhieu
GiaoNhan
SoPhieu
SanPham
SanPham
SanPham
Nguyên liệu:
Thuộc tính:
Thuộc tính
Kiểu
Khóa
NguyenLieu
Text
Chính
TenNguyenLieu
Text
DonViTinh
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
NGUYENLIEU_PK
NguyenLieu
ASC
Thanh toán:
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoThanhToan
Text
Chính
NgayThanhToan
Date()
MaKhachHang
Text
Ngoại
TienThanhToan
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
THANHTOAN_PK
SoThanhToan
MaKhachHang
ASC
THANHTOAN_FK
MaKhachHang
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
MaKhachHang
KhachHang
MaKhachHang
Nhập xuất nguyên liệu :
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoHoaDonNhap
Text
Chính
MaKhachHang
Text
Ngoại
NgayNhap
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
NXNL_PK
SoHoaDonNhap
MaKhachHang
ASC
NXNL_FK
MaKhachHang
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
MaKhachHang
KhachHang
MaKhachHang
Chi tiết nguyên liệu :
Thuộc tính:
Thuộc tính
Kiểu
Khóa
SoHoaDonNhap
Text
Ngoại
NguyenLieu
Text
Ngoại
SoLuong
Number
Chỉ mục:
Chỉ mục
Thuộc tính
Thứ tự
CTGN_PK
SoPhieu
SanPham
ASC
CTGN_FK
SanPham
ASC
Khoá ngoại:
Khoá ngoại
Bảng tham chiếu
Khoá nội
SoHoaDonNhap
NXNguyenLieu
SoPhieu
NguyenLieu
NguyenLieu
SanPham
MÔ TẢ CÁC RÀNG BUỘC TOÀN VẸN :
4.1) KHÓA CHÍNH :
R1-01 : id( CONGNO ) = NgayCN
R1-02 : id( KHACHANG ) = MKH
R1-03 : id( NGUYENLIEU ) = NL
R1-04 : id( DONDATHANG ) = SDDH, MAKH
R1-05 : id( CHITIETDONDATHANG ) = SDDH, SP
R1-06 : id( SANPHAM ) = SANPHAM
R1-07 : id( DINHMUCSANXUAT ) = NL, SP
R1-08 : id( GIAONHAN ) = SPhieu, SDDH
R1-09 : id( CHITIETGIAONHAN ) = SPhieu, SP
R1-10 : id( THANHTOAN ) = SoTT, MKH
R1-11 : id( TON ) = MKH, NL
R1-12 : id( NHAPXUATNGUYENLIEU ) = SoDDH, MKH
R1-13 : id( CHITIETNGUYENLIEU ) = SoHDN, NL
4.2) RÀNG BUỘC VỀ MIỀN GIÁ TRỊ:
R2-01 : (CTDDH.SLDH > 0) and (CTDDH.DG > 0)
R2-02 : (SP.DG > 0)
R2-03 : (DMSX.SLSX > 0)
R2-04 : (CNO.TienCNO > 0)
R2-05 : (CTGN.SL > 0) and (CTGN.DG > 0)
R2-06 : (TToan.TToan > 0)
4.3) KHÓA NGOẠI:
R3-01 : CNO[MaKH] KH[MaKH]
R3-02 : TTOAN[MaKH] KH[MaKH]
R3-03 : TON[MaKH] KH[MaKH]
R3-04 : DDHANG[MaKH] KH[MaKH]
R3-05 : NXNL[MaKH] KH[MaKH]
R3-06 : GNHAN[SoDDH] DDH[SoDDH]
R3-07 : CTDDH[SoDDH] DDH[SoDDH]
R3-08 : CTDDH[MaSP] SPHAM[MaSP]
R3-09 : CTGN[MaSP] SPHAM[MaSP]
R3-10 : DMSX[MaSP] SPHAM[MaSP]
R3-11 : GN[SoPhieu] CTGN[SoPhieu]
R3-12 : DMSX[MaNL] NLIEU[MaNL]
R3-13 : TON[MaNL] NLIEU[MaNL]
R3-14 : CTNL[MaNL] NLIEU[MaNL]
R3-15 : CTNL[SoHDN] NXNL[SoHDN]
THIẾT KẾ ỨNG DỤNG (Các màn hình):
Màn hình chính:
H1ình 3: Màn hình chính của ứng dụng.
Danh Mục:
Menu Đặt hàng Khách hàng đặt đơn hàng mới.
Menu Giao nhận Giao hàng cho Khách hàng.
Menu Nhập xuất Nguyên liệu Nhập nguyên liệu từ khách hàng.
Màn hình Đặt hàng:
Hình 4: Màn hình Đơn đặt hàng mới .
Source code lấy Mã KH lên combobox:
Dim sqlMKH As String
sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc"
Set rsMKH = New ADODB.Recordset
rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic
Set cboMKH.DataSourceList = rsMKH
cboMKH.DataFieldList = "MaKhachHang"
cboMKH.Columns(0).Width = 1250
Source code lấy dữ liệu lên lưới :
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "SELECT ChiTietDonDatHang.SanPham, SanPham.TenSanPham, SanPham.DonViTinh, ChiTietDonDatHang.SoLuongDatHang, ChiTietDonDatHang.DonGia"
strSQL = strSQL & " FROM SanPham, DonDatHang, ChiTietDonDatHang WHERE DonDatHang.SoDonDatHang = ChiTietDonDatHang.SoDonDatHang AND SanPham.SanPham = ChiTietDonDatHang.SanPham"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Cnn.Open SQLConn ' KHÔNG DÙNG BIẾN Conn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSODatHang.Columns(0).DataField = "sanpham"
SSODatHang.Columns(1).DataField = "Tensanpham"
SSODatHang.Columns(2).DataField = "donvitinh"
SSODatHang.Columns(3).DataField = "soluongDatHang"
SSODatHang.Columns(4).DataField = "dongia"
Set SSODatHang.DataSource = Nothing
Set SSODatHang.DataSource = Rst
: Nút Mới để thêm Đơn đặt hàng mới, khi nhấn nút Mới thì số DDH sẽ tự tăng, ta có thể chọn Khách hàng cũ ở textbox MaKhachHang hoặc điền thông tin mới nếu là Khách hàng mới.
Source code khi nhấn nút mới số DDH sẽ tự tăng:
Private Sub cmdmoi_Click()
txtSDDH.SetFocus
Dim SQLddh As String
SQLddh = "select sodondathang from dondathang "
Set rsDDH = New ADODB.Recordset
rsDDH.CursorLocation = adUseClient
rsDDH.Open SQLddh, Conn, 0, 3
SDDH = Mid(Trim(txtSDDH.Text), 2, 2)
txtSDDH.Text = SDDH & "DDH" & rsDDH.RecordCount + 1
End Sub
: Khi nhấn nút lưu thì sẽ gọi màn hình Đặt hàng mới để nhập thêm thông tin của sản phẩm mới:
: Lưu dữ liệu mới xuống cơ sở dữ liệu.
Source code Lưu dữ liệu:
Private Sub cmdLuu_Click()
Dim Rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim SQL2 As String
Dim SQL3 As String
Dim SQL4 As String
Dim SQL5 As String
Dim SQL6 As String
Dim SQL7 As String
If Trim(frm1DatHang.txtSDDH) = "" Or Trim(Trim(frm1DatHang.cboMKH)) = "" Or Trim(cboSP) = "" Then
MsgBox " Xin nhap dau du thong tin truoc khi luu ", vbOKOnly + vbExclamation, "THONG BAO"
Me.MousePointer = 0
End If
SQL2 = " insert into KHACHHANG values('" & Trim(frm1DatHang.cboMKH) & "','" & Trim(frm1DatHang.txtTKH) & "','" & Trim(frm1DatHang.txtDiachi) & "','" & Trim(frm1DatHang.txtDienthoai) & "')"
SQL3 = " insert into DONDATHANG values(' " & Trim(frm1DatHang.txtSDDH) & " ',' " & Trim(frm1DatHang.cboMKH) & " ',' " & Trim(frm1DatHang.txtNgayKK) & " ')"
SQL4 = " insert into CHITIETDONDATHANG values(' " & Trim(frm1DatHang.txtSDDH) & " ',' " & Trim(cboSP) & " ',' " & Trim(txtSl) & " ',' " & Trim(txtDG) & " ',' " & Trim(frm1DatHang.txtHanGiao) & " ') "
Conn.Execute SQL2
Conn.Execute SQL3
Conn.Execute SQL4
SQL5 = " update DONDATHANG set MAKHCHHANG='" & Trim(frm1DatHang.cboMKH) & "', TENKHACHHANG='" & Trim(frm1DatHang.txtTKH) & "', NGAYKIKET='" & Trim(frm1DatHang.txtNgayKK) & "',HANGIAO='" & Trim(frm1DatHang.txtHanGiao) & "' WHERE SODONDATHANG='" & Trim(frm1DatHang.txtSDDH) & "'"
SQL6 = " update KHACHHANG set MAKHACHHANG='" & Trim(frm1DatHang.cboMKH) & "',TENKHACHHANG='" & Trim(frm1DatHang.txtTKH) & ",DIACHI='" & Trim(frm1DatHang.txtDiachi) & "',DIENTHOAI='" & Trim(frm1DatHang.txtDienthoai) & "'"
SQL7 = " update CHITIETDONDATHANG set SODONDATHANG='" & Trim(frm1DatHang.txtSDDH) & "',SANPHAM='" & Trim(cboSP) & "',SOLUONGDATHANG='" & Trim(txtSl) & "',DONGIA='" & Trim(txtDG) & "',HANGIAO='" & Trim(frm1DatHang.txtHanGiao) & "'"
Conn.Execute SQL5
Conn.Execute SQL6
Conn.Execute SQL7
End Sub
: Thoát cửa sổ đơn đặt hàng.
Màn hình Giao Nhận:
Hình 5: Màn hình giao nhận sản phẩm cho khách hàng.
Source code lấy dữ liệu lên cbo số phiếu:
Dim sql As String
sql = "select sophieu from giaoNhan "
Set rsSoP = New ADODB.Recordset
rsSoP.Open sql, Conn, adOpenKeyset, adLockOptimistic
Set cboSoPhieu.DataSourceList = rsSoP
cboSoPhieu.DataFieldList = "SoPhieu"
cboSoPhieu.Columns(0).Width = 1200
Source code lấy dữ liệu lên cbo số ĐĐH :
1 Dim sql1 As String
sql1 = "select sodondathang from dondathang"
Set rsSoDDH = New ADODB.Recordset
rsSoDDH.Open sql1, Conn, adOpenKeyset, adLockOptimistic
Set cboSoDDH.DataSourceList = rsSoDDH
cboSoDDH.DataFieldList = "SoDonDathang"
cboSoDDH.Columns(0).Width = 1230
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * from SanPham"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
'Conn.Open SQLConn
Cnn.Open SQLConn ' KHÔNG DÙNG BIẾN Conn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSOGiaoNhan.Columns(0).DataField = "sanpham"
SSOGiaoNhan.Columns(1).DataField = "Tensanpham"
SSOGiaoNhan.Columns(2).DataField = ""
SSOGiaoNhan.Columns(3).DataField = ""
Set SSOGiaoNhan.DataSource = Nothing
Set SSOGiaoNhan.DataSource = Rst
: Khi nhấn nút Mới thì cboSP, cboDDh, txtNgay nhận focus, dữ liệu của cột SL và DG sẽ được nhập mới .
: Lưu dữ liệu mới xuống cơ sở dữ liệu.
Source code Lưu Dữ liệu:
Private Sub CmdLuu_Click ()
Dim Str As String
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
If Trim(cboSoPhieu) = "" Or Trim(cboSoDDH) = "" Then
MsgBox " Xin nhap soPHIEU va soDDH truoc khi luu ", vbOKOnly + vbExclamation, "THONG BAO"
Me.MousePointer = 0
End If
Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')"
Conn.Execute Str
Str1 = " update GIAONHAN set SOPHIEU='" & Trim(cboSoPhieu) & "',SODONDATHANG='" & Trim(cboSoDDH) & "',NGAYGIAO='" & Trim(txtNgay) & "'"
Conn.Execute Str1
Str2 = " insert into CHITIETGIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(SSOGiaoNhan.Columns(0).Text) & "','" & Trim(SSOGiaoNhan.Columns(2).Text) & "','" & Trim(SSOGiaoNhan.Columns(3).Text) & "' )
Conn.Execute Str2
Str3 = " update CHITIETGIAONHAN set SOPHIEU='" & Trim(cboSoPhieu) & "', SANPHAM='" & Trim(SSOGiaoNhan.Columns(0).Text) & "', SOLUONG='" & Trim(SSOGiaoNhan.Columns(2).Text) & "',DONGIA='" & Trim(SSOGiaoNhan.Columns(3).Text) & "' "
Conn.Execute Str3
End Sub
: thoát cửa sổ Giao nhận.
Màn hình Nhập xuất Nguyên liệu:
Hình 6: Màn hình nhập xuất nguyên liệu.
Source code lấy dữ liệu lên cbo MAKH:
Dim sqlMKH As String
sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc"
Set rsMKH = New ADODB.Recordset
rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic
Set cboMKH.DataSourceList = rsMKH
cboMKH.DataFieldList = "MaKhachHang"
cboMKH.Columns(0).Width = 1250
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * from NGUYENLIEU"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Cnn.Open SQLConn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSONXNL.Columns(0).DataField = "nguyenLieu"
SSONXNL.Columns(1).DataField = "tennguyenlieu"
SSONXNL.Columns(2).DataField = ""
SSONXNL.Columns(3).DataField = ""
Set SSONXNL.DataSource = Nothing
Set SSONXNL.DataSource = Rst
: Khi nhấn nút Mới để nhập Nguyên liệu mới thì các textbox và combobox nhận focus.
: Lưu dữ liệu mới xuống cơ sở dữ liệu.
: Thoát màn hình Nhập xuất nguyên liệu.
Tra cứu :
Menu Khách hàng: Hiển thị Khách hàng và nhập Khách hàng mới.
Menu Nguyên liệu: Hiển thị danh sách nguyên kiệu và Nhập nguyên liệu mới.
Menu Sản phẩm: Hiển thị danh sách sản phẩm và nhập sản phẩm mới
Menu Định mức sản xuất: Hiển thị danh sách định mức sản xuất và nhập định mức sản xuất cho sản phẩm mới.
Màn hình Khách hàng :
Hình 7: Màn hình tra cứu, nhập mới khách hàng.
Source code lấy Mã KH lên combobox:
Dim sqlMKH As String
sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc"
Set rsMKH = New ADODB.Recordset
rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic
Set cboMKH.DataSourceList = rsMKH
cboMKH.DataFieldList = "MaKhachHang"
cboMKH.Columns(0).Width = 1250
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * FROM khachhang"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Cnn.Open SQLConn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSOkh.Columns(0).DataField = "makhachhang"
SSOkh.Columns(1).DataField = "tenkhachhang"
SSOkh.Columns(2).DataField = "diachi"
SSOkh.Columns(3).DataField = "dienthoai"
Set SSOkh.DataSource = Nothing
Set SSOkh.DataSource = Rst
: Khi nhấn nút mới thì các textbox và combobox nhận focus để nhập thông tin khách hàng mới.
: Lưu dữ liệu mới xuống Cơ sở dữ liệu.
Source code :
Private Sub cmdLuu_Click()
Dim Str As String
Dim Str1 As String
If Trim(cboKH.Text) = "" Or Trim(txtTKH.Text) = "" Then
MsgBox " Nhap MaKH va TenKH truoc khi luu ", vbOKOnly + vbExclamation, "WARNING"
Exit Sub
End If
Str = "Insert Into KHACHHANG values('" & Trim(cboKH) & "','" & Trim(txtTKH) & "','" & Trim(txtDC) & "','" & Trim(txtDT) & "' ) "
Conn.Execute Str
Str1 = "update KHACHHANG set maKhachhang='" & Trim(cboKH) & "', TenKhachHang='" & Trim(txtTKH) & "', DiaChi='" & Trim(txtDC) & "', DienThoai='" & Trim(txtDT) & "' WHERE MaKhachHang='" & Trim(cboKH) & "' "
Conn.Execute Str1
SSOkh.Update
MsgBox "Da luu Khach Hang '" & Trim(cboKH) & "'' vao CSDL", vbOKOnly + vbExclamation, "WARNING"
CmdLuu.Enabled = False
cmdmoi.Enabled = True
End Sub
: Thoát màn hình Khách hàng.
Màn hình Nguyên Liệu :
Hình 8: Màn hình tra cứu, nhập nguyên liệu.
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * FROM NguyenLieu"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Cnn.Open SQLConn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSONL.Columns(0).DataField = "NGUYENLIEU"
SSONL.Columns(1).DataField = "tennguyenlieu"
SSONL.Columns(2).DataField = "donvitinh"
Set SSONL.DataSource = Nothing
Set SSONL.DataSource = Rst
: Khi nhấn nút mới thì các textbox nhận focus nhập thông tin nguyên liệu mới.
: Lưu dữ liệu mới xuống Cơ sở dữ liệu.
: Thoát màn hình Nguyên liệu.
Màn hình Sản phẩm :
Hình 9: Màn hình tra cứu, nhập sản phẩm.
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * FROM sanpham"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
'Conn.Open SQLConn
Cnn.Open SQLConn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSOSP.Columns(0).DataField = "sanpham"
SSOSP.Columns(1).DataField = "tensanpham"
SSOSP.Columns(2).DataField = "donvitinh"
SSOSP.Columns(3).DataField = "dongia"
Set SSOSP.DataSource = Nothing
Set SSOSP.DataSource = Rst
: Khi nhấn nút mới thì các textbox nhận focus nhập thông tin sản phẩm mới.
: Lưu dữ liệu mới xuống Cơ sở dữ liệu.
Source code Lưu:
Private Sub cmdLuu_Click()
Dim Str As String
Dim Str1 As String
If Trim(txtSP) = "" Or Trim(txtTSP) = "" Then
MsgBox "Phai nhap MaSP & TenSP truoc khi luu ", vbOKOnly + vbExclamation, "WARNING"
Exit Sub
End If
Str = "insert into SANPHAM values('" & Trim(txtSP) & "','" & Trim(txtTSP) & "','" & Trim(txtDVT) & "','" & Trim(txtDG) & "')"
Conn.Execute Str
Str1 = "update SANPHAM Set sanpham='" & Trim(txtSP) & "',tensanpham='" & Trim(txtTSP) & "',donvitinh='" & Trim(txtDVT) & "',dongia='" & Trim(txtDG) & "' "
Conn.Execute Str1
SSOSP.Update
MsgBox "Da Luu San Pham '" & Trim(txtSP) & "'' Vao CSDL", vbOKOnly + vbExclamation, "WARNING"
CmdLuu.Enabled = False
End Sub
: Thoát màn hình sản phẩm.
Màn hình Định mức sản xuất :
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * from DinhMucSanXuat"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Cnn.Open SQLConn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSODMSX.Columns(0).DataField = "nguyenLieu"
SSODMSX.Columns(1).DataField = "sanpham"
SSODMSX.Columns(2).DataField = "soluongsanxuat"
Set SSODMSX.DataSource = Nothing
Set SSODMSX.DataSource = Rst
: Khi nhấn nút mới thì các textbox nhận focus nhập thông tin mới.
: Lưu dữ liệu mới xuống Cơ sở dữ liệu.
: Thoát màn hình định mức sản xuất.
Tính toán:
Menu Công nợ: Báo cáo công nợ.
Menu Tồn : Báo cáo tồn nguyên liệu.
Menu Thanh Toán: Hiển thị tiền thanh toán của khách hàng với công ty.
Màn hình công nợ:
: Khi nhấn nút mới thì các textbox nhận focus nhập thông tin phiếu Công nợ mới.
: Lưu dữ liệu mới xuống Cơ sở dữ liệu.
: Thoát màn hình Tồn Nguyên Liệu.
Code xử lý tính công nợ:
Q1:
SELECT max(ngaycongNo) AS NgDK
FROM CongNo;
Q2:
SELECT MaKhachHang,TienCongNo As DAU, 0 As SONO , 0 As TTOAN from Q1, CongNo Where NgayCongNo = NgDK
UNION Select MaKhachHang, 0 as DAU, Sum(SoLuongDathang * donGia) As SONO, 0 As TTOAN from Q1,ChiTietDondatHang where NgayKiKet = NgDK and NgayKiKet < DateAdd("m",1,NgDK)
UNION Select maKhachHang, 0 As DAU,0 As SONO, Sum(ChiTietGiaoNhan.soluong * ChiTietGiaoNhan.dongia) As TTOAN from Q1, ChiTietGiaoNhan where NgayThanhToan = NgDK and NgayThanhToan < DateAdd("m",1,NgDK) group by MaKhachHang;
Q3:
Insert Into CongNo(NgayCongNo,MaKhachHangTiencongNo) Select DateAdd("m",1,ngDK), MaKhachHang,Sum(Dau) + Sum(soNo) – Sum(TToan) from Q1, Q2 Group By DateAdd(‘m’,1,ngDK), MaKhachHang Having Sum(Dau) + Sum(soNo) – Sum(TToan) 0;
Q4:
Delete * from CongNo where NgayCongNo In(Select max(NgayCongNo) from CongNo) and NgayCongNo Not in (Select min(NgayCongNo) from CongNo);
Màn hình Tồn Nguyên Liệu:
: Khi nhấn nút mới thì các textbox nhận focus nhập thông tin sản phẩm mới.
: Lưu dữ liệu mới xuống Cơ sở dữ liệu.
: Thoát màn hình Tồn Nguyên Liệu.
Code xử lý tính tồn:
Q1
SELECT max(ngayton) AS NgDK
FR1OM Ton;
Q2
SELECT MaKhachHang,NguyenLieu,Soluongton as Dau,0 as Nhap,0 as Xuat from Q1,Ton where ngayTon=NgDK
union select NguyenLieu,SoLuongTon, 0 as Dau,Sum(SoHoaDonNhapXuat) as Nhap,0 as xuat from Q1,NhapXuatNguyenLieu inner join ChitietNguyenLieu on NhapXuatNguyenLieu.SohoaDonNhap=ChitietNguyenLieu.SohoaDonNhap where NgayNhap = NgDK and NgayNhap<=DateAdd("m",1,ngDK) group by MaKhachHang,NguyenLieu
UNION select soPhieu,SoDondatHang, 0 as Dau,0 as Nhap, sum(soluong) as Xuat from Q1,GiaoNhan Inner Join ChiTietGiaoNhan On GiaoNhan.SoPhieu= ChiTietGiaoNhan.SoPhieu where NgayGiao=ngDK and NgayGiao <= dateAdd("m",1,ngDK) group by soPhieu, SoDonDatHang;
Q3:
SELECT SoPhieu,SoDonDatHang,Sum(dau) + sum(Nhap) - Sum(Xuat) as SoTon from Q2 group by SoPhieu,SoDonDatHang Into TAM;
Q4:
Insert Into TAM select soPhieu,Sodondathang, SoLuong* SoLuongSanXuat as SoTon from TAM Inner Join GiaoNhan on Tam.SoDonDatHang=GiaoNhan.SoDonDatHang;
Q5: (xoá những thành phần có số tồn < 0)
Delete * From TAM where SoTon < 0;
Q6: (Tính, lưu lại):
Insert into Ton(MakhachHang, NguyenLieu,SoLuongTon) select MakhachHang, NguyenLieu,Sum(SoTon), DateAdd(‘m’,1,NgDK) from Q1, TAM group by maKhachHang, NguyenLieu, Having soTon > 0, DateAdd("m",1,ngDK);
Q7: (Xoá Table TAM):
Drop Table TAM;
Màn Hình Thanh toán:
Code xử lý cho nút Lưu:
Private Sub cmdLuu_Click()
Dim Str As String
Dim Str1 As String
If Trim(cboKH.Text) = "" Or Trim(txtsott.Text) = "" Then
MsgBox " Nhap So TT va MaKH truoc khi luu ", vbOKOnly + vbExclamation, "WARNING"
Exit Sub
End If
Str = "Insert Into ThanhToan values('" & Trim(txtsott) & "','" & Trim(txtNgay) & "','" & Trim(cboKH) & "','" & Trim(txtTientt) & "' ) "
Conn.Execute Str
Str1 = "update ThanhToan set sothanhToan='" & Trim(txtsott) & "', NgayThanhToan='" & Trim(txtNgay) & "', MaKhachHang='" & Trim(cboKH) & "', TienThangToan='" & Trim(txtTientt) & "' WHERE soThanhToan='" & Trim(txtsott) & "' "
Conn.Execute Str1
SSOTT.Update
MsgBox "Da luu So Thanh Toan '" & Trim(txtsott) & "'' vao CSDL", vbOKOnly + vbExclamation, "WARNING"
cmdLuu.Enabled = False
cmdmoi.Enabled = True
End Sub
Báo Biểu:
Menu Đơn đặt hàng: Báo cáo danh sách đặt hàng của khách hàng.
Menu Nhập xuất NL: Báo cáo nhập nguyên liệu.
Menu Giao nhận: Báo cáo giao nhận sản phẩm.
Menu cộng nợ: Báo cáo công nợ.
Menu Tồn: Báo cáo tồn nguyên liệu.
Menu thanh toán: Báo cáo thanh toán của khách hàng.
Màn Hình báo biểu Đơn đặt Hàng :
Màn Hình báo biểu Nhập xuất Nguyên liệu :
Màn Hình báo biểu Giao nhận :
Màn Hình báo biểu Công nợ Khách hàng:
Màn Hình báo biểu Tồn:
Màn hình báo biểu Thanh toán :