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 noi 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.
43 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2759 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đơn hàng gia công tại công ty XYZ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GIÔÙI THIEÄU:Thöïc hieän chöông trình: Voõ Hoøa Ñoaøn .
Ngaøy caäp nhaät sau cuøng: Ngaøy 26 thaùng 10 naêm 2004
XYZ laø moät Coâng Ty hoaït ñoäng theo moâ hình phuïc vuï, ñöôïc moâ taû nhö sau: Khaùch haøng kyù caùc ñôn ñaët haøng ñeå gia coâng caùc saûn phaåm naøo ñoù.Nguyeân lieäu seõ do khaùch haøng cung caáp ñeå saûn xuaát vaø khi saûn xuaát xong thì Coâng ty seõ giao saûn phaåm ñöôïc saûn xuaát cho khaùch haøng theo caùc ñôn haøng ñaõ kyù. Vieäc tính löôïng toàn nguyeân lieäu toàn coøn laïi döïa theo ñònh möùc saûn xuaát laø bao nhieâu, caùc nguyeân lieäu naøo ñeå cho ra 1 ñôn vò saûn phaåm.
Quaûn lyù vieäc thanh toaùn (tieàn gia coâng), coâng nôï khaùch haøng vaøquaûn lyù toàn nguyeân lieäu maø coâng ty coøn giöõ cuûa khaùch haøng sau khi ñaõ tröø caùc nguyeân lieäu saûn xuaát vaø giao caùc saûn phaåm.
Chöông trình ñöôïc vieát treân ngoân ngöõ Visual Basic, keát noái vôùi Cô sôû döõ lieäu Access; cuøng vôùi 2 phaàn meàm Data Widgets ñeå hieån thò döõ lieäu leân löôùi vaø Crystal Report 8.5 ñeå laäp baùo caùo.
Chuùng em ñaõ ñöôïc söï höôùng daãn taän tình cuûa thaày Phaïm Ngoïc Linh cuõng nhö yù kieán ñoùng goùp quyù baùo cuûa caùc baïn. Tuy nhieân thôùi gian vaø kinh nghieäm coù haïn neân chöông trìng khoâng traùnh khoûi thieáu soùt, haïn cheá. Raát mong ñöôïc söï goùp yù cuûa quyù thaày coâ vaø yù kieán cuûa caùc baïn.
Thaân aùi.
Tp HCM ngaøy 26 thaùng 10 naêm 2004
Lôùp: CV0303S
Nhoùm HVTH: VOÕ HOØA ÑOAØN
TRÒNH COÂNG MINH
ÑOÃ KIEÁN HUØNG
Chöông trình keát noái treân Cô sôû döõ lieäu Access.
Ñeå keát noái vôùi caùc heä quaûn trò cô sôû döõ lieäu baèng ñoái töôïng ADO phaûi duøng chuoãi chuoåi keát noái ( SQLConn ) thoâng qua trình ñieàu khieån Provider:
SQLConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source= Persist Security Info=False "
Ñoái töôïng Connection:
Duøng ñeå keát noái caùc heä quaûn trò cô sôû döõ lieäu, thöïc thi caâc leänh SQL(insert, update, delete) thoâng qua phöông thöùc Execute
Coù theå taïo ñoái töôïng connection thoâng qua nhieàu caùch:
Dim Conn as new ADODB.Connection
Thöïc thi caâu leänh SQL
.Execute
Ví duï: Vôùi caâu leän SQL:
Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')"
Conn.Execute Str
Ñoái töôïng Recordset :
Duøng ñeå thöïc thi laáy maãu tin töø cô sôû döõ lieäu thoâng qua caâu leänh SQL Select .
Coù theå taïo ñoái töôïng Recordset baèng caùch:
Dim Rst as new ADODB. Recordset
Caâu leänh SQL:
strSQL = " select TenkhachHang From KhachHang "
Thöïc thi caâu leänh SQL
.open ,
ví duï: Rst.Open strSQL ,Conn
MOÂ TAÛ CAÙC PHIEÁU:
Phieáu nhaäp nguyeân lieäu:
Nguyeân lieäu ñöôïc Khaùch Haøng cung caáp sau khi Coâng ty vaø khaùch haøng thoaû thuaän vieäc gia coâng saûn phaåm maø khaùch haøng yeâu caàu.
Soá HÑ :
Khaùch Haøng :
Ñòa Chæ :
Ñieän Thoaïi :
Ngaøy Nhaäp :
Nguyeân lieäu
Soá löôïng
ÑVT
Ñôn ñaët haøng:
Soá ÑÑH :
Khaùch Haøng :
Ñòa Chæ :
Ñieän Thoaïi :
Ngaøy kí keát :
Haïn giao :
Saûn phaåm
ÑVT
Soá löôïng
Ñôn giaù
Phieáu giao nhaän:
Soá Phieáu :
Soá ÑÑH :
Khaùch Haøng :
Ñòa Chæ :
Ñieän Thoaïi :
Ngaøy Giao :
Saûn phaåm
Soá löôïng
Ñôn giaù
Phieáu thanh toaùn:
Soá TT :
Ngaøy TT :
Khaùch Haøng :
Ñòa Chæ :
Ñieän Thoaïi :
Tieàn TT :
Toàn nguyeân lieäu:
Ngaøy toàn :
Khaùch Haøng :
Ñòa Chæ :
Ñieän Thoaïi :
Nguyeân lieäu
Soá löôïng toàn
ÑVT
Coâng nôï:
Ngaøy CN :
Khaùch Haøng :
Ñòa Chæ :
Ñieän Thoaïi :
Tieàn CN :
Thoáng keâ doanh soá theo Saûn phaåm cuûa töøng ÑÑH:
Thaùng…….naêm 2004
Saûn phaåm
Soá löôïng
Doanh soá (tieàn thu)
PHAÂN TÍCH:
PHAÂN TÍCH THAØNH PHAÀN DÖÕ LIEÄU CUÛA ÖÙNG DUÏNG:
Sô ñoà quan nieäm döõ lieäu:
Hình 1: Sô ñoà Quan nieäm döõ lieäu cuûa öùng duïng ÑÔN HAØNG GIA COÂNG
Moâ taû döõ lieäu:
a) Caùc loaïi thöïc theå:
KhachHang
Khaùch haøng
DonDatHang
Ñôn ñaët haøng
ChiTietDonDatHang
Chi tieát ñôn ñaët haøng
SanPham
Saûn phaåm
DinhMucSanXuat
Ñònh möùc saûn xuaát
CongNo
Coâng nôï
GiaoNhan
Giao nhaän
ChiTietGiaoNhan
Chi tieát giao nhaän
NguyenLieu
Nguyeân lieäu
ThanhToan
Thanh toaùn
Ton
Toàn
NhapXuatNguyenLieu
Nhaäp xuaát nguyeân lieäu
ChiTietNguyenLieu
Chi tieát nguyeân lieäu
Moâ taû caùc loaïi thöïc theå:
b1) Thöïc theå Khaùch haøng:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
MaKhachHang
Maõ khaùch haøng
Text
Khoaù chính
TenKhachHang
Teân khaùch haøng
Text
DiaChi
Ñòa chæ
Text
DienThoai
Ñieän thoaïi
Text
b2) Thöïc theå ñôn ñaët haøng:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoDonDatHang
Soá ñôn ñaët haøng
Text
Khoaù chính
MaKhachHang
Maõ khaùch haøng
Text
Khoaù ngoaïi
NgayKiKet
Ngaøy kí keát
Date
DienThoai
Ñieän thoaïi
String
b3) Thöïc theå Chi tieát ñôn ñaët haøng:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoDonDatHang
Soá ñôn ñaët haøng
Text
Khoaù chính
SanPham
Saûn phaåm
Text
Khoaù ngoaïi
SoLuongDatHang
SL ñaët haøng
Number
DonGia
Ñôn giaù
Number
HanGia
Haïn giao
Date()
b4) Thöïc theå Saûn phaåm:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SanPham
Saûn phaåm
Text
Khoaù chính
TenSanPham
Teân saûn phaåm
Text
DonViTinh
Ñôn vò tính
Number
DonGia
Ñôn giaù
Number
b5) Thöïc theå Ñònh möùc saûn xuaát:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
NguyenLieu
Nguyeân lieäu
Text
Khoaù ngoaïi
SanPham
Saûn phaåm
Text
Khoaù ngoaïi
SoLuongSanXuat
Soá löôïng saûn xuaát
Number
b6) Thöïc theå coâng nôï:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
NgayCongNo
Ngaøy coâng nôï
Date()
Khoaù chính
MaKhachHang
Maõ khaùch haøng
Text
Khoaù ngoaïi
TienCongNo
Tieàn coâng nôï
Number
b7) Thöïc theå Giao Nhaän:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoPhieu
Soá phieáuï
Text
Khoaù chính
SoDonDatHang
Soá ñôn ñaët haøng
Text
Khoaù ngoaïi
NgayGiao
Ngaøy giao
Number
b8) Thöïc theå Chi tieát giao nhaän:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoPhieu
Soá phieáu
Text
Khoaù ngoaïi
SanPham
Saûn phaåm
Text
Khoaù ngoaïi
SoLuong
Soá löôïng
Number
DonGia
Ñôn giaù
Number
b9) Thöïc theå Nguyeân Lieäu:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
NguyenLieu
Nguyeân lieäu
Text
Khoaù chính
Ten NguyenLieu
Teân nguyeân lieäu
Text
DonViTinh
Ñôn vò tính
Number
b10) Thöïc theå Thanh Toaùn:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoThanhToan
Soá thanh toaùn
Text
Khoaù chính
NgayThanhToan
Ngaøy thanh toaùn
Date()
Khoaù ngoaïi
MaKhachHang
Maõ khaùch Haøng
Text
TienThanhToan
Tieàn thanh toaùn
Number
b11) Tthöïc theå Toàn:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
MaKhachHang
Maõ khaùch haøng
Text
Khoaù ngoaïi
NguyenLieu
Nguyeân lieäu
Text
Khoaù ngoaïi
SoLuongTon
Soá löôïng toàn
Number
NgayTon
Ngaøy toàn
Date()
b12) Thöïc theå Nhaäp xuaát nguyeân lieäu:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoHoaDonNhap
Soá hoaù ñôn nhaäp
Text
Khoaù chính
MaKhachHang
Maõ khaùch haøng
Text
Khoaù ngoaïi
NgayNhap
Ngaøy nhaäp
Date()
b13) Thöïc theå Chi tieát nguyeân lieäu:
Thuoäc tính
Dieãn giaûi
Kieåu
Raøng buoäc
SoHoaDonNhap
Soá hoaù ñôn nhaäp
Text
Khoaù ngoaïi
NguyenLieu
Nguyeân lieäu
Text
Khoaù ngoaïi
SoLuong
Soá löôïng
Date()
c) Raøng buoäc toaøn veïn:
KHOAÙ 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
RAØNG BUOÄC MIEÀN GAÙ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)
RAØNG BUOÄC GIÖÕA CAÙC THUOÄC TÍNH TRONG THÖÏC THEÅ:
R3-0: CNOCK = CNODK + TIENNO - TIENTHU
R3-0: SLTonCK = SLTonDK + NHAP - XUAT
R3-0: Tieàn ñaët haøng = CTDDH.SLDH * CTDDH.DG
R3-0: Tieàn giao nhaän = CTGN.SL * CTGN.DG
R3-0: Soá tieàn nôï ñaàu kì ( CNODK ) cuûa thaùng naøy phaûi baèng soá tieàn nôï cuoái kì ( CNOCK ) cuûa thaùng tröôùc.
R3-0: Soá löôïng toàn ñaàu kì ( SLTonDK ) cuûa tah1ng naøy phaûi baèng soá löïông toàn cuoái kì ( SLTonCK ) cuûa thaùng tröôùc.
PHAÂN TÍCH THAØNH PHAÀN XÖÛ LYÙ CUÛA ÖÙNG DUÏNG:
XL1: Caäp nhaät Nguyeân lieäu.
XL2: Caäp nhaät phieáu Nhaäp nguyeân lieäu.
XL3: Caäp nhaät ñôn ñaët haøng.
XL4: Caäp nhaät Phieáu giao nhaän.
XL5: Caäp nhaät Phieáu thanh toaùn
XL6: Tính Coâng nôï Khaùch haøng.
XL7: Tính Toàn Nguyeân lieäu.
MOÂ TAÛ CAÙC XÖÛ LYÙ:
_ Teân xöû lyù : XL1:
Chöùc naêng : caäp nhaät nguyeân lieäu.
Input : MaNL, NL.
Output : NL.
Qui taéc : NL n ñöôïc theâm,söõa xoaù vaøo NL
_Teân xöû lyù : XL2:
Chöùc naêng : Caäp nhaät phieáu nhaäp nguyeân lieäu.
Input : SoHDN h, NL n, NXNL, CTNL, NL, KH.
Output : NXNL.
Qui taéc : Soá löôïng nhaäp trong thaùng t cuûa NL n baèng toång soá löôïng cuûa CTNL trong thaùng t coù lieân quan ñeán NL n.
_Teân xöû lyù : XL3:
Chöùc naêng : Caäp nhaät Ñôn ñaët haøng .
Input : SDDH, MSP, DDH, CTDDH, KH, SP
Output : DDH.
Qui taéc : Soá löôïng Saûn phaåm Khaùch haøng ñaët trong thaùng t baèng toång soá saûn phaåm cuûa CTDDH trong thaùng t coù lieân quan ñeán saûn phaåm ñoù.
_Teân xöû lyù : XL4:
Chöùc naêng : Caäp nhaät phieáu Giao nhaän.
Input : SoP p, SoDDH h, GN, CTGN, DDH, CTDDH.
Output : GN.
Qui taéc : Soá löôïng giao nhaän saûn phaåm trong thaùng t baèng toång soá löôïng giao nhaän cuûa CTGN trong thaùng t lieân quan ñeán Saûn phaåm ñoù.
_Teân xöû lyù : XL5
Chöùc naêng : Caäp nhaät phieáu thanh toaùn.
Input : SoTT, MKH, TTOAN, KH
Output : TTOAN.
Qui taéc : Soá tieàn thanh toaùn trong thaùng t baèng toång tieàn thanh toaùn cuûa TTOAN trong thaùng t coù lieân quan ñeán KH k.
_Teân xöû lyù : XL6:
Chöùc naêng : Tính nôï Khaùch haøng.
Input : NgCN, MKH, CNO.
Output : CNO.
Qui taéc : NOCK = NODK + SONO - THANHTOAN
_Teân xöû lyù : XL7 :
Chöùc naêng : Tính toàn Nguyeân lieäu :
Input : NgTON, LN, TON.
Output : TON.
Qui taéc : TONCK = TONDK + NHAP - XUAT
THIEÁT KEÁ DÖÕ LIEÄU :
Sô ñoà Logic döõ lieäu:
Hình 2: Sô ñoà Logic döõ lieäu cuûa öùng duïng ÑÔN HAØNG GIA COÂNG
Töø ñieån döõ lieäu:
MaKhachHang
Maõ khaùch haøng
TenKhachHang
Ten khaùch haøng
DiaChi
Ñòa chæ
DienThoai
Ñieän thoaïi
SoDonDatHang
Soá ñôn ñaët haøng
NgayKiKet
Ngaøy kí keát
SanPham
Saûn phaåm
TenSanPham
Teân saûn phaåm
DonViTinh
Ñôn vò tính
DonGia
Ñôn giaù
SoPhieu
Soá phieáu
NgayGiao
Ngaøy giao
NgayCongNo
Ngaøy coâng nôï
TienCongNo
Tieàn coâng nôï
NguyenLieu
Nguyeân lieäu
TenNguyenLieu
Teân Nguyeân lieäu
SoThanhToan
Soá thanh toaùn
NgayThanhToan
Ngaøy thanh toaùn
TienThanhToan
Tieàn thanh toaùn
SoHoaDonNhap
Soá hoaù ñôn nhaäp
NgayNhap
Ngaøy nhaäp
SoLuongDatHang
Soá löôïng ñaët haøng
DonGia
Ñôn giaù
HanGiao
Haïn giao
SoLuong
Soá löôïng
SoLuongSanXuat
Soá löôïng saûn xuaát
SoLuongTon
Soá löôïng toàn
NgayTon
Ngaøy toàn
Moâ taû caùc baûng:
3.1) Khaùch haøng
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
MaKhachHang
Text
Chính
TenKhachHang
Text
DiaChi
Text
DienThoai
Text
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
KHACHHANG_PK
MakhachHang
ASC
3.2) Coâng nôï:
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
NgayCongNo
Text
Chính
MaKhachHang
Text
Ngoaïi
TienCongNo
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
CONGNO_PK
NgayCongNo
MaKhachHang
ASC
CONGNO_FK
MaKhachHang
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
MaKhachHang
KhachHang
MaKhachHang
3.3) Ñôn ñaët haøng
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoDonDatHang
Text
Chính
MaKhachHang
Text
Ngoaïi
NgayKiKet
Date()
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
DONDATHANG_PK
SoDonDatHang
MaKhachHang
ASC
DONDATHANG_FK
MaKhachHang
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
MaKhachHang
KhachHang
MaKhachHang
3.4) Chi tieát Ñôn ñaët haøng
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoDonDatHang
Text
Ngoaïi
SanPham
Text
Ngoaïi
SoLuongDatHang
Number
DonGia
Number
HanGiao
Date()
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
CTDONDATHANG_PK
SoDonDatHang
SanPham
ASC
CTDONDATHANG_FK
SanPham
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
SoDonDatHang
DonDatHang
SoDonDatHang
SanPham
SanPham
SanPham
Toàn :
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
MaKhachHang
Text
Ngoaïi
NguyenLieu
Text
Ngoaïi
SoLuongTon
Number
NgayTon
Date()
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
TON_PK
MaKhachHang
NguyenLieu
ASC
TON_FK
NguyenLieu
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
MaKhachHang
KhachHang
MaKhachHang
NguyenLieu
NguyenLieu
NguyenLieu
Saûn phaåm :
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SanPham
Text
Chính
TenSanPham
Text
DonViTinh
Number
DonGia
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
SANPHAM_PK
SanPham
ASC
Ñònh möùc saûn xuaát :
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
NguyenLieu
Text
Ngoaïi
SanPham
Text
Ngoaïi
SoLuongSanXuat
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
DMSX_PK
NguyenLieu
SanPham
ASC
DMSX _FK
SanPham
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
NguyenLieu
NguyenLieu
NguyenLieu
SanPham
SanPham
SanPham
Giao Nhaän:
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoPhieu
Text
Chính
SoDonDatHang
Text
Ngoaïi
NgayGiao
Date()
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
GIAONHAN_PK
SoPhieu
SoDonDatHang
ASC
GIAONHAN_FK
SoDonDatHang
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
SoDonDatHang
DonDatHang
SoDonDatHang
Chi tieát Giao Nhaän:
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoPhieu
Text
Ngoaïi
SanPham
Text
Ngoaïi
SoLuong
Number
DonGia
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
CTGN_PK
SoPhieu
SanPham
ASC
CTGN_FK
SanPham
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
SoPhieu
GiaoNhan
SoPhieu
SanPham
SanPham
SanPham
Nguyeân lieäu:
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
NguyenLieu
Text
Chính
TenNguyenLieu
Text
DonViTinh
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
NGUYENLIEU_PK
NguyenLieu
ASC
Thanh toaùn:
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoThanhToan
Text
Chính
NgayThanhToan
Date()
MaKhachHang
Text
Ngoaïi
TienThanhToan
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
THANHTOAN_PK
SoThanhToan
MaKhachHang
ASC
THANHTOAN_FK
MaKhachHang
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
MaKhachHang
KhachHang
MaKhachHang
Nhaäp xuaát nguyeân lieäu :
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoHoaDonNhap
Text
Chính
MaKhachHang
Text
Ngoaïi
NgayNhap
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
NXNL_PK
SoHoaDonNhap
MaKhachHang
ASC
NXNL_FK
MaKhachHang
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
MaKhachHang
KhachHang
MaKhachHang
Chi tieát nguyeân lieäu :
Thuoäc tính:
Thuoäc tính
Kieåu
Khoùa
SoHoaDonNhap
Text
Ngoaïi
NguyenLieu
Text
Ngoaïi
SoLuong
Number
Chæ muïc:
Chæ muïc
Thuoäc tính
Thöù töï
CTGN_PK
SoPhieu
SanPham
ASC
CTGN_FK
SanPham
ASC
Khoaù ngoaïi:
Khoaù ngoaïi
Baûng tham chieáu
Khoaù noäi
SoHoaDonNhap
NXNguyenLieu
SoPhieu
NguyenLieu
NguyenLieu
SanPham
MOÂ TAÛ CAÙC RAØNG BUOÄC TOAØN VEÏN :
4.1) KHOÙ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) RAØNG BUOÄC VEÀ MIEÀN GIAÙ 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) KHOÙA NGOAÏ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]
THIEÁT KEÁ ÖÙNG DUÏNG (Caùc maøn hình):
Maøn hình chính:
H1ình 3: Maøn hình chính cuûa öùng duïng.
Danh Muïc:
Menu Ñaët haøng Khaùch haøng ñaët ñôn haøng môùi.
Menu Giao nhaän Giao haøng cho Khaùch haøng.
Menu Nhaäp xuaát Nguyeân lieäu Nhaäp nguyeân lieäu töø khaùch haøng.
Maøn hình Ñaët haøng:
Hình 4: Maøn hình Ñôn ñaët haøng môùi .
Source code laáy Maõ KH leâ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 laáy döõ lieäu leâ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 ' KHOÂNG DUØNG BIEÁ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
: Nuùt Môùi ñeå theâm Ñôn ñaët haøng môùi, khi nhaán nuùt Môùi thì soá DDH seõ töï taêng, ta coù theå choïn Khaùch haøng cuõ ôû textbox MaKhachHang hoaëc ñieàn thoâng tin môùi neáu laø Khaùch haøng môùi.
Source code khi nhaán nuùt môùi soá DDH seõ töï taê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 nhaán nuùt löu thì seõ goïi maøn hình Ñaët haøng môùi ñeå nhaäp theâm thoâng tin cuûa saûn phaåm môùi:
: Löu döõ lieäu môùi xuoáng cô sôû döõ lieäu.
Source code Löu döõ lieä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
: Thoaùt cöûa soå ñôn ñaët haøng.
Maøn hình Giao Nhaän:
Hình 5: Maøn hình giao nhaän saûn phaåm cho khaùch haøng.
Source code laáy döõ lieäu leân cbo soá phieá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 laáy döõ lieäu leân cbo soá ÑÑ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 laáy döõ lieäu leâ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 ' KHOÂNG DUØNG BIEÁ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 nhaán nuùt Môùi thì cboSP, cboDDh, txtNgay nhaän focus, döõ lieäu cuûa coät SL vaø DG seõ ñöôïc nhaäp môùi .
: Löu döõ lieäu môùi xuoáng cô sôû döõ lieäu.
Source code Löu Döõ lieä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
: thoaùt cöûa soå Giao nhaän.
Maøn hình Nhaäp xuaát Nguyeân lieäu:
Hình 6: Maøn hình nhaäp xuaát nguyeân lieäu.
Source code laáy döõ lieäu leâ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 laáy döõ lieäu leâ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 nhaán nuùt Môùi ñeå nhaäp Nguyeân lieäu môùi thì caùc textbox vaø combobox nhaän focus.
: Löu döõ lieäu môùi xuoáng cô sôû döõ lieäu.
: Thoaùt maøn hình Nhaäp xuaát nguyeân lieäu.
Tra cöùu :
Menu Khaùch haøng: Hieån thò Khaùch haøng vaø nhaäp Khaùch haøng môùi.
Menu Nguyeân lieäu: Hieån thò danh saùch nguyeân kieäu vaø Nhaäp nguyeân lieäu môùi.
Menu Saûn phaåm: Hieån thò danh saùch saûn phaåm vaø nhaäp saûn phaåm môùi
Menu Ñònh möùc saûn xuaát: Hieån thò danh saùch ñònh möùc saûn xuaát vaø nhaäp ñònh möùc saûn xuaát cho saûn phaåm môùi.
Maøn hình Khaùch haøng :
Hình 7: Maøn hình tra cöùu, nhaäp môùi khaùch haøng.
Source code laáy Maõ KH leâ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 laáy döõ lieäu leâ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 nhaán nuùt môùi thì caùc textbox vaø combobox nhaän focus ñeå nhaäp thoâng tin khaùch haøng môùi.
: Löu döõ lieäu môùi xuoáng Cô sôû döõ lieä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
: Thoaùt maøn hình Khaùch haøng.
Maøn hình Nguyeân Lieäu :
Hình 8: Maøn hình tra cöùu, nhaäp nguyeân lieäu.
Source code laáy döõ lieäu leâ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 nhaán nuùt môùi thì caùc textbox nhaän focus nhaäp thoâng tin nguyeân lieäu môùi.
: Löu döõ lieäu môùi xuoáng Cô sôû döõ lieäu.
: Thoaùt maøn hình Nguyeân lieäu.
Maøn hình Saûn phaåm :
Hình 9: Maøn hình tra cöùu, nhaäp saûn phaåm.
Source code laáy döõ lieäu leâ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 nhaán nuùt môùi thì caùc textbox nhaän focus nhaäp thoâng tin saûn phaåm môùi.
: Löu döõ lieäu môùi xuoáng Cô sôû döõ lieä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
: Thoaùt maøn hình saûn phaåm.
Maøn hình Ñònh möùc saûn xuaát :
Source code laáy döõ lieäu leâ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 nhaán nuùt môùi thì caùc textbox nhaän focus nhaäp thoâng tin môùi.
: Löu döõ lieäu môùi xuoáng Cô sôû döõ lieäu.
: Thoaùt maøn hình ñònh möùc saûn xuaát.
Tính toaùn:
Menu Coâng nôï: Baùo caùo coâng nôï.
Menu Toàn : Baùo caùo toàn nguyeân lieäu.
Menu Thanh Toaùn: Hieån thò tieàn thanh toaùn cuûa khaùch haøng vôùi coâng ty.
Maøn hình coâng nôï:
: Khi nhaán nuùt môùi thì caùc textbox nhaän focus nhaäp thoâng tin phieáu Coâng nôï môùi.
: Löu döõ lieäu môùi xuoáng Cô sôû döõ lieäu.
: Thoaùt maøn hình Toàn Nguyeân Lieäu.
Code xöû lyù tính coâ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);
Maøn hình Toàn Nguyeân Lieäu:
: Khi nhaán nuùt môùi thì caùc textbox nhaän focus nhaäp thoâng tin saûn phaåm môùi.
: Löu döõ lieäu môùi xuoáng Cô sôû döõ lieäu.
: Thoaùt maøn hình Toàn Nguyeân Lieäu.
Code xöû lyù tính toà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: (xoaù nhöõng thaønh phaàn coù soá toàn < 0)
Delete * From TAM where SoTon < 0;
Q6: (Tính, löu laï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: (Xoaù Table TAM):
Drop Table TAM;
Maøn Hình Thanh toaùn:
Code xöû lyù cho nuù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
Baùo Bieåu:
Menu Ñôn ñaët haøng: Baùo caùo danh saùch ñaët haøng cuûa khaùch haøng.
Menu Nhaäp xuaát NL: Baùo caùo nhaäp nguyeân lieäu.
Menu Giao nhaän: Baùo caùo giao nhaän saûn phaåm.
Menu coäng nôï: Baùo caùo coâng nôï.
Menu Toàn: Baùo caùo toàn nguyeân lieäu.
Menu thanh toaùn: Baùo caùo thanh toaùn cuûa khaùch haøng.
Maøn Hình baùo bieåu Ñôn ñaët Haøng :
Maøn Hình baùo bieåu Nhaäp xuaát Nguyeân lieäu :
Maøn Hình baùo bieåu Giao nhaän :
Maøn Hình baùo bieåu Coâng nôï Khaùch haøng:
Maøn Hình baùo bieåu Toàn:
Maøn hình baùo bieåu Thanh toaùn :